﻿

.. |newpage| raw:: latex

   \newpage



.. |cr| raw:: latex

   \hspace{0.0mm}








|newpage|



Builtin solids with support for textures
==============================================================



Sphere
---------------------------

A sphere is a geometrical object that is a three-dimensional analogue to a two-dimensional circle. 

See also: https://en.wikipedia.org/wiki/Sphere

See also: https://mathworld.wolfram.com/Sphere.html

See also: https://mathcurve.com/surfaces.gb/sphere/sphere.shtml



An example in C\#

.. code-block:: csharp

    var radius = 1.0;
    var numTheta = 20;
    var numPhi = 20;
    var proc = BuiltIn.SetSphere(radius, numTheta, numPhi);


|cr|


|03a_Scatter_Sphere|

.. |03a_Scatter_Sphere| image:: ../_static/BuiltIn/WithTextures/03a_Scatter_Sphere.3D.xml.jpg
    :width: 30 %



**Left figure**: Sphere
















|newpage|

Prolate Spheroid
-----------------------------------------------------

See also: https://mathworld.wolfram.com/ProlateSpheroid.html

See also: https://mathworld.wolfram.com/Spheroid.html

See also: https://en.wikipedia.org/wiki/Spheroid#Prolate_spheroids

See also: https://en.wikipedia.org/wiki/Spheroid#


An example in C\#

.. code-block:: csharp

    var radius = 1.0;
    var factor1 = 1.5;
    var numTheta = 20;
    var numPhi = 20;
    var proc = BuiltIn.SetProlateSpheroid(radius, factor1, numTheta, numPhi);


|cr|


|04a_Scatter_PSpheroid| `\quad` |04b_Scatter_PSpheroid_Rotated|

.. |04a_Scatter_PSpheroid| image:: ../_static/BuiltIn/WithTextures/04a_Scatter_PSpheroid.3D.xml.jpg
    :width: 30 %

.. |04b_Scatter_PSpheroid_Rotated| image:: ../_static/BuiltIn/WithTextures/04b_Scatter_PSpheroid_Rotated.3D.xml.jpg
    :width: 30 %



**Left figure**: Prolate Spheroid

**Right figure**: Prolate Spheroid, rotated









|newpage|

Oblate Spheroid
-------------------------------------------------------------

See also: https://mathworld.wolfram.com/OblateSpheroid.html

See also: https://mathworld.wolfram.com/Spheroid.html


See also: https://en.wikipedia.org/wiki/Spheroid#Oblate_spheroids

See also: https://en.wikipedia.org/wiki/Spheroid#



An example in C\#

.. code-block:: csharp

    var radius = 1.0;
    var factor2 = 0.5;
    var numTheta = 20;
    var numPhi = 20;
    var proc = BuiltIn.SetOblateSpheroid(radius, factor2, numTheta, numPhi);

|cr|


|05a_Scatter_OSpheroid| `\quad` |05b_Scatter_OSpheroid_Rotated|

.. |05a_Scatter_OSpheroid| image:: ../_static/BuiltIn/WithTextures/05a_Scatter_OSpheroid.3D.xml.jpg
    :width: 30 %

.. |05b_Scatter_OSpheroid_Rotated| image:: ../_static/BuiltIn/WithTextures/05b_Scatter_OSpheroid_Rotated.3D.xml.jpg
    :width: 30 %



**Left figure**: Oblate Spheroid

**Right figure**: Oblate Spheroid, rotated








|newpage|

Ellipsoid
----------------------------------------


See also: https://mathworld.wolfram.com/Ellipsoid.html


See also: https://en.wikipedia.org/wiki/Ellipsoid



An example in C\#

.. code-block:: csharp

    var radius = 1.0;
    var factor1 = 1.5;
    var factor2 = 0.5;
    numTheta = 20;
    var numPhi = 20;
    var proc = BuiltIn.SetEllipsoid(radius, factor1, factor2, numTheta, numPhi);

|cr|


|06a_Scatter_Ellipsoid| `\quad` |06b_Scatter_Ellipsoid_Rotated|

.. |06a_Scatter_Ellipsoid| image:: ../_static/BuiltIn/WithTextures/06a_Scatter_Ellipsoid.3D.xml.jpg
    :width: 30 %

.. |06b_Scatter_Ellipsoid_Rotated| image:: ../_static/BuiltIn/WithTextures/06b_Scatter_Ellipsoid_Rotated.3D.xml.jpg
    :width: 30 %



**Left figure**: Ellipsoid

**Right figure**: Ellipsoid, rotated








|newpage|

Torus
-------------------------------------------

A torus is a surface of revolution generated by revolving a circle in three-dimensional space one full revolution about an axis that is coplanar with the circle. The main types of toruses include ring toruses, horn toruses, and spindle toruses. A ring torus is sometimes colloquially referred to as a donut or doughnut. 

