Builtin solids with support for textures#

Sphere#

The XML code for the example below can be found online in the DataXlCalcNet repository or in the corresponding local DataXlCalcNet folder in the files D01a_Sphere.3D.xml (D01a-f).

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

The example below uses the following code in C#

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

D01a_Sphere.3D \(\quad\) D01b_Sphere.3D

The example below uses the following code in C#

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

D01c_Sphere.3D \(\quad\) D01d_Sphere.3D

The example below uses the following code in C#

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

D01e_Sphere.3D \(\quad\) D01e_Sphere.3D

Prolate Spheroid#

The XML code for the example below can be found online in the DataXlCalcNet repository or in the corresponding local DataXlCalcNet folder in the files D02a_PSpheroid.3D.xml (D02a-b).

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#

The example below uses the following code in C#

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

D02a_PSpheroid.3D \(\quad\) D02b_PSpheroid_Rotated.3D

Oblate Spheroid#

The XML code for the example below can be found online in the DataXlCalcNet repository or in the corresponding local DataXlCalcNet folder in the files D03a_OSpheroid.3D.xml (D03a-d).

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#

The example below uses the following code in C#

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

D03a_OSpheroid.3D \(\quad\) D03b_OSpheroid.3D

The example below uses the following code in C#

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

D03c_OSpheroid.3D \(\quad\) D03d_OSpheroid.3D

Ellipsoid#

The XML code for the example below can be found online in the DataXlCalcNet repository or in the corresponding local DataXlCalcNet folder in the files D04a_Ellipsoid.3D.xml (D04a-b).

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

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

The example below uses the following code in C#

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);

D04a_Ellipsoid.3D \(\quad\) D04b_Ellipsoid_Rotated.3D

Torus#

The XML code for the example below can be found online in the DataXlCalcNet repository or in the corresponding local DataXlCalcNet folder in the files D05a_Torus.3D.xml (D05a-b).

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

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

D05a_Torus.3D \(\quad\) D05b_Torus_Rotated.3D

Rectangular cuboid#

The XML code for the example below can be found online in the DataXlCalcNet repository or in the corresponding local DataXlCalcNet folder in the files D06a_Cuboid.3D.xml (D06a-b).

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

The example below uses the following code in C#

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

D06a_Cuboid.3D \(\quad\) D06b_Cuboid_Rotated.3D

Rhombohedron#

The XML code for the example below can be found online in the DataXlCalcNet repository or in the corresponding local DataXlCalcNet folder in the files D07a_Rhombohedron_60.3D.xml (D07a-c).

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

The example below uses the following code in C#

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

D07a_Rhombohedron_60.3D \(\quad\) D07b_Rhombohedron_90.3D \(\quad\) D07c_Rhombohedron_110.3D

Parallelepiped#

The XML code for the example below can be found online in the DataXlCalcNet repository or in the corresponding local DataXlCalcNet folder in the files D08a_Parallelepiped.3D.xml (D08a-b).

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

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

The example below uses the following code in C#

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);

D08a_Parallelepiped.3D \(\quad\) D08b_Parallelepiped_Rotated.3D