Details

Multi-Platform Graphics Programming with Kivy


Multi-Platform Graphics Programming with Kivy

Basic Analytical Programming for 2D, 3D, and Stereoscopic Design

von: Moisés Cywiak, David Cywiak

56,99 €

Verlag: Apress
Format: PDF
Veröffentl.: 15.06.2021
ISBN/EAN: 9781484271131
Sprache: englisch

Dieses eBook enthält ein Wasserzeichen.

Beschreibungen

<p>Modern science requires computer graphics models to provide realistic visual renderings. Learning the appropriate programming tools for 2D and 3D modeling doesn’t have to be so difficult. This book reviews the best programming tools to achieve this and explains how to apply them to mobile platforms like Android.&nbsp;</p>

<p><i>Multi-Platform Graphics Programming with Kivy</i>&nbsp;provides a straightforward introductory approach for designing 2D, 3D, and stereoscopic applications, using analytical equations from vector algebra. Throughout the book you’ll look closely at this approach and develop scenes in Kivy, taking advantage of powerful mathematical functions for arrays by NumPy for Python.&nbsp;</p>

<p>Unbuntu is used to develop the programs, which allows you to easily convert to Android platform. Each chapter contains step-by-step descriptions on each subject and provides complete program listings.</p><div><b><br></b></div><div><b>What You’ll Learn</b></div><div><ul><li>Work with Kivy, a modern, powerful multi-platform graphics system</li><li>Convert and run programs on Android devices</li><li>Program, fill faces, and rotate 2D and 3D polygons</li><li>Apply the concepts of 2D and 3D applications</li><li>Develop stereoscopic scenes</li><li>Review a straightforward introduction to 2D, 3D, and stereoscopic graphics applications</li><li>Use simple analytical equations from vector algebra</li></ul></div><div><b>Who This Book Is For</b><br></div><div><b><br></b></div><div>The primary audience is students and researchers in graphics programming with experience in analytical equations.</div>
Chapter 1: Preliminaries. Software installation<div>1.1. installing pip3 and IDLE</div><div>1.2. Installing kivy</div><div>1.3. Installing buildozer</div><div><br></div><div>Chapter 2: Polygon rotation in two dimensions</div><div>2.1. Rotation equations</div><div>2.2. Mapping equations to the screen</div><div><br></div><div>Chapter 3: Two dimensional polygon programming</div><div>3.1. Polygon structure</div><div>3.2. Drawing the edges of the polygon</div><div>3.3. Filling the polygon with lines</div><div>3.4. Rotating the polygon</div>3.5. The kivy platform<div>3.6. main.py listing</div><div>3.7. File.kv lisitng</div><div>3.8. Using buildozer</div><div><br></div><div>Chapter 4: Three-dimensional projections and rotations</div><div>4.1. Projection of a three-dimensional point into a plane</div><div>4.2. Rotation of a point in a plane</div><div><br></div><div>Chapter 5: Programming three-dimensional polygons</div><div>5.1. Polygon structure</div><div>5.2. Basic functions</div><div>5.3. main.py listing</div><div>5.4. File.kv</div><div><br></div>Chapter 6:&nbsp; Stereoscopic 3D Programming<div>6.1. Basics of a stereoscopic view</div><div>6.2. Programming and ORing the images</div><div>6.3. Projections</div><div>6.4. Polygon structure</div><div>6.5. DrawAxes function</div><div>6.6. Points of projection</div><div>6.7. main.py listing</div><div>6.8. File.kv</div><div><br></div><div>Chapter 7:&nbsp; 3D plots programming</div><div>7.1. Program basic operations</div><div>7.2. Function overview</div><div>7.3. Generating the axes, the mesh and the function</div><div>7.4. Plotting the function in the screen</div><div>7.5. Rotating the plot</div><div>7.6. main.py listing</div><div>7.7. File.kv listing</div><div><br></div><div>Chapter 8: Stereoscopic 3D plots</div><div>8.1. Creating the function, coordinates and mesh</div><div>8.2. Creating two images for stereoscopic effects</div>8.3. Drawing the plot<div>8.4. main.py listing</div><div>8.5. File.kv listing</div><div>8.6. Surfaces with saddle points</div><div><br></div><div>Chapter 9: 3D parametric plots</div><div>9.1. Parametric equations</div><div>9.2. Plotting</div><div>9.3. main.py</div><div>9.4. File.kv</div><div><br></div><div>Chapter 10: Stereoscopic 3D parametric plots</div><div>10.1. Generating the function</div><div>10.2. Creating PIL images for the stereoscopic effect</div><div>10.3. Plotting the function</div><div>10.4. main.py</div><div>10.5. File.kv</div><div><br></div><div>Chapter 11: Sympy</div><div>11.1. Analytical expressions and symbols</div><div>11.2. Declaring functions with analytical expressions</div><div>11.3. Solving equations</div><div>11.4. Solving simultaneous equations</div><div>11.5. Differentiation</div><div>11.6. Integration</div><div><br></div><div>Chapter 12: Plotting functions in spherical coordinates</div><div>12.1. Spherical coordinates</div><div>12.2. Spherical differential equation example</div><div>12.3. The associated Legendre polynomials</div>12.4. Plotting 3D spherical coordinates<div>12.5. main.py listing</div><div>12.6. File.kv listing</div><div>12.7. Incorporating sympy into the Android project</div><div><br></div><div>Chapter 13. Stereoscopic plots of spherical functions</div><div>13.1. Creating the stereoscopic scenes</div>13.2. main.py listing<div>13.3. File.kv listing</div><div><br></div><div>Chapter 14. Stereoscopic simple numerical method for the gravitational N-body problem</div><div>14.1. The gravitational N-body problem</div><div>14.2. Motion equations</div><div>14.3. Numerical approach of the dynamic equations</div>14.4. Capturing numerical data<div>14.5. Five planets example</div><div>14.6. main.py listing</div><div>14.7. File.kv</div><div><br></div><div>Chapter 15. Stereoscopic cylindrical coordinates plotting. Aberrations of optical lenses</div><div>15.1. Ideal lens focusing. The Fresnel diffraction integral</div>15.2. Departure from the ideal lens<div>15.3. The wave aberration function in cylindrical coordinates</div><div>15.4. Stereoscopic plot of the wave aberration terms in cylindrical coordinates</div><div>15.5. main.py listing</div><div>15.6. File.kv listing</div><div><br></div><div>Chapter 16. Stereoscopic plotting of three-dimensional conics</div><div>16.1. Analytical approach</div><div>16.2. Stereoscopic ellipsoid plotting</div><div>16.3. main.py (Ellipsoid)</div><div>16.4. File.kv</div><div>16.5. HyperboloidChapter 1: Preliminaries. Software installation</div><div>1.1. installing pip3 and IDLE</div><div>1.2. Installing kivy</div><div>1.3. Installing buildozer</div><div><br></div><div>Chapter 2: Polygon rotation in two dimensions</div><div>2.1. Rotation equations</div><div>2.2. Mapping equations to the screen</div><div><br></div><div>Chapter 3: Two dimensional polygon programming</div><div>3.1. Polygon structure</div><div>3.2. Drawing the edges of the polygon</div><div>3.3. Filling the polygon with lines</div><div>3.4. Rotating the polygon</div><div>3.5. The kivy platform</div><div>3.6. main.py listing</div><div>3.7. File.kv lisitng</div><div>3.8. Using buildozer</div><div><br></div><div>Chapter 4: Three-dimensional projections and rotations</div><div>4.1. Projection of a three-dimensional point into a plane</div><div>4.2. Rotation of a point in a plane</div><div><br></div><div>Chapter 5: Programming three-dimensional polygons</div><div>5.1. Polygon structure</div><div>5.2. Basic functions</div><div>5.3. main.py listing</div><div>5.4. File.kv</div><div><br></div><div>Chapter 6:&nbsp; Stereoscopic 3D Programming</div><div>6.1. Basics of a stereoscopic view</div><div>6.2. Programming and ORing the images</div><div>6.3. Projections</div><div>6.4. Polygon structure</div><div>6.5. DrawAxes function</div><div>6.6. Points of projection</div><div>6.7. main.py listing</div><div>6.8. File.kv</div><div><br></div><div>Chapter 7:&nbsp; 3D plots programming</div><div>7.1. Program basic operations</div><div>7.2. Function overview</div><div>7.3. Generating the axes, the mesh and the function</div><div>7.4. Plotting the function in the screen</div><div>7.5. Rotating the plot</div><div>7.6. main.py listing</div><div>7.7. File.kv listing</div><div><br></div><div>Chapter 8: Stereoscopic 3D plots</div><div>8.1. Creating the function, coordinates and mesh</div><div>8.2. Creating two images for stereoscopic effects</div><div>8.3. Drawing the plot</div><div>8.4. main.py listing</div><div>8.5. File.kv listing</div><div>8.6. Surfaces with saddle points</div><div><br></div><div>Chapter 9: 3D parametric plots</div><div>9.1. Parametric equations</div><div>9.2. Plotting</div><div>9.3. main.py</div><div>9.4. File.kv</div><div><br></div><div>Chapter 10: Stereoscopic 3D parametric plots</div><div>10.1. Generating the function</div><div>10.2. Creating PIL images for the stereoscopic effect</div><div>10.3. Plotting the function</div><div>10.4. main.py</div><div>10.5. File.kv</div><div><br></div><div>Chapter 11: Sympy</div><div>11.1. Analytical expressions and symbols</div><div>11.2. Declaring functions with analytical expressions</div><div>11.3. Solving equations</div><div>11.4. Solving simultaneous equations</div><div>11.5. Differentiation</div><div>11.6. Integration</div><div><br></div><div>Chapter 12: Plotting functions in spherical coordinates</div><div>12.1. Spherical coordinates</div><div>12.2. Spherical differential equation example</div><div>12.3. The associated Legendre polynomials</div><div>12.4. Plotting 3D spherical coordinates</div><div>12.5. main.py listing</div><div>12.6. File.kv listing</div><div>12.7. Incorporating sympy into the Android project</div><div><br></div><div>Chapter 13. Stereoscopic plots of spherical functions</div><div>13.1. Creating the stereoscopic scenes</div><div>13.2. main.py listing</div><div>13.3. File.kv listing</div><div><br></div><div>Chapter 14. Stereoscopic simple numerical method for the gravitational N-body problem</div><div>14.1. The gravitational N-body problem</div><div>14.2. Motion equations</div><div>14.3. Numerical approach of the dynamic equations</div><div>14.4. Capturing numerical data</div><div>14.5. Five planets example</div><div>14.6. main.py listing</div><div>14.7. File.kv</div><div><br></div><div>Chapter 15. Stereoscopic cylindrical coordinates plotting. Aberrations of optical lenses</div><div>15.1. Ideal lens focusing. The Fresnel diffraction integral</div><div>15.2. Departure from the ideal lens</div><div>15.3. The wave aberration function in cylindrical coordinates</div><div>15.4. Stereoscopic plot of the wave aberration terms in cylindrical coordinates</div><div>15.5. main.py listing</div><div>15.6. File.kv listing</div><div><br></div><div>Chapter 16. Stereoscopic plotting of three-dimensional conics</div><div>16.1. Analytical approach</div><div>16.2. Stereoscopic ellipsoid plotting</div><div>16.3. main.py (Ellipsoid)</div><div>16.4. File.kv</div><div>16.5. Hyperboloid</div><div>16.6. main.py (Hyperboloid)</div><div><br></div><div>Chapter 17. Two-dimensional Fourier transform</div><div>17.1. One-dimensional Fourier transform</div><div>17.2. Rectangular and sinc functions</div><div>17.3. Code for calculating the discrete one-dimensional Fourier transform</div><div>17.4. Two-dimensional Fourier transform</div><div>17.5. Discrete two-dimensional Fourier transform</div><div>17.6. main.py lisitng</div><div>17.7. File.kv listing</div><div>17.8. The Fourier transform of the circular function</div><div>17.9. Analytical formulation for the Fourier transform of the circular function</div><div><br></div><div>Chapter 18. Stereoscopic two-dimensional Fourier transform</div><div>18.1. Piloting the functions</div><div>18.2. main.py listing</div><div>18.3. File.kv listing</div><div><br></div><div>16.6. main.py (Hyperboloid)</div><div><br></div><div>Chapter 17. Two-dimensional Fourier transform</div><div>17.1. One-dimensional Fourier transform</div>17.2. Rectangular and sinc functions<div>17.3. Code for calculating the discrete one-dimensional Fourier transform</div><div>17.4. Two-dimensional Fourier transform</div><div>17.5. Discrete two-dimensional Fourier transform</div><div>17.6. main.py lisitng</div><div>17.7. File.kv listing</div><div>17.8. The Fourier transform of the circular function</div><div>17.9. Analytical formulation for the Fourier transform of the circular function</div><div><br></div><div>Chapter 18. Stereoscopic two-dimensional Fourier transform</div><div>18.1. Piloting the functions</div><div>18.2. main.py listing</div><div>18.3. File.kv listing</div><div><br></div>
<div><p>Moisés Cywiak is a researcher in physical optical sciences with over 20 years of teaching experience in physics, mathematics, electronic engineering, and programming in C, C++, and python, in Centro de Investigaciones en Óptica A.C.</p></div><div>David Cywiak received his Ph.D. degree in physics in 2014 from Universidad de Guanajuato. From 2012 to 2013 he collaborated as a guest researcher at the Dalton Cardiovascular Research Center, University of Missouri-Columbia, in the development of an optical-photoacoustic system intended for the detection of photoacoustic signals generated by cancerous cells. Since 2014 he has been working as a metrologist in the Thermometry Department at Centro Nacional de Metrologia, México. His research includes photoacoustics, optical engineering and radiation thermometry. He has over 7 years of experience teaching physics, mathematics and programming in C for undergraduate students. He also has over 5 years of experience teaching Temperature measurement techniques and calibration of instruments in the thermometry area for industry professionals.&nbsp;&nbsp;<br></div>
Modern science requires computer graphics models to provide realistic visual renderings. Learning the appropriate programming tools for 2D and 3D modeling doesn’t have to be so difficult. This book reviews the best programming tools to achieve this and explains how to apply them to mobile platforms like Android.&nbsp;<p><i>Multi-Platform Graphics Programming with Kivy</i>&nbsp;provides a straightforward introductory approach for designing 2D, 3D, and stereoscopic applications, using analytical equations from vector algebra. Throughout the book you’ll look closely at this approach and develop scenes in Kivy, taking advantage of powerful mathematical functions for arrays by NumPy for Python.&nbsp;</p><p>Unbuntu is used to develop the programs, which allows you to easily convert to Android platform. Each chapter contains step-by-step descriptions on each subject and provides complete program listings.</p><div><br></div><div>You will:</div><div><ul><li>Work with Kivy, a modern, powerful multi-platform graphics system</li><li>Convert and run programs on Android devices</li><li>Program, fill faces, and rotate 2D and 3D polygons</li><li>Apply the concepts of 2D and 3D applications</li><li>Develop stereoscopic scenes</li><li>Review a straightforward introduction to 2D, 3D, and stereoscopic graphics applications</li><li>Use simple analytical equations from vector algebra</li></ul></div>
<p>Understand multi-platform graphics programming</p><p>Learn to design graphic applications with a mathematical approach</p><p>Get up to date on the latest advances in stereoscopic programming</p>

Diese Produkte könnten Sie auch interessieren:

Netzkulturen
Netzkulturen
von: Josef Bairlein, Christopher Balme, Wolf-Dieter Ernst
PDF ebook
23,20 €
SharePoint 2003 User's Guide
SharePoint 2003 User's Guide
von: Seth Bates, Tony Smith
PDF ebook
32,09 €
Foundation PHP for Dreamweaver 8
Foundation PHP for Dreamweaver 8
von: David Powers
PDF ebook
35,30 €