See also: https://en.wikipedia.org/wiki/Torus

See also: https://mathworld.wolfram.com/Torus.html

See also: https://mathcurve.com/surfaces.gb/tore/tore.shtml



.. code-block:: csharp

    var Radius = 0.6;
    var radius = 0.2;
    var numTheta = 40;
    var numPhi = 40;
    var proc = BuiltIn.SetTorus(Radius, radius, numTheta, numPhi);

|cr|


|7a_Scatter_Torus| `\quad` |7b_Scatter_4_Tori|

.. |7a_Scatter_Torus| image:: ../_static/BuiltIn/WithTextures/7a_Scatter_Torus.3D.xml.jpg
    :width: 30 %

.. |7b_Scatter_4_Tori| image:: ../_static/BuiltIn/WithTextures/7b_Scatter_4_Tori.3D.xml.jpg
    :width: 30 %



**Left figure**: Torus

**Right figure**: 4 Tori







|newpage|


Rectangular cuboid
----------------------------------------------

A rectangular cuboid is a special case of a cuboid with rectangular faces in which all of its dihedral angles are right angles. This shape is also called rectangular parallelepiped or orthogonal parallelepiped.

See also: https://en.wikipedia.org/wiki/Rectangular_cuboid

See also: https://mathworld.wolfram.com/Cuboid.html


An example in C\#

.. code-block:: csharp

    var a = 1.0;
    var b = 3.0;
    var c = 2.0;
    var proc = BuiltIn.SetCuboid(a, b, c);



|cr|


|01a_Scatter_Cuboid| `\quad` |01b_Scatter_4_Cuboids|

.. |01a_Scatter_Cuboid| image:: ../_static/BuiltIn/WithTextures/01a_Scatter_Cuboid.3D.xml.jpg
    :width: 30 %

.. |01b_Scatter_4_Cuboids| image:: ../_static/BuiltIn/WithTextures/01b_Scatter_4_Cuboids.3D.xml.jpg
    :width: 30 %



**Left figure**: Rectangular cuboid

**Right figure**: 4 Rectangular cuboids 







|newpage|

Rhombohedron
-----------------------------------------

A rhombohedron is a parallelepiped bounded by six rhombi such that opposite faces are congruent. Special cases include the cube, acute golden rhombohedron, and obtuse golden rhombohedron. 

See also: https://en.wikipedia.org/wiki/Rhombohedron

See also: https://mathworld.wolfram.com/Rhombohedron.html

    
See also: https://mathworld.wolfram.com/GoldenRhombohedron.html

See also: https://mathworld.wolfram.com/AcuteGoldenRhombohedron.html

See also: https://mathworld.wolfram.com/ObtuseGoldenRhombohedron.html


An example in C\#

.. code-block:: csharp

    var theta = 60.0;
    var proc = BuiltIn.SetRhombohedron(theta);



|cr|


|04a_PRISM_Rhombohedron| `\quad` |04b_PRISM_Rhombohedron_Tilted|

.. |04a_PRISM_Rhombohedron| image:: ../_static/BuiltIn/WithoutTextures/04a_PRISM_Rhombohedron.3D.xml.jpg
    :width: 30 %

.. |04b_PRISM_Rhombohedron_Tilted| image:: ../_static/BuiltIn/WithoutTextures/04b_PRISM_Rhombohedron_Tilted.3D.xml.jpg
    :width: 30 %



**Left figure**: Rhombohedron

**Right figure**: Rhombohedron, tilted









|newpage|

Parallelepiped
------------------------------------------------

A rectangular cuboid is a special case of a cuboid with rectangular faces in which all of its dihedral angles are right angles. This shape is also called rectangular parallelepiped or orthogonal parallelepiped.

See also: https://en.wikipedia.org/wiki/Parallelepiped

See also: https://mathworld.wolfram.com/Parallelepiped.html



An example in C\#

.. code-block:: csharp

    var a = 1.0;
    var b = 3.0;
    var c = 2.0;
    var alpha = 90.0;
    var beta = 90.0;

    var proc = BuiltIn.SetParallelepiped(a, b, c, alpha, beta);


|cr|


|05a_PRISM_Parallelepiped| `\quad` |05b_PRISM_Parallelepiped_Tilted|

.. |05a_PRISM_Parallelepiped| image:: ../_static/BuiltIn/WithoutTextures/05a_PRISM_Parallelepiped.3D.xml.jpg
    :width: 30 %

.. |05b_PRISM_Parallelepiped_Tilted| image:: ../_static/BuiltIn/WithoutTextures/05b_PRISM_Parallelepiped_Tilted.3D.xml.jpg
    :width: 30 %



**Left figure**: Parallelepiped

**Right figure**: Parallelepiped, tilted





