PERHAPS A GIFT VOUCHER FOR MUM?: MOTHER'S DAY

Close Notification

Your cart does not contain any items

Multi-Platform Graphics Programming with Kivy

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

Moisés Cywiak David Cywiak

$119.95   $107.63

Paperback

Not in-store but you can order this
How long will it take?

QTY:

English
APress
16 June 2021
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.

Multi-Platform Graphics Programming with Kivy 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.

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.

What You'll Learn

Work with Kivy, a modern, powerful multi-platform graphics system Convert and run programs on Android devices Program, fill faces, and rotate 2D and 3D polygons Apply the concepts of 2D and 3D applications Develop stereoscopic scenes Review a straightforward introduction to 2D, 3D, and stereoscopic graphics applications Use simple analytical equations from vector algebra

Who This Book Is For

The primary audience is students and researchers in graphics programming with experience in analytical equations.

By:   ,
Imprint:   APress
Country of Publication:   United States
Edition:   1st ed.
Dimensions:   Height: 235mm,  Width: 155mm, 
Weight:   587g
ISBN:   9781484271124
ISBN 10:   1484271122
Pages:   370
Publication Date:  
Audience:   Professional and scholarly ,  Undergraduate
Format:   Paperback
Publisher's Status:   Active
Chapter 1: Preliminaries. Software installation1.1. installing pip3 and IDLE1.2. Installing kivy1.3. Installing buildozer Chapter 2: Polygon rotation in two dimensions2.1. Rotation equations2.2. Mapping equations to the screen Chapter 3: Two dimensional polygon programming3.1. Polygon structure3.2. Drawing the edges of the polygon3.3. Filling the polygon with lines3.4. Rotating the polygon3.5. The kivy platform3.6. main.py listing3.7. File.kv lisitng3.8. Using buildozer Chapter 4: Three-dimensional projections and rotations4.1. Projection of a three-dimensional point into a plane4.2. Rotation of a point in a plane Chapter 5: Programming three-dimensional polygons5.1. Polygon structure5.2. Basic functions5.3. main.py listing5.4. File.kv Chapter 6: Stereoscopic 3D Programming6.1. Basics of a stereoscopic view6.2. Programming and ORing the images6.3. Projections6.4. Polygon structure6.5. DrawAxes function6.6. Points of projection6.7. main.py listing6.8. File.kv Chapter 7: 3D plots programming7.1. Program basic operations7.2. Function overview7.3. Generating the axes, the mesh and the function7.4. Plotting the function in the screen7.5. Rotating the plot7.6. main.py listing7.7. File.kv listing Chapter 8: Stereoscopic 3D plots8.1. Creating the function, coordinates and mesh8.2. Creating two images for stereoscopic effects8.3. Drawing the plot8.4. main.py listing8.5. File.kv listing8.6. Surfaces with saddle points Chapter 9: 3D parametric plots9.1. Parametric equations9.2. Plotting9.3. main.py9.4. File.kv Chapter 10: Stereoscopic 3D parametric plots10.1. Generating the function10.2. Creating PIL images for the stereoscopic effect10.3. Plotting the function10.4. main.py10.5. File.kv Chapter 11: Sympy11.1. Analytical expressions and symbols11.2. Declaring functions with analytical expressions11.3. Solving equations11.4. Solving simultaneous equations11.5. Differentiation11.6. Integration Chapter 12: Plotting functions in spherical coordinates12.1. Spherical coordinates12.2. Spherical differential equation example12.3. The associated Legendre polynomials12.4. Plotting 3D spherical coordinates12.5. main.py listing12.6. File.kv listing12.7. Incorporating sympy into the Android project Chapter 13. Stereoscopic plots of spherical functions13.1. Creating the stereoscopic scenes13.2. main.py listing13.3. File.kv listing Chapter 14. Stereoscopic simple numerical method for the gravitational N-body problem14.1. The gravitational N-body problem14.2. Motion equations14.3. Numerical approach of the dynamic equations14.4. Capturing numerical data14.5. Five planets example14.6. main.py listing14.7. File.kv Chapter 15. Stereoscopic cylindrical coordinates plotting. Aberrations of optical lenses15.1. Ideal lens focusing. The Fresnel diffraction integral15.2. Departure from the ideal lens15.3. The wave aberration function in cylindrical coordinates15.4. Stereoscopic plot of the wave aberration terms in cylindrical coordinates15.5. main.py listing15.6. File.kv listing Chapter 16. Stereoscopic plotting of three-dimensional conics16.1. Analytical approach16.2. Stereoscopic ellipsoid plotting16.3. main.py (Ellipsoid)16.4. File.kv16.5. HyperboloidChapter 1: Preliminaries. Software installation1.1. installing pip3 and IDLE1.2. Installing kivy1.3. Installing buildozer Chapter 2: Polygon rotation in two dimensions2.1. Rotation equations2.2. Mapping equations to the screen Chapter 3: Two dimensional polygon programming3.1. Polygon structure3.2. Drawing the edges of the polygon3.3. Filling the polygon with lines3.4. Rotating the polygon3.5. The kivy platform3.6. main.py listing3.7. File.kv lisitng3.8. Using buildozer Chapter 4: Three-dimensional projections and rotations4.1. Projection of a three-dimensional point into a plane4.2. Rotation of a point in a plane Chapter 5: Programming three-dimensional polygons5.1. Polygon structure5.2. Basic functions5.3. main.py listing5.4. File.kv Chapter 6: Stereoscopic 3D Programming6.1. Basics of a stereoscopic view6.2. Programming and ORing the images6.3. Projections6.4. Polygon structure6.5. DrawAxes function6.6. Points of projection6.7. main.py listing6.8. File.kv Chapter 7: 3D plots programming7.1. Program basic operations7.2. Function overview7.3. Generating the axes, the mesh and the function7.4. Plotting the function in the screen7.5. Rotating the plot7.6. main.py listing7.7. File.kv listing Chapter 8: Stereoscopic 3D plots8.1. Creating the function, coordinates and mesh8.2. Creating two images for stereoscopic effects8.3. Drawing the plot8.4. main.py listing8.5. File.kv listing8.6. Surfaces with saddle points Chapter 9: 3D parametric plots9.1. Parametric equations9.2. Plotting9.3. main.py9.4. File.kv Chapter 10: Stereoscopic 3D parametric plots10.1. Generating the function10.2. Creating PIL images for the stereoscopic effect10.3. Plotting the function10.4. main.py10.5. File.kv Chapter 11: Sympy11.1. Analytical expressions and symbols11.2. Declaring functions with analytical expressions11.3. Solving equations11.4. Solving simultaneous equations11.5. Differentiation11.6. Integration Chapter 12: Plotting functions in spherical coordinates12.1. Spherical coordinates12.2. Spherical differential equation example12.3. The associated Legendre polynomials12.4. Plotting 3D spherical coordinates12.5. main.py listing12.6. File.kv listing12.7. Incorporating sympy into the Android project Chapter 13. Stereoscopic plots of spherical functions13.1. Creating the stereoscopic scenes13.2. main.py listing13.3. File.kv listing Chapter 14. Stereoscopic simple numerical method for the gravitational N-body problem14.1. The gravitational N-body problem14.2. Motion equations14.3. Numerical approach of the dynamic equations14.4. Capturing numerical data14.5. Five planets example14.6. main.py listing14.7. File.kv Chapter 15. Stereoscopic cylindrical coordinates plotting. Aberrations of optical lenses15.1. Ideal lens focusing. The Fresnel diffraction integral15.2. Departure from the ideal lens15.3. The wave aberration function in cylindrical coordinates15.4. Stereoscopic plot of the wave aberration terms in cylindrical coordinates15.5. main.py listing15.6. File.kv listing Chapter 16. Stereoscopic plotting of three-dimensional conics16.1. Analytical approach16.2. Stereoscopic ellipsoid plotting16.3. main.py (Ellipsoid)16.4. File.kv16.5. Hyperboloid16.6. main.py (Hyperboloid) Chapter 17. Two-dimensional Fourier transform17.1. One-dimensional Fourier transform17.2. Rectangular and sinc functions17.3. Code for calculating the discrete one-dimensional Fourier transform17.4. Two-dimensional Fourier transform17.5. Discrete two-dimensional Fourier transform17.6. main.py lisitng17.7. File.kv listing17.8. The Fourier transform of the circular function17.9. Analytical formulation for the Fourier transform of the circular function Chapter 18. Stereoscopic two-dimensional Fourier transform18.1. Piloting the functions18.2. main.py listing18.3. File.kv listing 16.6. main.py (Hyperboloid) Chapter 17. Two-dimensional Fourier transform17.1. One-dimensional Fourier transform17.2. Rectangular and sinc functions17.3. Code for calculating the discrete one-dimensional Fourier transform17.4. Two-dimensional Fourier transform17.5. Discrete two-dimensional Fourier transform17.6. main.py lisitng17.7. File.kv listing17.8. The Fourier transform of the circular function17.9. Analytical formulation for the Fourier transform of the circular function Chapter 18. Stereoscopic two-dimensional Fourier transform18.1. Piloting the functions18.2. main.py listing18.3. File.kv listing

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. 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.  

See Also