<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.povray.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Flohmuller</id>
	<title>POV-Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.povray.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Flohmuller"/>
	<link rel="alternate" type="text/html" href="https://wiki.povray.org/content/Special:Contributions/Flohmuller"/>
	<updated>2026-04-06T00:36:18Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.35.1</generator>
	<entry>
		<id>https://wiki.povray.org/content?title=Reference:Shapes3.inc&amp;diff=7927</id>
		<title>Reference:Shapes3.inc</title>
		<link rel="alternate" type="text/html" href="https://wiki.povray.org/content?title=Reference:Shapes3.inc&amp;diff=7927"/>
		<updated>2013-04-17T22:47:20Z</updated>

		<summary type="html">&lt;p&gt;Flohmuller: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Include Files]]&lt;br /&gt;
This file contains macros for segments of shapes, facetted shapes and others.&lt;br /&gt;
&lt;br /&gt;
Segments of shapes:&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Segment_of_Torus ( R_major, R_minor, Segment_Angle )&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;Segment of a torus around the y axis. The angle starts at positive x axis.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
	 &lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Segment_of_CylinderRing ( R_out, R_in, Height, Segment_Angle )&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;Segment of a cylindrical ring around the y axis. The angle starts at positive x axis.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Segment_of_Object ( Segment_Object, Segment_Angle )&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;Segment of an object around the y axis. The angle starts at positive x axis.&amp;lt;br&amp;gt;&lt;br /&gt;
Based on min_extend and max_extend.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Angular shapes: &lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Column_N (N, R_in, Height )&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;A regular n-sided column around the y axis, defined by the incircle radius &amp;lt;code&amp;gt;R_in&amp;lt;/code&amp;gt;. &amp;lt;code&amp;gt;Height&amp;lt;/code&amp;gt; is the height in y direction.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Column_N_AB (N, A, B, R_in)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;A regular n-sided column from point &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; to  point &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;, defined by the incircle radius &amp;lt;code&amp;gt;R_in&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Pyramid_N   (N, R_in_1, R_in_2, Height )&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;A regular n-sided pyramid around the y axis, defined by the incircle radii:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;R_in_1&amp;lt;/code&amp;gt; at y = 0 and &amp;lt;code&amp;gt;R_in_2&amp;lt;/code&amp;gt; at y = &amp;lt;code&amp;gt;Height&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Pyramid_N_AB(N, A, R_in_A, B, R_in_B)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;A regular n-sided column from point &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; to point &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;,&lt;br /&gt;
defined by the incircle radii:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;R_in_A&amp;lt;/code&amp;gt; at point &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;R_in_B&amp;lt;/code&amp;gt; at point &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Facetted shapes:&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Facetted_Sphere (Quarter_Segments, Radial_Segments)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;A facetted sphere with incircle radius 1.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;Quarter_Segments&amp;lt;/code&amp;gt; = number of equitorial facetts in one quarter (1/2 of the total number).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;Radial_Segments&amp;lt;/code&amp;gt; = number of radial facetts.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Facetted_Egg_Shape (Quarter_Segments, Radial_Segments, Lower_Scale, Upper_Scale)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;A facetted egg shape. The number of facetts are defined analog to &amp;lt;code&amp;gt;Facetted_Egg_Shape()&amp;lt;/code&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
Equitorial incircle radius = 1. Lower half scaled in y by &amp;lt;code&amp;gt;Lower_Scale&amp;lt;/code&amp;gt;,&lt;br /&gt;
Upper half scaled in y by &amp;lt;code&amp;gt;Upper_Scale&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Facetted_Egg (N_Quarter_Segments, N_Radial_Segments)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;A facetted egg with total height = 2. Lower half scaled in y by 1.15, Upper half scaled in y by 1.55.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
Round shapes:&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Egg_Shape (Lower_Scale, Upper_Scale)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;An egg shape with equitorial radius 1. &amp;lt;br&amp;gt;&lt;br /&gt;
Lower half scaled in y by &amp;lt;code&amp;gt;Lower_Scale&amp;lt;/code&amp;gt;,&lt;br /&gt;
Upper half scaled in y by &amp;lt;code&amp;gt;Upper_Scale&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Egg&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;Uses the macro Egg_Shape.&amp;lt;br&amp;gt;&lt;br /&gt;
Lower half scaled in y by 1.15, upper half scaled in y by 1.55.&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
Wireframe shape (mostly also optionally filled:&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Ring_Sphere (Rmaj_H, Rmaj_V, Rmin_H, Rmin_V, Number_of_Rings_horizontal, Number_of_Rings_vertical)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;A wireframe sphere by vertical and horizontal torii. &amp;lt;br&amp;gt;&lt;br /&gt;
Horizontal tori: equatorial radius major &amp;lt;code&amp;gt;Rmaj_H&amp;lt;/code&amp;gt;, radius minor &amp;lt;code&amp;gt;Rmin_H&amp;lt;/code&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
Vertical tori: radius major &amp;lt;code&amp;gt;Rmaj_V&amp;lt;/code&amp;gt;, radius minor &amp;lt;code&amp;gt;Rmin_V&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Round_Pyramid_N_out (N, A, CornerR_out_A, B, CornerR_out_B, R_Border, Filled, Merge )&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;A regular n-sided column from point &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; to point &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;,&lt;br /&gt;
defined by the outcircle radii:&lt;br /&gt;
&amp;lt;code&amp;gt;R_in_A&amp;lt;/code&amp;gt; at point &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;R_in_B&amp;lt;/code&amp;gt; at point &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Round_Pyramid_N_in  (N, A, FaceR_in_A, B, FaceR_in_B, R_Border, Filled, Merge_On )&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;A regular n-sided column from point &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; to point &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;,&lt;br /&gt;
defined by the incircle radii:&lt;br /&gt;
&amp;lt;code&amp;gt;R_in_A&amp;lt;/code&amp;gt; at point &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;R_in_B&amp;lt;/code&amp;gt; at point &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;..&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Round_Cylinder_Tube( A, B, R_out, R_border, Filled, Merge)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;A cylindrical tube from point &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; to point &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;,&lt;br /&gt;
with the outer radius &amp;lt;code&amp;gt;R_out&amp;lt;/code&amp;gt; and the border radius &amp;lt;code&amp;gt;R_border&amp;lt;/code&amp;gt;.&lt;br /&gt;
The inner radius is &amp;lt;code&amp;gt;R_out - R_border&amp;lt;/code&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
With &amp;lt;code&amp;gt;Filled&amp;lt;/code&amp;gt; = 1 we get a &amp;lt;code&amp;gt;Round_Cylinder&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Rounded_Tube( R_out, R_in, R_Border,  Height,  Merge)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;A cylindrical tube around the y axis with the &amp;lt;code&amp;gt;Height&amp;lt;/code&amp;gt; in y, with the outer radius &amp;lt;code&amp;gt;R_out&amp;lt;/code&amp;gt;, the inner radius &amp;lt;code&amp;gt;R_in&amp;lt;/code&amp;gt; and the radius of the rounded borders &amp;lt;code&amp;gt;R_border&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Rounded_Tube_AB( A, B, R_out, R_in, R_Border, Merge)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;A cylindrical tube from point &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt;  to  point &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
The outer radius is &amp;lt;code&amp;gt;R_out&amp;lt;/code&amp;gt;, the inner radius is &amp;lt;code&amp;gt;R_in&amp;lt;/code&amp;gt;&lt;br /&gt;
and the radius of the rounded borders is &amp;lt;code&amp;gt;R_border&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Round_Conic_Torus( Center_Distance, R_upper, R_lower, R_border, Merge)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;A toroid ring the z axis,&lt;br /&gt;
with the lower torus part at y = 0 and the upper part at y = Center_Distance.&amp;lt;br&amp;gt;&lt;br /&gt;
The radius of the lower part is &amp;lt;code&amp;gt;R_lower&amp;lt;/code&amp;gt;,&lt;br /&gt;
the radius of the lower part is &amp;lt;code&amp;gt;R_lower&amp;lt;/code&amp;gt;&lt;br /&gt;
The minor radius of the toroid is &amp;lt;code&amp;gt;R_border&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Round_Conic_Prism( Center_Distance, R_upper, R_lower, Length_Zminus, R_Border, Merge)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;A shape of the toroidal form like &amp;lt;code&amp;gt;Round_Conic_Torus()&amp;lt;/code&amp;gt;,&lt;br /&gt;
but filled and in the negativ z direction with the length &amp;lt;code&amp;gt; Length_Zminus&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Half_Hollowed_Rounded_Cylinder1( Length, R_out, R_border, BorderScale, Merge)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;A hollowed half rounded cylinder with the &amp;lt;code&amp;gt;Length&amp;lt;/code&amp;gt; in x, of the outer radius &amp;lt;code&amp;gt;R_out&amp;lt;/code&amp;gt;, with round ends.&lt;br /&gt;
The borders have a minor radius &amp;lt;code&amp;gt;R_border&amp;lt;/code&amp;gt; with the scale in y &amp;lt;code&amp;gt;BorderScale&amp;lt;/code&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
The inner radius is &amp;lt;code&amp;gt;R_out - R_border&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Half_Hollowed_Rounded_Cylinder2( Length, R_out, R_corner, R_border, BorderScale, Merge)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;A hollowed half rounded cylinder with the &amp;lt;code&amp;gt;Length&amp;lt;/code&amp;gt; in x, of the outer radius &amp;lt;code&amp;gt;R_out&amp;lt;/code&amp;gt;, with flat ends.&lt;br /&gt;
The corners have a minor radius of &amp;lt;code&amp;gt;R_corner&amp;lt;/code&amp;gt;,&lt;br /&gt;
the borders have a minor radius of &amp;lt;code&amp;gt;R_border&amp;lt;/code&amp;gt; with the scale in y &amp;lt;code&amp;gt;BorderScale&amp;lt;/code&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
The inner radius is &amp;lt;code&amp;gt;R_out - R_border&amp;lt;/code&amp;gt;, the inner lenght is &amp;lt;code&amp;gt;Length - 2*R_border&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Round_N_Tube_Polygon (N, Tube_R, R_incircle, Edge_R, Filled, Merge)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;A regular polygon with &amp;lt;code&amp;gt;N&amp;lt;/code&amp;gt; edges (or corners) with incircle radius &amp;lt;code&amp;gt;R_incircle&amp;lt;/code&amp;gt;,&lt;br /&gt;
formed by a tube with the minor radius &amp;lt;code&amp;gt;Tube_R&amp;lt;/code&amp;gt;.&lt;br /&gt;
The corners are formed by torus segments with the major radius &amp;lt;code&amp;gt;Edge_R&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;/div&gt;</summary>
		<author><name>Flohmuller</name></author>
	</entry>
	<entry>
		<id>https://wiki.povray.org/content?title=Reference:Makegrass.inc&amp;diff=7922</id>
		<title>Reference:Makegrass.inc</title>
		<link rel="alternate" type="text/html" href="https://wiki.povray.org/content?title=Reference:Makegrass.inc&amp;diff=7922"/>
		<updated>2013-04-17T22:12:43Z</updated>

		<summary type="html">&lt;p&gt;Flohmuller: Created page with &amp;quot;Category:Include Files   makegrass.inc  - grass and prairie building macros. &amp;lt;dl&amp;gt; &amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;MakeBlade()&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt; 	&amp;lt;dd&amp;gt;creates an individual blade of grass as me...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Include Files]] &lt;br /&gt;
&lt;br /&gt;
makegrass.inc  - grass and prairie building macros.&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;MakeBlade()&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;creates an individual blade of grass as mesh.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;MakeGrassPatch()&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;creates a patch of grass (mesh)&amp;lt;br&amp;gt;&lt;br /&gt;
optional with saving the mesh in a text file.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;MakePrairie()&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;creates a prairie of grass patches.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;/div&gt;</summary>
		<author><name>Flohmuller</name></author>
	</entry>
	<entry>
		<id>https://wiki.povray.org/content?title=Reference:Meshmaker.inc&amp;diff=7921</id>
		<title>Reference:Meshmaker.inc</title>
		<link rel="alternate" type="text/html" href="https://wiki.povray.org/content?title=Reference:Meshmaker.inc&amp;diff=7921"/>
		<updated>2013-04-17T22:08:20Z</updated>

		<summary type="html">&lt;p&gt;Flohmuller: Created page with &amp;quot;Category:Include Files  meshmaker.inc  -  various mesh2 objects by splines. &amp;lt;dl&amp;gt; &amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;MSM(SplineArray, SplRes, Interp_type,  InterpRes, FileName)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt; ...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Include Files]] &lt;br /&gt;
meshmaker.inc  -  various mesh2 objects by splines.&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;MSM(SplineArray, SplRes, Interp_type,  InterpRes, FileName)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;Generates a mesh2 from an array of splines and optionally writes the mesh2 object as a file of the given &amp;lt;code&amp;gt;FileName&amp;lt;/code&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
The uv_coordinates come from the square &amp;lt;0,0&amp;gt; - &amp;lt;1,1&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
The spline is evaluated from t=0 to t=1. &amp;lt;br&amp;gt;&lt;br /&gt;
For the normal calculation, it is required that all splines (also linear_spline) have one extra&lt;br /&gt;
point before t=0 and after t=1.&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;BuildWriteMesh2(VecArr, NormArr, UVArr, U, V, FileName)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;Generates and optionally writes a mesh2 object based on 3 input arrays,&lt;br /&gt;
the number of quads in U and V direction and a filename.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;VecArr&amp;lt;/code&amp;gt;   : The array that contains the vertices of the triangles in the mesh.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;NormArr&amp;lt;/code&amp;gt;  : The array with the normal vectors that go with the vertices.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;UVArr&amp;lt;/code&amp;gt;    : The array containing the uv_vectors.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;U&amp;lt;/code&amp;gt;        : The amount of subdivisions of the surface in the u-direction.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;V&amp;lt;/code&amp;gt;        : The amount of subdivisions in the v-direction.&amp;lt;br&amp;gt;&lt;br /&gt;
Based on the U and V values the face_indices of the  triangles in the mesh are calculated.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;FileName&amp;lt;/code&amp;gt; : The name of the file to which the mesh will be written. &lt;br /&gt;
If is an empty string (&amp;quot;&amp;quot;), no file will be written.&amp;lt;br&amp;gt;&lt;br /&gt;
If the file extension is 'obj' a Wavefront objectfile will be written.&amp;lt;br&amp;gt;&lt;br /&gt;
If the extension is 'pcm' a compressed mesh file is written.&amp;lt;br&amp;gt;&lt;br /&gt;
If a file name is given, the macro will first check if it already exists.&amp;lt;br&amp;gt;&lt;br /&gt;
If that is so, it will try to parse the existing file unless it's a '*.obj', '*.pcm' or '*.arr' file as POV-Ray&lt;br /&gt;
can not read them directly. In this case a new mesh will be generated,&lt;br /&gt;
but the existing files will _not_ be over-written.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;BuildSpline(Arr, SplType)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt; &lt;br /&gt;
	&amp;lt;dd&amp;gt;A helper macro for MSM()&amp;lt;br&amp;gt;&lt;br /&gt;
Generates from a array &amp;lt;code&amp;gt;Arr&amp;lt;/code&amp;gt; a spline of the given spline type &amp;lt;code&amp;gt;SplType&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;CheckFileName(FileName)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt; &lt;br /&gt;
	&amp;lt;dd&amp;gt;A helper macro for MSM()&amp;lt;br&amp;gt;&lt;br /&gt;
If Return has a value of 0 the mesh will not be build,&lt;br /&gt;
but it will be parsed from file.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;LInterpolate(Val, Min, Max)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt; &lt;br /&gt;
	&amp;lt;dd&amp;gt;A helper macro for MSM()&amp;lt;br&amp;gt;&lt;br /&gt;
Linear interpolation of a vector or float between &amp;lt;code&amp;gt;Min&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;Max&amp;lt;/code&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;Min&amp;lt;/code&amp;gt; : minimal float value or vector.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;Max&amp;lt;/code&amp;gt; : Maximal float value or vector.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;Val&amp;lt;/code&amp;gt; : A float in the range 0 - 1.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;RangeMM()  = function(Val,Rmin,Rmax,Min,Max)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt; &lt;br /&gt;
	&amp;lt;dd&amp;gt;A helper function for MSM()&amp;lt;br&amp;gt;&lt;br /&gt;
Adjusts input values in the range [&amp;lt;code&amp;gt;RMin, RMax&amp;lt;/code&amp;gt;] to fit in the range [Min, Max].&lt;br /&gt;
&amp;lt;code&amp;gt;Val&amp;lt;/code&amp;gt;: A float value in the range [Rmin, Rmax].&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Parametric(__F1__, __F2__, __F3__, UVmin, UVmax, Iter_U, Iter_V, FileName)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;Generates a mesh2 object from the parametric uv functions &amp;lt;code&amp;gt;__F1__, __F2__, __F3__&amp;lt;/code&amp;gt;&lt;br /&gt;
in the ranges between &amp;lt;code&amp;gt;UVmin&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;UVmax&amp;lt;/code&amp;gt; with the iteration steps&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Iter_U&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;Iter_V&amp;lt;/code&amp;gt; and optionally saves the mesh2 object as a file with the name &amp;lt;code&amp;gt;FileName&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Paramcalc(UVmin, UVmax, Iter_U, Iter_V, FileName)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;The kernel of the macro Parametric(). See &amp;lt;code&amp;gt;Parametric()&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt; Prism1(Spl, ResSpl, PSpl, PRes, FileName)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;Generates a mesh2 object by extruding the spline &amp;lt;code&amp;gt;Spl&amp;lt;/code&amp;gt; along the y-axis with the resolution spline &amp;lt;code&amp;gt;ResSpl&amp;lt;/code&amp;gt;.&lt;br /&gt;
In every step the spline is scaled by the 'relative' distance from the&lt;br /&gt;
y-axis of the second spline (PSpl).&amp;lt;br&amp;gt;&lt;br /&gt;
The uv_coordinates come from the square &amp;lt;0,0&amp;gt; - &amp;lt;1,1&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;Spl&amp;lt;/code&amp;gt;  : The spline to be extruded.&amp;lt;br&amp;gt;&lt;br /&gt;
The spline is evaluated from t=0 to t=1. For the normal calculation,&amp;lt;br&amp;gt;&lt;br /&gt;
it is required that all splines (also linear_spline) have one extra&amp;lt;br&amp;gt;&lt;br /&gt;
point before t=0 and after t=1.&lt;br /&gt;
&amp;lt;code&amp;gt;ResSpl&amp;lt;/code&amp;gt;  : The amount of triangles to be used along the spline.&lt;br /&gt;
&amp;lt;code&amp;gt;PSpl&amp;lt;/code&amp;gt;    : The spline that determines by what amount the extrusion&amp;lt;br&amp;gt;&lt;br /&gt;
is scaled in each step. The scaling is based on the relative distance from the y-axis.&amp;lt;br&amp;gt;&lt;br /&gt;
That is, at t=0 the scale is always 1, so that the start of the shape is&amp;lt;br&amp;gt;&lt;br /&gt;
identical to the spline &amp;lt;code&amp;gt;Spl&amp;lt;/code&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
PSpl also sets the height of the resulting shape (its y-value at t=1).&amp;lt;br&amp;gt;&lt;br /&gt;
The spline is evaluated from t=0 to t=1. For the normal calculation,&amp;lt;br&amp;gt;&lt;br /&gt;
it is required that all splines (also linear_spline) have one extra &amp;lt;br&amp;gt;&lt;br /&gt;
point before t=0 and after t=1. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;FileName&amp;lt;/code&amp;gt; : The name of the file to which the mesh will be written.&amp;lt;br&amp;gt;&lt;br /&gt;
If is an empty string (&amp;quot;&amp;quot;), no file will be written. If a file name is given, the macro &amp;lt;br&amp;gt;&lt;br /&gt;
will first check if it already exists. If that is so, it will expect a &amp;lt;br&amp;gt;&lt;br /&gt;
mesh2 with the name &amp;quot;Surface&amp;quot; and try to parse the existing file.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Lathe(Spl, ResSpl, Rot, ResRot, FileName)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;This  macro generates a mesh2 object by rotating a two-dimensional curve about the y-axis.&amp;lt;br&amp;gt;&lt;br /&gt;
The uv_coordinates come from the square &amp;lt;0,0&amp;gt; - &amp;lt;1,1&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;Spl      : The spline to be rotated.&lt;br /&gt;
The spline is evaluated from t=0 to t=1. For the normal calculation,&lt;br /&gt;
it is required that all splines (also linear_spline) have one extra&lt;br /&gt;
point before t=0 and after t=1.&lt;br /&gt;
&amp;lt;code&amp;gt;ResSpl&amp;lt;/code&amp;gt;   : The amount of triangles to be used along the spline.&lt;br /&gt;
&amp;lt;code&amp;gt;Rot&amp;lt;/code&amp;gt;      : The angle the spline has to be rotated.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;ResRot&amp;lt;/code&amp;gt;   : The amount of triangles to be used in the circumference.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;FileName&amp;lt;/code&amp;gt; : The name of the file to which the mesh will be written.&amp;lt;br&amp;gt;&lt;br /&gt;
If is an  empty string (&amp;quot;&amp;quot;), no file will be written.&amp;lt;br&amp;gt;&lt;br /&gt;
If the file extension is 'obj' a Wavefront objectfile will be written.&amp;lt;br&amp;gt;&lt;br /&gt;
If the extension is 'pcm' a compressed mesh file is written.&amp;lt;br&amp;gt;&lt;br /&gt;
If a file name is given, the macro will first check if it already exists.&amp;lt;br&amp;gt;&lt;br /&gt;
If that is so, it will try to parse the existing file unless it's a '*.obj', &amp;lt;br&amp;gt;&lt;br /&gt;
'*.pcm' or '*.arr' file as POV-Ray can not read them directly. In this case a new &amp;lt;br&amp;gt;&lt;br /&gt;
mesh will be generated, but the existing files will _not_ be over-written. &amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Coons(Spl1, Spl2, Spl3, Spl4, Iter_U, Iter_V, FileName)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;Generates a mesh2 'coons surface' defined by four splines, all attached head to tail to the previous / next one.&amp;lt;br&amp;gt;&lt;br /&gt;
The uv_coordinates come from the square &amp;lt;0,0&amp;gt; - &amp;lt;1,1&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;Spl1 - 4&amp;lt;/code&amp;gt; : The four spline that define the surface.&amp;lt;br&amp;gt;&lt;br /&gt;
The splines are evaluated from t=0 to t=1. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;Iter_U&amp;lt;/code&amp;gt;   : The resolution for the splines 1 and 3.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;Iter_V&amp;lt;/code&amp;gt;   : The resolution for the splines 2 and 4.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;FileName&amp;lt;/code&amp;gt; : The name of the file to which the mesh will be written.&amp;lt;br&amp;gt;&lt;br /&gt;
If is an empty string (&amp;quot;&amp;quot;), no file will be written.&amp;lt;br&amp;gt;&lt;br /&gt;
If the file extension is 'obj' a Wavefront objectfile will be written.&amp;lt;br&amp;gt;&lt;br /&gt;
If the extension is 'pcm' a compressed mesh file is written.&amp;lt;br&amp;gt;&lt;br /&gt;
If a file name is given, the macro will first check if it already exists.&amp;lt;br&amp;gt;&lt;br /&gt;
If that is so, it will try to parse the existing file unless it's a '*.obj',&amp;lt;br&amp;gt;&lt;br /&gt;
'*.pcm' or '*.arr' file as POV-Ray can not read them directly. In this case a new&amp;lt;br&amp;gt;&lt;br /&gt;
mesh will be generated, but the existing files will _not_ be over-written.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;TwoVarSurf(__Fuv, Urange, Vrange, Iter_U, Iter_V, FileName)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;Generates a mesh2 object by extruding an uv-function.&lt;br /&gt;
&amp;lt;code&amp;gt;Urange&amp;lt;/code&amp;gt;   : The range in x direction.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;Vrange&amp;lt;/code&amp;gt;   : The range in y direction.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;Iter_U&amp;lt;/code&amp;gt;   : The resolution in x direction.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;Iter_V&amp;lt;/code&amp;gt;   : The resolution in y direction.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;FileName&amp;lt;/code&amp;gt; : The name of the file to which the mesh will be written.&amp;lt;br&amp;gt;&lt;br /&gt;
If is an empty string (&amp;quot;&amp;quot;), no file will be written. If a file name is given, the macro &amp;lt;br&amp;gt;&lt;br /&gt;
will first check if it already exists. If that is so, it will expect a &amp;lt;br&amp;gt;&lt;br /&gt;
mesh2 with the name &amp;quot;Surface&amp;quot; and try to parse the existing file.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;SweepSpline1(Track,Shape,Waist,U,V,Filename)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;Generates a mesh2 object by extruding a spline &amp;lt;code&amp;gt;Shape&amp;lt;/code&amp;gt; along &amp;lt;code&amp;gt;Track&amp;lt;/code&amp;gt;&lt;br /&gt;
and optionally writes it as a file with method 1.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;FileName&amp;lt;/code&amp;gt; : The name of the file to which the mesh will be written.&lt;br /&gt;
If is an empty string (&amp;quot;&amp;quot;), no file will be written. If a file name is given, the macro &amp;lt;br&amp;gt;&lt;br /&gt;
will first check if it already exists. If that is so, it will expect a &amp;lt;br&amp;gt;&lt;br /&gt;
mesh2 with the name &amp;quot;Surface&amp;quot; and try to parse the existing file.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;SweepSpline2(Track,Shape,Waist,U,V,Filename)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;Generates a mesh2 object by extruding a spline &amp;lt;code&amp;gt;Shape&amp;lt;/code&amp;gt; along &amp;lt;code&amp;gt;Track&amp;lt;/code&amp;gt;&lt;br /&gt;
and optionally writes it as a file with method 2.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;FileName&amp;lt;/code&amp;gt; : The name of the file to which the mesh will be written.&lt;br /&gt;
If is an empty string (&amp;quot;&amp;quot;), no file will be written. If a file name is given, the macro &amp;lt;br&amp;gt;&lt;br /&gt;
will first check if it already exists. If that is so, it will expect a &amp;lt;br&amp;gt;&lt;br /&gt;
mesh2 with the name &amp;quot;Surface&amp;quot; and try to parse the existing file.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;/div&gt;</summary>
		<author><name>Flohmuller</name></author>
	</entry>
	<entry>
		<id>https://wiki.povray.org/content?title=Reference:Shapes3.inc&amp;diff=7920</id>
		<title>Reference:Shapes3.inc</title>
		<link rel="alternate" type="text/html" href="https://wiki.povray.org/content?title=Reference:Shapes3.inc&amp;diff=7920"/>
		<updated>2013-04-17T21:49:33Z</updated>

		<summary type="html">&lt;p&gt;Flohmuller: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Include Files]]&lt;br /&gt;
This file contains macros for segments of shapes, facetted shapes and others.&lt;br /&gt;
&lt;br /&gt;
Segments of shapes:&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Segment_of_Torus ( R_major, R_minor, Segment_Angle )&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;Segment of a torus around the y axis. The angle starts at positive x axis.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
	 &lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Segment_of_CylinderRing ( R_out, R_in, Height, Segment_Angle )&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;Segment of a cylindrical ring around the y axis. The angle starts at positive x axis.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Segment_of_Object ( Segment_Object, Segment_Angle )&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;Segment of an object around the y axis. The angle starts at positive x axis.&amp;lt;br&amp;gt;&lt;br /&gt;
Based on min_extend and max_extend.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Angular shapes: &lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Column_N (N, R_in, Height )&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;A regular n-sided column around the y axis, defined by the incircle radius &amp;lt;code&amp;gt;R_in&amp;lt;/code&amp;gt;. &amp;lt;code&amp;gt;Height&amp;lt;/code&amp;gt; is the height in y direction.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Column_N_AB (N, A, B, R_in)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;A regular n-sided column from point &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; to  point &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;, defined by the incircle radius &amp;lt;code&amp;gt;R_in&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Pyramid_N   (N, R_in_1, R_in_2, Height )&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;A regular n-sided pyramid around the y axis, defined by the incircle radii:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;R_in_1&amp;lt;/code&amp;gt; at y = 0 and &amp;lt;code&amp;gt;R_in_2&amp;lt;/code&amp;gt; at y = &amp;lt;code&amp;gt;Height&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Pyramid_N_AB(N, A, R_in_A, B, R_in_B)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;A regular n-sided column from point &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; to point &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;,&lt;br /&gt;
defined by the incircle radii:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;R_in_A&amp;lt;/code&amp;gt; at point &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;R_in_B&amp;lt;/code&amp;gt; at point &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Facetted shapes:&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Facetted_Sphere (Quarter_Segments, Radial_Segments)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;A facetted sphere with incircle radius 1.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;Quarter_Segments&amp;lt;/code&amp;gt; = number of equitorial facetts in one quarter (1/2 of the total number).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;Radial_Segments&amp;lt;/code&amp;gt; = number of radial facetts.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Facetted_Egg_Shape (Quarter_Segments, Radial_Segments, Lower_Scale, Upper_Scale)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;A facetted egg shape. The number of facetts are defined analog to &amp;lt;code&amp;gt;Facetted_Egg_Shape()&amp;lt;/code&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
Equitorial incircle radius = 1. Lower half scaled in y by &amp;lt;code&amp;gt;Lower_Scale&amp;lt;/code&amp;gt;,&lt;br /&gt;
Upper half scaled in y by &amp;lt;code&amp;gt;Upper_Scale&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Facetted_Egg (N_Quarter_Segments, N_Radial_Segments)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;A facetted egg with total height = 2. Lower half scaled in y by 1.15, Upper half scaled in y by 1.55.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
Round shapes:&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Egg_Shape (Lower_Scale, Upper_Scale)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;An egg shape with equitorial radius 1. &amp;lt;br&amp;gt;&lt;br /&gt;
Lower half scaled in y by &amp;lt;code&amp;gt;Lower_Scale&amp;lt;/code&amp;gt;,&lt;br /&gt;
Upper half scaled in y by &amp;lt;code&amp;gt;Upper_Scale&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Egg&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;Uses the macro Egg_Shape.&amp;lt;br&amp;gt;&lt;br /&gt;
Lower half scaled in y by 1.15, upper half scaled in y by 1.55.&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
Wireframe shape (mostly also optionally filled:&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Ring_Sphere (Rmaj_H, Rmaj_V, Rmin_H, Rmin_V, Number_of_Rings_horizontal, Number_of_Rings_vertical)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;A wireframe sphere by vertical and horizontal torii. &amp;lt;br&amp;gt;&lt;br /&gt;
Horizontal tori: equatorial radius major &amp;lt;code&amp;gt;Rmaj_H&amp;lt;/code&amp;gt;, radius minor &amp;lt;code&amp;gt;Rmin_H&amp;lt;/code&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
Vertical tori: radius major &amp;lt;code&amp;gt;Rmaj_V&amp;lt;/code&amp;gt;, radius minor &amp;lt;code&amp;gt;Rmin_V&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Round_Pyramid_N_out (N, A, CornerR_out_A, B, CornerR_out_B, R_Border, Filled, Merge )&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;A regular n-sided column from point &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; to point &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;,&lt;br /&gt;
defined by the outcircle radii:&lt;br /&gt;
&amp;lt;code&amp;gt;R_in_A&amp;lt;/code&amp;gt; at point &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;R_in_B&amp;lt;/code&amp;gt; at point &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Round_Pyramid_N_in  (N, A, FaceR_in_A, B, FaceR_in_B, R_Border, Filled, Merge_On )&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;A regular n-sided column from point &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; to point &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;,&lt;br /&gt;
defined by the incircle radii:&lt;br /&gt;
&amp;lt;code&amp;gt;R_in_A&amp;lt;/code&amp;gt; at point &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;R_in_B&amp;lt;/code&amp;gt; at point &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;..&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Round_Cylinder_Tube( A, B, R_out, R_border, Filled, Merge)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;A cylindrical tube from point &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; to point &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;,&lt;br /&gt;
with the outer radius &amp;lt;code&amp;gt;R_out&amp;lt;/code&amp;gt; and the border radius &amp;lt;code&amp;gt;R_border&amp;lt;/code&amp;gt;.&lt;br /&gt;
The inner radius is &amp;lt;code&amp;gt;R_out - R_border&amp;lt;/code&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
With &amp;lt;code&amp;gt;Filled&amp;lt;/code&amp;gt; = 1 we get a &amp;lt;code&amp;gt;Round_Cylinder&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Rounded_Tube( R_out, R_in, R_Border,  Height,  Merge)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;A cylindrical tube around the y axis with the &amp;lt;code&amp;gt;Height&amp;lt;/code&amp;gt; in y, with the outer radius &amp;lt;code&amp;gt;R_out&amp;lt;/code&amp;gt;, the inner radius &amp;lt;code&amp;gt;R_in&amp;lt;/code&amp;gt; and the radius of the rounded borders &amp;lt;code&amp;gt;R_border&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Rounded_Tube_AB( A, B, R_out, R_in, R_Border, Merge)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;A cylindrical tube from point &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt;  to  point &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
The outer radius is &amp;lt;code&amp;gt;R_out&amp;lt;/code&amp;gt;, the inner radius is &amp;lt;code&amp;gt;R_in&amp;lt;/code&amp;gt;&lt;br /&gt;
and the radius of the rounded borders is &amp;lt;code&amp;gt;R_border&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Round_Conic_Torus( Center_Distance, R_upper, R_lower, R_border, Merge)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;A toroid ring the z axis,&lt;br /&gt;
with the lower torus part at y = 0 and the upper part at y = Center_Distance.&amp;lt;br&amp;gt;&lt;br /&gt;
The radius of the lower part is &amp;lt;code&amp;gt;R_lower&amp;lt;/code&amp;gt;,&lt;br /&gt;
the radius of the lower part is &amp;lt;code&amp;gt;R_lower&amp;lt;/code&amp;gt;&lt;br /&gt;
The minor radius of the toroid is &amp;lt;code&amp;gt;R_border&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Round_Conic_Prism( Center_Distance, R_upper, R_lower, Length_Zminus, R_Border, Merge)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;A shape of the toroidal form like &amp;lt;code&amp;gt;Round_Conic_Torus()&amp;lt;/code&amp;gt;,&lt;br /&gt;
but filled and in the negativ z direction with the length &amp;lt;code&amp;gt; Length_Zminus&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Half_Hollowed_Rounded_Cylinder1( Length, R_out, R_border, BorderScale, Merge)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;A hollowed half rounded cylinder with the &amp;lt;code&amp;gt;Length&amp;lt;/code&amp;gt; in x, of the outer radius &amp;lt;code&amp;gt;R_out&amp;lt;/code&amp;gt;, with round ends.&lt;br /&gt;
The borders have a minor radius &amp;lt;code&amp;gt;R_border&amp;lt;/code&amp;gt; with the scale in y &amp;lt;code&amp;gt;BorderScale&amp;lt;/code&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
The inner radius is &amp;lt;code&amp;gt;R_out - R_border&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Half_Hollowed_Rounded_Cylinder2( Length, R_out, R_corner, R_border, BorderScale, Merge)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;A hollowed half rounded cylinder with the &amp;lt;code&amp;gt;Length&amp;lt;/code&amp;gt; in x, of the outer radius &amp;lt;code&amp;gt;R_out&amp;lt;/code&amp;gt;, with flat ends.&lt;br /&gt;
The corners have a minor radius of &amp;lt;code&amp;gt;R_corner&amp;lt;/code&amp;gt;,&lt;br /&gt;
the borders have a minor radius of &amp;lt;code&amp;gt;R_border&amp;lt;/code&amp;gt; with the scale in y &amp;lt;code&amp;gt;BorderScale&amp;lt;/code&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
The inner radius is &amp;lt;code&amp;gt;R_out - R_border&amp;lt;/code&amp;gt;, the inner lenght is &amp;lt;code&amp;gt;Length - 2*R_border&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Round_N_Tube_Polygon (N, Tube_R, R_incircle, Edge_R, Filled, Merge)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;A regular polygon with &amp;lt;code&amp;gt;N&amp;lt;/code&amp;gt; edges (or corners) with incircle radius &amp;lt;code&amp;gt;R_incircle&amp;lt;/code&amp;gt;,&lt;br /&gt;
formed by a tube with the minor radius &amp;lt;code&amp;gt;Tube_R&amp;lt;/code&amp;gt;.&lt;br /&gt;
The corners are formed by torus segments with the major radius radius &amp;lt;code&amp;gt;Edge_R&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;/div&gt;</summary>
		<author><name>Flohmuller</name></author>
	</entry>
	<entry>
		<id>https://wiki.povray.org/content?title=Reference:Shapes3.inc&amp;diff=7919</id>
		<title>Reference:Shapes3.inc</title>
		<link rel="alternate" type="text/html" href="https://wiki.povray.org/content?title=Reference:Shapes3.inc&amp;diff=7919"/>
		<updated>2013-04-17T21:48:47Z</updated>

		<summary type="html">&lt;p&gt;Flohmuller: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Include Files]]&lt;br /&gt;
This file contains macros for segments of shapes, facetted shapes and others.&lt;br /&gt;
&lt;br /&gt;
Segments of shapes:&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Segment_of_Torus ( R_major, R_minor, Segment_Angle )&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;Segment of a torus around the y axis. The angle starts at positive x axis.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
	 &lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Segment_of_CylinderRing ( R_out, R_in, Height, Segment_Angle )&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;Segment of a cylindrical ring around the y axis. The angle starts at positive x axis.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Segment_of_Object ( Segment_Object, Segment_Angle )&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;Segment of an object around the y axis. The angle starts at positive x axis.&amp;lt;br&amp;gt;&lt;br /&gt;
Based on min_extend and max_extend.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Angular shapes: &lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Column_N (N, R_in, Height )&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;A regular n-sided column around the y axis, defined by the incircle radius &amp;lt;code&amp;gt;R_in&amp;lt;/code&amp;gt;. &amp;lt;code&amp;gt;Height&amp;lt;/code&amp;gt; is the height in y direction.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Column_N_AB (N, A, B, R_in)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;A regular n-sided column from point &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; to  point &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;, defined by the incircle radius &amp;lt;code&amp;gt;R_in&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Pyramid_N   (N, R_in_1, R_in_2, Height )&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;A regular n-sided pyramid around the y axis, defined by the incircle radii:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;R_in_1&amp;lt;/code&amp;gt; at y = 0 and &amp;lt;code&amp;gt;R_in_2&amp;lt;/code&amp;gt; at y = &amp;lt;code&amp;gt;Height&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Pyramid_N_AB(N, A, R_in_A, B, R_in_B)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;A regular n-sided column from point &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; to point &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;,&lt;br /&gt;
defined by the incircle radii:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;R_in_A&amp;lt;/code&amp;gt; at point &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;R_in_B&amp;lt;/code&amp;gt; at point &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Facetted shapes:&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Facetted_Sphere (Quarter_Segments, Radial_Segments)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;A facetted sphere with incircle radius 1.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;Quarter_Segments&amp;lt;/code&amp;gt; = number of equitorial facetts in one quarter (1/2 of the total number).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;Radial_Segments&amp;lt;/code&amp;gt; = number of radial facetts.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Facetted_Egg_Shape (Quarter_Segments, Radial_Segments, Lower_Scale, Upper_Scale)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;A facetted egg shape. The number of facetts are defined analog to &amp;lt;code&amp;gt;Facetted_Egg_Shape()&amp;lt;/code&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
Equitorial incircle radius = 1. Lower half scaled in y by &amp;lt;code&amp;gt;Lower_Scale&amp;lt;/code&amp;gt;,&lt;br /&gt;
Upper half scaled in y by &amp;lt;code&amp;gt;Upper_Scale&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Facetted_Egg (N_Quarter_Segments, N_Radial_Segments)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;A facetted egg with total height = 2. Lower half scaled in y by 1.15, Upper half scaled in y by 1.55.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
Round shapes:&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Egg_Shape (Lower_Scale, Upper_Scale)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;An egg shape with equitorial radius 1. &amp;lt;br&amp;gt;&lt;br /&gt;
Lower half scaled in y by &amp;lt;code&amp;gt;Lower_Scale&amp;lt;/code&amp;gt;,&lt;br /&gt;
Upper half scaled in y by &amp;lt;code&amp;gt;Upper_Scale&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Egg&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;Uses the macro Egg_Shape.&amp;lt;br&amp;gt;&lt;br /&gt;
Lower half scaled in y by 1.15, upper half scaled in y by 1.55.&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
Wireframe shape (mostly also optionally filled:&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Ring_Sphere (Rmaj_H, Rmaj_V, Rmin_H, Rmin_V, Number_of_Rings_horizontal, Number_of_Rings_vertical)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;A wireframe sphere by vertical and horizontal torii. &amp;lt;br&amp;gt;&lt;br /&gt;
Horizontal tori: equatorial radius major &amp;lt;code&amp;gt;Rmaj_H&amp;lt;/code&amp;gt;, radius minor &amp;lt;code&amp;gt;Rmin_H&amp;lt;/code&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
Vertical tori: radius major &amp;lt;code&amp;gt;Rmaj_V&amp;lt;/code&amp;gt;, radius minor &amp;lt;code&amp;gt;Rmin_V&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Round_Pyramid_N_out (N, A, CornerR_out_A, B, CornerR_out_B, R_Border, Filled, Merge )&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;A regular n-sided column from point &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; to point &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;,&lt;br /&gt;
defined by the outcircle radii:&lt;br /&gt;
&amp;lt;code&amp;gt;R_in_A&amp;lt;/code&amp;gt; at point &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;R_in_B&amp;lt;/code&amp;gt; at point &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Round_Pyramid_N_in  (N, A, FaceR_in_A, B, FaceR_in_B, R_Border, Filled, Merge_On )&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;A regular n-sided column from point &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; to point &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;,&lt;br /&gt;
defined by the incircle radii:&lt;br /&gt;
&amp;lt;code&amp;gt;R_in_A&amp;lt;/code&amp;gt; at point &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;R_in_B&amp;lt;/code&amp;gt; at point &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;..&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Round_Cylinder_Tube( A, B, R_out, R_border, Filled, Merge)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;A cylindrical tube from point &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; to point &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;,&lt;br /&gt;
with the outer radius &amp;lt;code&amp;gt;R_out&amp;lt;/code&amp;gt; and the border radius &amp;lt;code&amp;gt;R_border&amp;lt;/code&amp;gt;.&lt;br /&gt;
The inner radius is &amp;lt;code&amp;gt;R_out - R_border&amp;lt;/code&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
With &amp;lt;code&amp;gt;Filled&amp;lt;/code&amp;gt; = 1 we get a &amp;lt;code&amp;gt;Round_Cylinder&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Rounded_Tube( R_out, R_in, R_Border,  Height,  Merge)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;A cylindrical tube around the y axis with the &amp;lt;code&amp;gt;Height&amp;lt;/code&amp;gt; in y, with the outer radius &amp;lt;code&amp;gt;R_out&amp;lt;/code&amp;gt;, the inner radius &amp;lt;code&amp;gt;R_in&amp;lt;/code&amp;gt; and the radius of the rounded borders &amp;lt;code&amp;gt;R_border&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Rounded_Tube_AB( A, B, R_out, R_in, R_Border, Merge)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;A cylindrical tube from point &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt;  to  point &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
The outer radius is &amp;lt;code&amp;gt;R_out&amp;lt;/code&amp;gt;, the inner radius is &amp;lt;code&amp;gt;R_in&amp;lt;/code&amp;gt;&lt;br /&gt;
and the radius of the rounded borders is &amp;lt;code&amp;gt;R_border&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Round_Conic_Torus( Center_Distance, R_upper, R_lower, R_border, Merge)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;A toroid ring the z axis,&lt;br /&gt;
with the lower torus part at y = 0 and the upper part at y = Center_Distance.&amp;lt;br&amp;gt;&lt;br /&gt;
The radius of the lower part is &amp;lt;code&amp;gt;R_lower&amp;lt;/code&amp;gt;,&lt;br /&gt;
the radius of the lower part is &amp;lt;code&amp;gt;R_lower&amp;lt;/code&amp;gt;&lt;br /&gt;
The minor radius of the toroid is &amp;lt;code&amp;gt;R_border&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Round_Conic_Prism( Center_Distance, R_upper, R_lower, Length_Zminus, R_Border, Merge)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;A shape of the toroidal form like &amp;lt;code&amp;gt;Round_Conic_Torus()&amp;lt;/code&amp;gt;,&lt;br /&gt;
          but filled and in the negativ z direction with the length &amp;lt;code&amp;gt; Length_Zminus&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Half_Hollowed_Rounded_Cylinder1( Length, R_out, R_border, BorderScale, Merge)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;A hollowed half rounded cylinder with the &amp;lt;code&amp;gt;Length&amp;lt;/code&amp;gt; in x, of the outer radius &amp;lt;code&amp;gt;R_out&amp;lt;/code&amp;gt;, with round ends.&lt;br /&gt;
The borders have a minor radius &amp;lt;code&amp;gt;R_border&amp;lt;/code&amp;gt; with the scale in y &amp;lt;code&amp;gt;BorderScale&amp;lt;/code&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
The inner radius is &amp;lt;code&amp;gt;R_out - R_border&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Half_Hollowed_Rounded_Cylinder2( Length, R_out, R_corner, R_border, BorderScale, Merge)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;A hollowed half rounded cylinder with the &amp;lt;code&amp;gt;Length&amp;lt;/code&amp;gt; in x, of the outer radius &amp;lt;code&amp;gt;R_out&amp;lt;/code&amp;gt;, with flat ends.&lt;br /&gt;
The corners have a minor radius of &amp;lt;code&amp;gt;R_corner&amp;lt;/code&amp;gt;,&lt;br /&gt;
the borders have a minor radius of &amp;lt;code&amp;gt;R_border&amp;lt;/code&amp;gt; with the scale in y &amp;lt;code&amp;gt;BorderScale&amp;lt;/code&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
The inner radius is &amp;lt;code&amp;gt;R_out - R_border&amp;lt;/code&amp;gt;, the inner lenght is &amp;lt;code&amp;gt;Length - 2*R_border&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Round_N_Tube_Polygon (N, Tube_R, R_incircle, Edge_R, Filled, Merge)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;A regular polygon with &amp;lt;code&amp;gt;N&amp;lt;/code&amp;gt; edges (or corners) with incircle radius &amp;lt;code&amp;gt;R_incircle&amp;lt;/code&amp;gt;,&lt;br /&gt;
formed by a tube with the minor radius &amp;lt;code&amp;gt;Tube_R&amp;lt;/code&amp;gt;.&lt;br /&gt;
The corners are formed by torus segments with the major radius radius &amp;lt;code&amp;gt;Edge_R&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;/div&gt;</summary>
		<author><name>Flohmuller</name></author>
	</entry>
	<entry>
		<id>https://wiki.povray.org/content?title=Reference:Shapes3.inc&amp;diff=7918</id>
		<title>Reference:Shapes3.inc</title>
		<link rel="alternate" type="text/html" href="https://wiki.povray.org/content?title=Reference:Shapes3.inc&amp;diff=7918"/>
		<updated>2013-04-17T21:38:35Z</updated>

		<summary type="html">&lt;p&gt;Flohmuller: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Include Files]]&lt;br /&gt;
This file contains macros for segments of shapes, facetted shapes and others.&lt;br /&gt;
&lt;br /&gt;
Segments of shapes:&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Segment_of_Torus ( R_major, R_minor, Segment_Angle )&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;Segment of a torus around the y axis. The angle starts at positive x axis.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
	 &lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Segment_of_CylinderRing ( R_out, R_in, Height, Segment_Angle )&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;Segment of a cylindrical ring around the y axis. The angle starts at positive x axis.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Segment_of_Object ( Segment_Object, Segment_Angle )&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;Segment of an object around the y axis. The angle starts at positive x axis.Based on min_extend and max_extend.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Angular shapes: &lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Column_N (N, R_in, Height )&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;A regular n-sided column around the y axis, defined by the incircle radius &amp;lt;code&amp;gt;R_in&amp;lt;/code&amp;gt;.&lt;br /&gt;
         &amp;lt;code&amp;gt;Height&amp;lt;/code&amp;gt; is the height in y direction.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Column_N_AB (N, A, B, R_in)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;A regular n-sided column from point &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; to  point &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;,&lt;br /&gt;
            defined by the incircle radius &amp;lt;code&amp;gt;R_in&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Pyramid_N   (N, R_in_1, R_in_2, Height )&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;A regular n-sided pyramid around the y axis,&lt;br /&gt;
            defined by the incircle radii:&lt;br /&gt;
            &amp;lt;code&amp;gt;R_in_1&amp;lt;/code&amp;gt; at y = 0 and &amp;lt;code&amp;gt;R_in_2&amp;lt;/code&amp;gt; at y = &amp;lt;code&amp;gt;Height&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Pyramid_N_AB(N, A, R_in_A, B, R_in_B)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;A regular n-sided column from point &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; to point &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;,&lt;br /&gt;
            defined by the incircle radii:&lt;br /&gt;
            &amp;lt;code&amp;gt;R_in_A&amp;lt;/code&amp;gt; at point &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;R_in_B&amp;lt;/code&amp;gt; at point &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Facetted shapes:&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Facetted_Sphere (Quarter_Segments, Radial_Segments)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A facetted sphere with incircle radius 1.&amp;lt;br&amp;gt;&lt;br /&gt;
        &amp;lt;code&amp;gt;Quarter_Segments&amp;lt;/code&amp;gt; = number of equitorial facetts in one quarter (1/2 of the total number).&amp;lt;br&amp;gt;&lt;br /&gt;
        &amp;lt;code&amp;gt;Radial_Segments&amp;lt;/code&amp;gt; = number of radial facetts.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Facetted_Egg_Shape (Quarter_Segments, Radial_Segments, Lower_Scale, Upper_Scale)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A facetted egg shape. The number of facetts are defined analog to &amp;lt;code&amp;gt;Facetted_Egg_Shape()&amp;lt;/code&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
            Equitorial incircle radius = 1.&lt;br /&gt;
             Lower half scaled in y by &amp;lt;code&amp;gt;Lower_Scale&amp;lt;/code&amp;gt;,&lt;br /&gt;
             Upper half scaled in y by &amp;lt;code&amp;gt;Upper_Scale&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Facetted_Egg (N_Quarter_Segments, N_Radial_Segments) &amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A facetted egg with total height = 2. Lower half scaled in y by 1.15, Upper half scaled in y by 1.55.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
Round shapes:&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Egg_Shape (Lower_Scale, Upper_Scale)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;An egg shape with equitorial radius 1. &amp;lt;br&amp;gt;&lt;br /&gt;
            Lower half scaled in y by &amp;lt;code&amp;gt;Lower_Scale&amp;lt;/code&amp;gt;,&lt;br /&gt;
            Upper half scaled in y by &amp;lt;code&amp;gt;Upper_Scale&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Egg&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;Uses the macro Egg_Shape.&amp;lt;br&amp;gt;&lt;br /&gt;
        Lower half scaled in y by 1.15, upper half scaled in y by 1.55.&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
Wireframe shape (mostly also optionally filled:&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Ring_Sphere (Rmaj_H, Rmaj_V, Rmin_H, Rmin_V, Number_of_Rings_horizontal, Number_of_Rings_vertical)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A wireframe sphere by vertical and horizontal torii. &amp;lt;br&amp;gt;&lt;br /&gt;
           Horizontal tori: equatorial radius major &amp;lt;code&amp;gt;Rmaj_H&amp;lt;/code&amp;gt;, radius minor &amp;lt;code&amp;gt;Rmin_H&amp;lt;/code&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
           Vertical  tori: radius major &amp;lt;code&amp;gt;Rmaj_V&amp;lt;/code&amp;gt;, radius minor &amp;lt;code&amp;gt;Rmin_V&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Round_Pyramid_N_out (N, A, CornerR_out_A, B, CornerR_out_B, R_Border, Filled, Merge ) &amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A regular n-sided column from point &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; to point &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;,&lt;br /&gt;
            defined by the outcircle radii:&lt;br /&gt;
            &amp;lt;code&amp;gt;R_in_A&amp;lt;/code&amp;gt; at point &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;R_in_B&amp;lt;/code&amp;gt; at point &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Round_Pyramid_N_in  (N, A, FaceR_in_A, B, FaceR_in_B, R_Border, Filled, Merge_On )&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A regular n-sided column from point &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; to point &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;,&lt;br /&gt;
            defined by the incircle radii:&lt;br /&gt;
            &amp;lt;code&amp;gt;R_in_A&amp;lt;/code&amp;gt; at point &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;R_in_B&amp;lt;/code&amp;gt; at point &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;..&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Round_Cylinder_Tube( A, B, R_out, R_border, Filled, Merge)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A cylindrical tube from point &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; to point &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;,&lt;br /&gt;
           with the outer radius &amp;lt;code&amp;gt;R_out&amp;lt;/code&amp;gt; and the border radius &amp;lt;code&amp;gt;R_border&amp;lt;/code&amp;gt;.&lt;br /&gt;
           The inner radius is &amp;lt;code&amp;gt;R_out - R_border&amp;lt;/code&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
            With &amp;lt;code&amp;gt;Filled&amp;lt;/code&amp;gt; = 1 we get a &amp;lt;code&amp;gt;Round_Cylinder&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Rounded_Tube( R_out, R_in, R_Border,  Height,  Merge)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A cylindrical tube around the y axis with the &amp;lt;code&amp;gt;Height&amp;lt;/code&amp;gt; in y, with the outer radius &amp;lt;code&amp;gt;R_out&amp;lt;/code&amp;gt;, the inner radius &amp;lt;code&amp;gt;R_in&amp;lt;/code&amp;gt;&lt;br /&gt;
            and the radius of the rounded borders &amp;lt;code&amp;gt;R_border&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Rounded_Tube_AB( A, B, R_out, R_in, R_Border, Merge)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A cylindrical tube from point &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt;  to  point &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
            The outer radius is &amp;lt;code&amp;gt;R_out&amp;lt;/code&amp;gt;, the inner radius is &amp;lt;code&amp;gt;R_in&amp;lt;/code&amp;gt;&lt;br /&gt;
            and the radius of the rounded borders is &amp;lt;code&amp;gt;R_border&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Round_Conic_Torus( Center_Distance, R_upper, R_lower, R_border, Merge)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A toroid ring the z axis,&lt;br /&gt;
         with the lower torus part at y = 0 and the upper part at y = Center_Distance. &amp;lt;br&amp;gt;&lt;br /&gt;
         The radius of the lower part is &amp;lt;code&amp;gt;R_lower&amp;lt;/code&amp;gt;,&lt;br /&gt;
         the radius of the lower part is &amp;lt;code&amp;gt;R_lower&amp;lt;/code&amp;gt;&lt;br /&gt;
          The minor radius of the toroid is &amp;lt;code&amp;gt;R_border&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Round_Conic_Prism( Center_Distance, R_upper, R_lower, Length_Zminus, R_Border, Merge)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A shape of the toroidal form like &amp;lt;code&amp;gt;Round_Conic_Torus()&amp;lt;/code&amp;gt;,&lt;br /&gt;
          but filled and in the negativ z direction with the length &amp;lt;code&amp;gt; Length_Zminus&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Half_Hollowed_Rounded_Cylinder1( Length, R_out, R_border, BorderScale, Merge)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A hollowed half rounded cylinder with the &amp;lt;code&amp;gt;Length&amp;lt;/code&amp;gt; in x, of the outer radius &amp;lt;code&amp;gt;R_out&amp;lt;/code&amp;gt;, with round ends.&lt;br /&gt;
            The borders have a minor radius &amp;lt;code&amp;gt;R_border&amp;lt;/code&amp;gt; with the scale in y &amp;lt;code&amp;gt;BorderScale&amp;lt;/code&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
            The inner radius is &amp;lt;code&amp;gt;R_out - R_border&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Half_Hollowed_Rounded_Cylinder2( Length, R_out, R_corner, R_border, BorderScale, Merge)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A hollowed half rounded cylinder with the &amp;lt;code&amp;gt;Length&amp;lt;/code&amp;gt; in x, of the outer radius &amp;lt;code&amp;gt;R_out&amp;lt;/code&amp;gt;, with flat ends.&lt;br /&gt;
            The corners have a minor radius of &amp;lt;code&amp;gt;R_corner&amp;lt;/code&amp;gt;,&lt;br /&gt;
             the borders have a minor radius of &amp;lt;code&amp;gt;R_border&amp;lt;/code&amp;gt; with the scale in y &amp;lt;code&amp;gt;BorderScale&amp;lt;/code&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
            The inner radius is &amp;lt;code&amp;gt;R_out - R_border&amp;lt;/code&amp;gt;, the inner lenght is &amp;lt;code&amp;gt;Length - 2*R_border&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Round_N_Tube_Polygon (N, Tube_R, R_incircle, Edge_R, Filled, Merge)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A regular polygon with &amp;lt;code&amp;gt;N&amp;lt;/code&amp;gt; edges (or corners) with incircle radius &amp;lt;code&amp;gt;R_incircle&amp;lt;/code&amp;gt;,&lt;br /&gt;
           formed by a tube with the minor radius &amp;lt;code&amp;gt;Tube_R&amp;lt;/code&amp;gt;.&lt;br /&gt;
            The corners are formed by torus segments with the major radius radius &amp;lt;code&amp;gt;Edge_R&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;/div&gt;</summary>
		<author><name>Flohmuller</name></author>
	</entry>
	<entry>
		<id>https://wiki.povray.org/content?title=Reference:Shapes3.inc&amp;diff=7917</id>
		<title>Reference:Shapes3.inc</title>
		<link rel="alternate" type="text/html" href="https://wiki.povray.org/content?title=Reference:Shapes3.inc&amp;diff=7917"/>
		<updated>2013-04-17T21:34:24Z</updated>

		<summary type="html">&lt;p&gt;Flohmuller: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Include Files]]&lt;br /&gt;
This file contains macros for segments of shapes, facetted shapes and others.&lt;br /&gt;
&lt;br /&gt;
Segments of shapes:&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Segment_of_Torus ( R_major, R_minor, Segment_Angle )&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;Segment of a torus around the y axis. The angle starts at positive x axis.&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
	 &lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Segment_of_CylinderRing ( R_out, R_in, Height, Segment_Angle )&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;Segment of a cylindrical ring around the y axis. The angle starts at positive x axis.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Segment_of_Object ( Segment_Object, Segment_Angle )&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;Segment of an object around the y axis. The angle starts at positive x axis.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt; &lt;br /&gt;
        &amp;lt;dd&amp;gt;Based on min_extend and max_extend.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Angular shapes: &lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Column_N (N, R_in, Height )&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;A regular n-sided column around the y axis, defined by the incircle radius &amp;lt;code&amp;gt;R_in&amp;lt;/code&amp;gt;.&lt;br /&gt;
         &amp;lt;code&amp;gt;Height&amp;lt;/code&amp;gt; is the height in y direction.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Column_N_AB (N, A, B, R_in)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;A regular n-sided column from point &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; to  point &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;,&lt;br /&gt;
            defined by the incircle radius &amp;lt;code&amp;gt;R_in&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Pyramid_N   (N, R_in_1, R_in_2, Height )&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;A regular n-sided pyramid around the y axis,&lt;br /&gt;
            defined by the incircle radii:&lt;br /&gt;
            &amp;lt;code&amp;gt;R_in_1&amp;lt;/code&amp;gt; at y = 0 and &amp;lt;code&amp;gt;R_in_2&amp;lt;/code&amp;gt; at y = &amp;lt;code&amp;gt;Height&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Pyramid_N_AB(N, A, R_in_A, B, R_in_B)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
	&amp;lt;dd&amp;gt;A regular n-sided column from point &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; to point &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;,&lt;br /&gt;
            defined by the incircle radii:&lt;br /&gt;
            &amp;lt;code&amp;gt;R_in_A&amp;lt;/code&amp;gt; at point &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;R_in_B&amp;lt;/code&amp;gt; at point &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Facetted shapes:&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Facetted_Sphere (Quarter_Segments, Radial_Segments)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A facetted sphere with incircle radius 1.&amp;lt;br&amp;gt;&lt;br /&gt;
        &amp;lt;code&amp;gt;Quarter_Segments&amp;lt;/code&amp;gt; = number of equitorial facetts in one quarter (1/2 of the total number).&amp;lt;br&amp;gt;&lt;br /&gt;
        &amp;lt;code&amp;gt;Radial_Segments&amp;lt;/code&amp;gt; = number of radial facetts.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Facetted_Egg_Shape (Quarter_Segments, Radial_Segments, Lower_Scale, Upper_Scale)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A facetted egg shape. The number of facetts are defined analog to &amp;lt;code&amp;gt;Facetted_Egg_Shape()&amp;lt;/code&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
            Equitorial incircle radius = 1.&lt;br /&gt;
             Lower half scaled in y by &amp;lt;code&amp;gt;Lower_Scale&amp;lt;/code&amp;gt;,&lt;br /&gt;
             Upper half scaled in y by &amp;lt;code&amp;gt;Upper_Scale&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Facetted_Egg (N_Quarter_Segments, N_Radial_Segments) &amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A facetted egg with total height = 2. Lower half scaled in y by 1.15, Upper half scaled in y by 1.55.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
Round shapes:&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Egg_Shape (Lower_Scale, Upper_Scale)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;An egg shape with equitorial radius 1. &amp;lt;br&amp;gt;&lt;br /&gt;
            Lower half scaled in y by &amp;lt;code&amp;gt;Lower_Scale&amp;lt;/code&amp;gt;,&lt;br /&gt;
            Upper half scaled in y by &amp;lt;code&amp;gt;Upper_Scale&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Egg&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;Uses the macro Egg_Shape.&amp;lt;br&amp;gt;&lt;br /&gt;
        Lower half scaled in y by 1.15, upper half scaled in y by 1.55.&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
Wireframe shape (mostly also optionally filled:&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Ring_Sphere (Rmaj_H, Rmaj_V, Rmin_H, Rmin_V, Number_of_Rings_horizontal, Number_of_Rings_vertical)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A wireframe sphere by vertical and horizontal torii. &amp;lt;br&amp;gt;&lt;br /&gt;
           Horizontal tori: equatorial radius major &amp;lt;code&amp;gt;Rmaj_H&amp;lt;/code&amp;gt;, radius minor &amp;lt;code&amp;gt;Rmin_H&amp;lt;/code&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
           Vertical  tori: radius major &amp;lt;code&amp;gt;Rmaj_V&amp;lt;/code&amp;gt;, radius minor &amp;lt;code&amp;gt;Rmin_V&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Round_Pyramid_N_out (N, A, CornerR_out_A, B, CornerR_out_B, R_Border, Filled, Merge ) &amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A regular n-sided column from point &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; to point &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;,&lt;br /&gt;
            defined by the outcircle radii:&lt;br /&gt;
            &amp;lt;code&amp;gt;R_in_A&amp;lt;/code&amp;gt; at point &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;R_in_B&amp;lt;/code&amp;gt; at point &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Round_Pyramid_N_in  (N, A, FaceR_in_A, B, FaceR_in_B, R_Border, Filled, Merge_On )&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A regular n-sided column from point &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; to point &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;,&lt;br /&gt;
            defined by the incircle radii:&lt;br /&gt;
            &amp;lt;code&amp;gt;R_in_A&amp;lt;/code&amp;gt; at point &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;R_in_B&amp;lt;/code&amp;gt; at point &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;..&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Round_Cylinder_Tube( A, B, R_out, R_border, Filled, Merge)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A cylindrical tube from point &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; to point &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;,&lt;br /&gt;
           with the outer radius &amp;lt;code&amp;gt;R_out&amp;lt;/code&amp;gt; and the border radius &amp;lt;code&amp;gt;R_border&amp;lt;/code&amp;gt;.&lt;br /&gt;
           The inner radius is &amp;lt;code&amp;gt;R_out - R_border&amp;lt;/code&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
            With &amp;lt;code&amp;gt;Filled&amp;lt;/code&amp;gt; = 1 we get a &amp;lt;code&amp;gt;Round_Cylinder&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Rounded_Tube( R_out, R_in, R_Border,  Height,  Merge)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A cylindrical tube around the y axis with the &amp;lt;code&amp;gt;Height&amp;lt;/code&amp;gt; in y, with the outer radius &amp;lt;code&amp;gt;R_out&amp;lt;/code&amp;gt;, the inner radius &amp;lt;code&amp;gt;R_in&amp;lt;/code&amp;gt;&lt;br /&gt;
            and the radius of the rounded borders &amp;lt;code&amp;gt;R_border&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Rounded_Tube_AB( A, B, R_out, R_in, R_Border, Merge)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A cylindrical tube from point &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt;  to  point &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
            The outer radius is &amp;lt;code&amp;gt;R_out&amp;lt;/code&amp;gt;, the inner radius is &amp;lt;code&amp;gt;R_in&amp;lt;/code&amp;gt;&lt;br /&gt;
            and the radius of the rounded borders is &amp;lt;code&amp;gt;R_border&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Round_Conic_Torus( Center_Distance, R_upper, R_lower, R_border, Merge)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A toroid ring the z axis,&lt;br /&gt;
         with the lower torus part at y = 0 and the upper part at y = Center_Distance. &amp;lt;br&amp;gt;&lt;br /&gt;
         The radius of the lower part is &amp;lt;code&amp;gt;R_lower&amp;lt;/code&amp;gt;,&lt;br /&gt;
         the radius of the lower part is &amp;lt;code&amp;gt;R_lower&amp;lt;/code&amp;gt;&lt;br /&gt;
          The minor radius of the toroid is &amp;lt;code&amp;gt;R_border&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Round_Conic_Prism( Center_Distance, R_upper, R_lower, Length_Zminus, R_Border, Merge)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A shape of the toroidal form like &amp;lt;code&amp;gt;Round_Conic_Torus()&amp;lt;/code&amp;gt;,&lt;br /&gt;
          but filled and in the negativ z direction with the length &amp;lt;code&amp;gt; Length_Zminus&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Half_Hollowed_Rounded_Cylinder1( Length, R_out, R_border, BorderScale, Merge)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A hollowed half rounded cylinder with the &amp;lt;code&amp;gt;Length&amp;lt;/code&amp;gt; in x, of the outer radius &amp;lt;code&amp;gt;R_out&amp;lt;/code&amp;gt;, with round ends.&lt;br /&gt;
            The borders have a minor radius &amp;lt;code&amp;gt;R_border&amp;lt;/code&amp;gt; with the scale in y &amp;lt;code&amp;gt;BorderScale&amp;lt;/code&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
            The inner radius is &amp;lt;code&amp;gt;R_out - R_border&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Half_Hollowed_Rounded_Cylinder2( Length, R_out, R_corner, R_border, BorderScale, Merge)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A hollowed half rounded cylinder with the &amp;lt;code&amp;gt;Length&amp;lt;/code&amp;gt; in x, of the outer radius &amp;lt;code&amp;gt;R_out&amp;lt;/code&amp;gt;, with flat ends.&lt;br /&gt;
            The corners have a minor radius of &amp;lt;code&amp;gt;R_corner&amp;lt;/code&amp;gt;,&lt;br /&gt;
             the borders have a minor radius of &amp;lt;code&amp;gt;R_border&amp;lt;/code&amp;gt; with the scale in y &amp;lt;code&amp;gt;BorderScale&amp;lt;/code&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
            The inner radius is &amp;lt;code&amp;gt;R_out - R_border&amp;lt;/code&amp;gt;, the inner lenght is &amp;lt;code&amp;gt;Length - 2*R_border&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Round_N_Tube_Polygon (N, Tube_R, R_incircle, Edge_R, Filled, Merge)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A regular polygon with &amp;lt;code&amp;gt;N&amp;lt;/code&amp;gt; edges (or corners) with incircle radius &amp;lt;code&amp;gt;R_incircle&amp;lt;/code&amp;gt;,&lt;br /&gt;
           formed by a tube with the minor radius &amp;lt;code&amp;gt;Tube_R&amp;lt;/code&amp;gt;.&lt;br /&gt;
            The corners are formed by torus segments with the major radius radius &amp;lt;code&amp;gt;Edge_R&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;/div&gt;</summary>
		<author><name>Flohmuller</name></author>
	</entry>
	<entry>
		<id>https://wiki.povray.org/content?title=Reference:Shapes3.inc&amp;diff=7916</id>
		<title>Reference:Shapes3.inc</title>
		<link rel="alternate" type="text/html" href="https://wiki.povray.org/content?title=Reference:Shapes3.inc&amp;diff=7916"/>
		<updated>2013-04-17T21:07:35Z</updated>

		<summary type="html">&lt;p&gt;Flohmuller: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Include Files]]&lt;br /&gt;
This file contains macros for segments of shapes, facetted shapes and others.&lt;br /&gt;
&lt;br /&gt;
Segments of shapes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Segment_of_Torus ( R_major, R_minor, Segment_Angle )&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
      Segment of a torus around the y axis. The angle starts at positive x axis. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Segment_of_CylinderRing ( R_out, R_in, Height, Segment_Angle )&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;Segment of a cylindrical ring around the y axis. The angle starts at positive x axis.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Segment_of_Object ( Segment_Object, Segment_Angle )&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;Segment of an object around the y axis. The angle starts at positive x axis.&amp;lt;br&amp;gt;&lt;br /&gt;
            Based on min_extend and max_extend.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Angular shapes: &lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Column_N (N, R_in, Height )&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A regular n-sided column around the y axis, defined by the incircle radius &amp;lt;code&amp;gt;R_in&amp;lt;/code&amp;gt;.&lt;br /&gt;
         &amp;lt;code&amp;gt;Height&amp;lt;/code&amp;gt; is the height in y direction.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Column_N_AB (N, A, B, R_in)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A regular n-sided column from point &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; to  point &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;,&lt;br /&gt;
            defined by the incircle radius &amp;lt;code&amp;gt;R_in&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Pyramid_N   (N, R_in_1, R_in_2, Height )&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A regular n-sided pyramid around the y axis,&lt;br /&gt;
            defined by the incircle radii:&lt;br /&gt;
            &amp;lt;code&amp;gt;R_in_1&amp;lt;/code&amp;gt; at y = 0 and &amp;lt;code&amp;gt;R_in_2&amp;lt;/code&amp;gt; at y = &amp;lt;code&amp;gt;Height&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Pyramid_N_AB(N, A, R_in_A, B, R_in_B)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A regular n-sided column from point &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; to point &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;,&lt;br /&gt;
            defined by the incircle radii:&lt;br /&gt;
            &amp;lt;code&amp;gt;R_in_A&amp;lt;/code&amp;gt; at point &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;R_in_B&amp;lt;/code&amp;gt; at point &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Facetted shapes:&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Facetted_Sphere (Quarter_Segments, Radial_Segments)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A facetted sphere with incircle radius 1.&amp;lt;br&amp;gt;&lt;br /&gt;
        &amp;lt;code&amp;gt;Quarter_Segments&amp;lt;/code&amp;gt; = number of equitorial facetts in one quarter (1/2 of the total number).&amp;lt;br&amp;gt;&lt;br /&gt;
        &amp;lt;code&amp;gt;Radial_Segments&amp;lt;/code&amp;gt; = number of radial facetts.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Facetted_Egg_Shape (Quarter_Segments, Radial_Segments, Lower_Scale, Upper_Scale)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A facetted egg shape. The number of facetts are defined analog to &amp;lt;code&amp;gt;Facetted_Egg_Shape()&amp;lt;/code&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
            Equitorial incircle radius = 1.&lt;br /&gt;
             Lower half scaled in y by &amp;lt;code&amp;gt;Lower_Scale&amp;lt;/code&amp;gt;,&lt;br /&gt;
             Upper half scaled in y by &amp;lt;code&amp;gt;Upper_Scale&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Facetted_Egg (N_Quarter_Segments, N_Radial_Segments) &amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A facetted egg with total height = 2. Lower half scaled in y by 1.15, Upper half scaled in y by 1.55.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
Round shapes:&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Egg_Shape (Lower_Scale, Upper_Scale)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;An egg shape with equitorial radius 1. &amp;lt;br&amp;gt;&lt;br /&gt;
            Lower half scaled in y by &amp;lt;code&amp;gt;Lower_Scale&amp;lt;/code&amp;gt;,&lt;br /&gt;
            Upper half scaled in y by &amp;lt;code&amp;gt;Upper_Scale&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Egg&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;Uses the macro Egg_Shape.&amp;lt;br&amp;gt;&lt;br /&gt;
        Lower half scaled in y by 1.15, upper half scaled in y by 1.55.&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
Wireframe shape (mostly also optionally filled:&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Ring_Sphere (Rmaj_H, Rmaj_V, Rmin_H, Rmin_V, Number_of_Rings_horizontal, Number_of_Rings_vertical)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A wireframe sphere by vertical and horizontal torii. &amp;lt;br&amp;gt;&lt;br /&gt;
           Horizontal tori: equatorial radius major &amp;lt;code&amp;gt;Rmaj_H&amp;lt;/code&amp;gt;, radius minor &amp;lt;code&amp;gt;Rmin_H&amp;lt;/code&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
           Vertical  tori: radius major &amp;lt;code&amp;gt;Rmaj_V&amp;lt;/code&amp;gt;, radius minor &amp;lt;code&amp;gt;Rmin_V&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Round_Pyramid_N_out (N, A, CornerR_out_A, B, CornerR_out_B, R_Border, Filled, Merge ) &amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A regular n-sided column from point &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; to point &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;,&lt;br /&gt;
            defined by the outcircle radii:&lt;br /&gt;
            &amp;lt;code&amp;gt;R_in_A&amp;lt;/code&amp;gt; at point &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;R_in_B&amp;lt;/code&amp;gt; at point &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Round_Pyramid_N_in  (N, A, FaceR_in_A, B, FaceR_in_B, R_Border, Filled, Merge_On )&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A regular n-sided column from point &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; to point &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;,&lt;br /&gt;
            defined by the incircle radii:&lt;br /&gt;
            &amp;lt;code&amp;gt;R_in_A&amp;lt;/code&amp;gt; at point &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;R_in_B&amp;lt;/code&amp;gt; at point &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;..&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Round_Cylinder_Tube( A, B, R_out, R_border, Filled, Merge)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A cylindrical tube from point &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; to point &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;,&lt;br /&gt;
           with the outer radius &amp;lt;code&amp;gt;R_out&amp;lt;/code&amp;gt; and the border radius &amp;lt;code&amp;gt;R_border&amp;lt;/code&amp;gt;.&lt;br /&gt;
           The inner radius is &amp;lt;code&amp;gt;R_out - R_border&amp;lt;/code&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
            With &amp;lt;code&amp;gt;Filled&amp;lt;/code&amp;gt; = 1 we get a &amp;lt;code&amp;gt;Round_Cylinder&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Rounded_Tube( R_out, R_in, R_Border,  Height,  Merge)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A cylindrical tube around the y axis with the &amp;lt;code&amp;gt;Height&amp;lt;/code&amp;gt; in y, with the outer radius &amp;lt;code&amp;gt;R_out&amp;lt;/code&amp;gt;, the inner radius &amp;lt;code&amp;gt;R_in&amp;lt;/code&amp;gt;&lt;br /&gt;
            and the radius of the rounded borders &amp;lt;code&amp;gt;R_border&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Rounded_Tube_AB( A, B, R_out, R_in, R_Border, Merge)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A cylindrical tube from point &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt;  to  point &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
            The outer radius is &amp;lt;code&amp;gt;R_out&amp;lt;/code&amp;gt;, the inner radius is &amp;lt;code&amp;gt;R_in&amp;lt;/code&amp;gt;&lt;br /&gt;
            and the radius of the rounded borders is &amp;lt;code&amp;gt;R_border&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Round_Conic_Torus( Center_Distance, R_upper, R_lower, R_border, Merge)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A toroid ring the z axis,&lt;br /&gt;
         with the lower torus part at y = 0 and the upper part at y = Center_Distance. &amp;lt;br&amp;gt;&lt;br /&gt;
         The radius of the lower part is &amp;lt;code&amp;gt;R_lower&amp;lt;/code&amp;gt;,&lt;br /&gt;
         the radius of the lower part is &amp;lt;code&amp;gt;R_lower&amp;lt;/code&amp;gt;&lt;br /&gt;
          The minor radius of the toroid is &amp;lt;code&amp;gt;R_border&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Round_Conic_Prism( Center_Distance, R_upper, R_lower, Length_Zminus, R_Border, Merge)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A shape of the toroidal form like &amp;lt;code&amp;gt;Round_Conic_Torus()&amp;lt;/code&amp;gt;,&lt;br /&gt;
          but filled and in the negativ z direction with the length &amp;lt;code&amp;gt; Length_Zminus&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Half_Hollowed_Rounded_Cylinder1( Length, R_out, R_border, BorderScale, Merge)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A hollowed half rounded cylinder with the &amp;lt;code&amp;gt;Length&amp;lt;/code&amp;gt; in x, of the outer radius &amp;lt;code&amp;gt;R_out&amp;lt;/code&amp;gt;, with round ends.&lt;br /&gt;
            The borders have a minor radius &amp;lt;code&amp;gt;R_border&amp;lt;/code&amp;gt; with the scale in y &amp;lt;code&amp;gt;BorderScale&amp;lt;/code&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
            The inner radius is &amp;lt;code&amp;gt;R_out - R_border&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Half_Hollowed_Rounded_Cylinder2( Length, R_out, R_corner, R_border, BorderScale, Merge)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A hollowed half rounded cylinder with the &amp;lt;code&amp;gt;Length&amp;lt;/code&amp;gt; in x, of the outer radius &amp;lt;code&amp;gt;R_out&amp;lt;/code&amp;gt;, with flat ends.&lt;br /&gt;
            The corners have a minor radius of &amp;lt;code&amp;gt;R_corner&amp;lt;/code&amp;gt;,&lt;br /&gt;
             the borders have a minor radius of &amp;lt;code&amp;gt;R_border&amp;lt;/code&amp;gt; with the scale in y &amp;lt;code&amp;gt;BorderScale&amp;lt;/code&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
            The inner radius is &amp;lt;code&amp;gt;R_out - R_border&amp;lt;/code&amp;gt;, the inner lenght is &amp;lt;code&amp;gt;Length - 2*R_border&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Round_N_Tube_Polygon (N, Tube_R, R_incircle, Edge_R, Filled, Merge)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A regular polygon with &amp;lt;code&amp;gt;N&amp;lt;/code&amp;gt; edges (or corners) with incircle radius &amp;lt;code&amp;gt;R_incircle&amp;lt;/code&amp;gt;,&lt;br /&gt;
           formed by a tube with the minor radius &amp;lt;code&amp;gt;Tube_R&amp;lt;/code&amp;gt;.&lt;br /&gt;
            The corners are formed by torus segments with the major radius radius &amp;lt;code&amp;gt;Edge_R&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;/div&gt;</summary>
		<author><name>Flohmuller</name></author>
	</entry>
	<entry>
		<id>https://wiki.povray.org/content?title=Reference:Shapes3.inc&amp;diff=7915</id>
		<title>Reference:Shapes3.inc</title>
		<link rel="alternate" type="text/html" href="https://wiki.povray.org/content?title=Reference:Shapes3.inc&amp;diff=7915"/>
		<updated>2013-04-17T21:02:55Z</updated>

		<summary type="html">&lt;p&gt;Flohmuller: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Include Files]]&lt;br /&gt;
This file contains macros for segments of shapes, facetted shapes and others.&lt;br /&gt;
&lt;br /&gt;
Segments of shapes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Segment_of_Torus ( R_major, R_minor, Segment_Angle )&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
 Segment of a torus around the y axis. The angle starts at positive x axis.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Segment_of_CylinderRing ( R_out, R_in, Height, Segment_Angle )&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;Segment of a cylindrical ring around the y axis. The angle starts at positive x axis.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Segment_of_Object ( Segment_Object, Segment_Angle )&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;Segment of an object around the y axis. The angle starts at positive x axis.&amp;lt;br&amp;gt;&lt;br /&gt;
            Based on min_extend and max_extend.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Angular shapes: &lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Column_N (N, R_in, Height )&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A regular n-sided column around the y axis, defined by the incircle radius &amp;lt;code&amp;gt;R_in&amp;lt;/code&amp;gt;.&lt;br /&gt;
         &amp;lt;code&amp;gt;Height&amp;lt;/code&amp;gt; is the height in y direction.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Column_N_AB (N, A, B, R_in)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A regular n-sided column from point &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; to  point &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;,&lt;br /&gt;
            defined by the incircle radius &amp;lt;code&amp;gt;R_in&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Pyramid_N   (N, R_in_1, R_in_2, Height )&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A regular n-sided pyramid around the y axis,&lt;br /&gt;
            defined by the incircle radii:&lt;br /&gt;
            &amp;lt;code&amp;gt;R_in_1&amp;lt;/code&amp;gt; at y = 0 and &amp;lt;code&amp;gt;R_in_2&amp;lt;/code&amp;gt; at y = &amp;lt;code&amp;gt;Height&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Pyramid_N_AB(N, A, R_in_A, B, R_in_B)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A regular n-sided column from point &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; to point &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;,&lt;br /&gt;
            defined by the incircle radii:&lt;br /&gt;
            &amp;lt;code&amp;gt;R_in_A&amp;lt;/code&amp;gt; at point &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;R_in_B&amp;lt;/code&amp;gt; at point &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Facetted shapes:&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Facetted_Sphere (Quarter_Segments, Radial_Segments)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A facetted sphere with incircle radius 1.&amp;lt;br&amp;gt;&lt;br /&gt;
        &amp;lt;code&amp;gt;Quarter_Segments&amp;lt;/code&amp;gt; = number of equitorial facetts in one quarter (1/2 of the total number).&amp;lt;br&amp;gt;&lt;br /&gt;
        &amp;lt;code&amp;gt;Radial_Segments&amp;lt;/code&amp;gt; = number of radial facetts.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Facetted_Egg_Shape (Quarter_Segments, Radial_Segments, Lower_Scale, Upper_Scale)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A facetted egg shape. The number of facetts are defined analog to &amp;lt;code&amp;gt;Facetted_Egg_Shape()&amp;lt;/code&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
            Equitorial incircle radius = 1.&lt;br /&gt;
             Lower half scaled in y by &amp;lt;code&amp;gt;Lower_Scale&amp;lt;/code&amp;gt;,&lt;br /&gt;
             Upper half scaled in y by &amp;lt;code&amp;gt;Upper_Scale&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Facetted_Egg (N_Quarter_Segments, N_Radial_Segments) &amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A facetted egg with total height = 2. Lower half scaled in y by 1.15, Upper half scaled in y by 1.55.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
Round shapes:&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Egg_Shape (Lower_Scale, Upper_Scale)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;An egg shape with equitorial radius 1. &amp;lt;br&amp;gt;&lt;br /&gt;
            Lower half scaled in y by &amp;lt;code&amp;gt;Lower_Scale&amp;lt;/code&amp;gt;,&lt;br /&gt;
            Upper half scaled in y by &amp;lt;code&amp;gt;Upper_Scale&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Egg&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;Uses the macro Egg_Shape.&amp;lt;br&amp;gt;&lt;br /&gt;
        Lower half scaled in y by 1.15, upper half scaled in y by 1.55.&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
Wireframe shape (mostly also optionally filled:&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Ring_Sphere (Rmaj_H, Rmaj_V, Rmin_H, Rmin_V, Number_of_Rings_horizontal, Number_of_Rings_vertical)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A wireframe sphere by vertical and horizontal torii. &amp;lt;br&amp;gt;&lt;br /&gt;
           Horizontal tori: equatorial radius major &amp;lt;code&amp;gt;Rmaj_H&amp;lt;/code&amp;gt;, radius minor &amp;lt;code&amp;gt;Rmin_H&amp;lt;/code&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
           Vertical  tori: radius major &amp;lt;code&amp;gt;Rmaj_V&amp;lt;/code&amp;gt;, radius minor &amp;lt;code&amp;gt;Rmin_V&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Round_Pyramid_N_out (N, A, CornerR_out_A, B, CornerR_out_B, R_Border, Filled, Merge ) &amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A regular n-sided column from point &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; to point &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;,&lt;br /&gt;
            defined by the outcircle radii:&lt;br /&gt;
            &amp;lt;code&amp;gt;R_in_A&amp;lt;/code&amp;gt; at point &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;R_in_B&amp;lt;/code&amp;gt; at point &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Round_Pyramid_N_in  (N, A, FaceR_in_A, B, FaceR_in_B, R_Border, Filled, Merge_On )&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A regular n-sided column from point &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; to point &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;,&lt;br /&gt;
            defined by the incircle radii:&lt;br /&gt;
            &amp;lt;code&amp;gt;R_in_A&amp;lt;/code&amp;gt; at point &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;R_in_B&amp;lt;/code&amp;gt; at point &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;..&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Round_Cylinder_Tube( A, B, R_out, R_border, Filled, Merge)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A cylindrical tube from point &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; to point &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;,&lt;br /&gt;
           with the outer radius &amp;lt;code&amp;gt;R_out&amp;lt;/code&amp;gt; and the border radius &amp;lt;code&amp;gt;R_border&amp;lt;/code&amp;gt;.&lt;br /&gt;
           The inner radius is &amp;lt;code&amp;gt;R_out - R_border&amp;lt;/code&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
            With &amp;lt;code&amp;gt;Filled&amp;lt;/code&amp;gt; = 1 we get a &amp;lt;code&amp;gt;Round_Cylinder&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Rounded_Tube( R_out, R_in, R_Border,  Height,  Merge)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A cylindrical tube around the y axis with the &amp;lt;code&amp;gt;Height&amp;lt;/code&amp;gt; in y, with the outer radius &amp;lt;code&amp;gt;R_out&amp;lt;/code&amp;gt;, the inner radius &amp;lt;code&amp;gt;R_in&amp;lt;/code&amp;gt;&lt;br /&gt;
            and the radius of the rounded borders &amp;lt;code&amp;gt;R_border&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Rounded_Tube_AB( A, B, R_out, R_in, R_Border, Merge)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A cylindrical tube from point &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt;  to  point &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
            The outer radius is &amp;lt;code&amp;gt;R_out&amp;lt;/code&amp;gt;, the inner radius is &amp;lt;code&amp;gt;R_in&amp;lt;/code&amp;gt;&lt;br /&gt;
            and the radius of the rounded borders is &amp;lt;code&amp;gt;R_border&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Round_Conic_Torus( Center_Distance, R_upper, R_lower, R_border, Merge)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A toroid ring the z axis,&lt;br /&gt;
         with the lower torus part at y = 0 and the upper part at y = Center_Distance. &amp;lt;br&amp;gt;&lt;br /&gt;
         The radius of the lower part is &amp;lt;code&amp;gt;R_lower&amp;lt;/code&amp;gt;,&lt;br /&gt;
         the radius of the lower part is &amp;lt;code&amp;gt;R_lower&amp;lt;/code&amp;gt;&lt;br /&gt;
          The minor radius of the toroid is &amp;lt;code&amp;gt;R_border&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Round_Conic_Prism( Center_Distance, R_upper, R_lower, Length_Zminus, R_Border, Merge)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A shape of the toroidal form like &amp;lt;code&amp;gt;Round_Conic_Torus()&amp;lt;/code&amp;gt;,&lt;br /&gt;
          but filled and in the negativ z direction with the length &amp;lt;code&amp;gt; Length_Zminus&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Half_Hollowed_Rounded_Cylinder1( Length, R_out, R_border, BorderScale, Merge)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A hollowed half rounded cylinder with the &amp;lt;code&amp;gt;Length&amp;lt;/code&amp;gt; in x, of the outer radius &amp;lt;code&amp;gt;R_out&amp;lt;/code&amp;gt;, with round ends.&lt;br /&gt;
            The borders have a minor radius &amp;lt;code&amp;gt;R_border&amp;lt;/code&amp;gt; with the scale in y &amp;lt;code&amp;gt;BorderScale&amp;lt;/code&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
            The inner radius is &amp;lt;code&amp;gt;R_out - R_border&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Half_Hollowed_Rounded_Cylinder2( Length, R_out, R_corner, R_border, BorderScale, Merge)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A hollowed half rounded cylinder with the &amp;lt;code&amp;gt;Length&amp;lt;/code&amp;gt; in x, of the outer radius &amp;lt;code&amp;gt;R_out&amp;lt;/code&amp;gt;, with flat ends.&lt;br /&gt;
            The corners have a minor radius of &amp;lt;code&amp;gt;R_corner&amp;lt;/code&amp;gt;,&lt;br /&gt;
             the borders have a minor radius of &amp;lt;code&amp;gt;R_border&amp;lt;/code&amp;gt; with the scale in y &amp;lt;code&amp;gt;BorderScale&amp;lt;/code&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
            The inner radius is &amp;lt;code&amp;gt;R_out - R_border&amp;lt;/code&amp;gt;, the inner lenght is &amp;lt;code&amp;gt;Length - 2*R_border&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Round_N_Tube_Polygon (N, Tube_R, R_incircle, Edge_R, Filled, Merge)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A regular polygon with &amp;lt;code&amp;gt;N&amp;lt;/code&amp;gt; edges (or corners) with incircle radius &amp;lt;code&amp;gt;R_incircle&amp;lt;/code&amp;gt;,&lt;br /&gt;
           formed by a tube with the minor radius &amp;lt;code&amp;gt;Tube_R&amp;lt;/code&amp;gt;.&lt;br /&gt;
            The corners are formed by torus segments with the major radius radius &amp;lt;code&amp;gt;Edge_R&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;/div&gt;</summary>
		<author><name>Flohmuller</name></author>
	</entry>
	<entry>
		<id>https://wiki.povray.org/content?title=Reference:Shapes3.inc&amp;diff=7914</id>
		<title>Reference:Shapes3.inc</title>
		<link rel="alternate" type="text/html" href="https://wiki.povray.org/content?title=Reference:Shapes3.inc&amp;diff=7914"/>
		<updated>2013-04-17T21:00:00Z</updated>

		<summary type="html">&lt;p&gt;Flohmuller: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Include Files]]&lt;br /&gt;
This file contains macros for segments of shapes, facetted shapes and others.&lt;br /&gt;
Segments of shapes:&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Segment_of_Torus ( R_major, R_minor, Segment_Angle )&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
 Segment of a torus around the y axis. The angle starts at positive x axis.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Segment_of_CylinderRing ( R_out, R_in, Height, Segment_Angle )&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;Segment of a cylindrical ring around the y axis. The angle starts at positive x axis.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Segment_of_Object ( Segment_Object, Segment_Angle )&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;Segment of an object around the y axis. The angle starts at positive x axis.&amp;lt;br&amp;gt;&lt;br /&gt;
            Based on min_extend and max_extend.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Angular shapes: &lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Column_N (N, R_in, Height )&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A regular n-sided column around the y axis, defined by the incircle radius &amp;lt;code&amp;gt;R_in&amp;lt;/code&amp;gt;.&lt;br /&gt;
         &amp;lt;code&amp;gt;Height&amp;lt;/code&amp;gt; is the height in y direction.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Column_N_AB (N, A, B, R_in)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A regular n-sided column from point &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; to  point &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;,&lt;br /&gt;
            defined by the incircle radius &amp;lt;code&amp;gt;R_in&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Pyramid_N   (N, R_in_1, R_in_2, Height )&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A regular n-sided pyramid around the y axis,&lt;br /&gt;
            defined by the incircle radii:&lt;br /&gt;
            &amp;lt;code&amp;gt;R_in_1&amp;lt;/code&amp;gt; at y = 0 and &amp;lt;code&amp;gt;R_in_2&amp;lt;/code&amp;gt; at y = &amp;lt;code&amp;gt;Height&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Pyramid_N_AB(N, A, R_in_A, B, R_in_B)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A regular n-sided column from point &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; to point &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;,&lt;br /&gt;
            defined by the incircle radii:&lt;br /&gt;
            &amp;lt;code&amp;gt;R_in_A&amp;lt;/code&amp;gt; at point &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;R_in_B&amp;lt;/code&amp;gt; at point &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Facetted shapes:&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Facetted_Sphere (Quarter_Segments, Radial_Segments)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A facetted sphere with incircle radius 1.&amp;lt;br&amp;gt;&lt;br /&gt;
        &amp;lt;code&amp;gt;Quarter_Segments&amp;lt;/code&amp;gt; = number of equitorial facetts in one quarter (1/2 of the total number).&amp;lt;br&amp;gt;&lt;br /&gt;
        &amp;lt;code&amp;gt;Radial_Segments&amp;lt;/code&amp;gt; = number of radial facetts.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Facetted_Egg_Shape (Quarter_Segments, Radial_Segments, Lower_Scale, Upper_Scale)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A facetted egg shape. The number of facetts are defined analog to &amp;lt;code&amp;gt;Facetted_Egg_Shape()&amp;lt;/code&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
            Equitorial incircle radius = 1.&lt;br /&gt;
             Lower half scaled in y by &amp;lt;code&amp;gt;Lower_Scale&amp;lt;/code&amp;gt;,&lt;br /&gt;
             Upper half scaled in y by &amp;lt;code&amp;gt;Upper_Scale&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Facetted_Egg (N_Quarter_Segments, N_Radial_Segments) &amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A facetted egg with total height = 2. Lower half scaled in y by 1.15, Upper half scaled in y by 1.55.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
Round shapes:&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Egg_Shape (Lower_Scale, Upper_Scale)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;An egg shape with equitorial radius 1. &amp;lt;br&amp;gt;&lt;br /&gt;
            Lower half scaled in y by &amp;lt;code&amp;gt;Lower_Scale&amp;lt;/code&amp;gt;,&lt;br /&gt;
            Upper half scaled in y by &amp;lt;code&amp;gt;Upper_Scale&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Egg&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;Uses the macro Egg_Shape.&amp;lt;br&amp;gt;&lt;br /&gt;
        Lower half scaled in y by 1.15, upper half scaled in y by 1.55.&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
Wireframe shape (mostly also optionally filled:&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Ring_Sphere (Rmaj_H, Rmaj_V, Rmin_H, Rmin_V, Number_of_Rings_horizontal, Number_of_Rings_vertical)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A wireframe sphere by vertical and horizontal torii. &amp;lt;br&amp;gt;&lt;br /&gt;
           Horizontal tori: equatorial radius major &amp;lt;code&amp;gt;Rmaj_H&amp;lt;/code&amp;gt;, radius minor &amp;lt;code&amp;gt;Rmin_H&amp;lt;/code&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
           Vertical  tori: radius major &amp;lt;code&amp;gt;Rmaj_V&amp;lt;/code&amp;gt;, radius minor &amp;lt;code&amp;gt;Rmin_V&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Round_Pyramid_N_out (N, A, CornerR_out_A, B, CornerR_out_B, R_Border, Filled, Merge ) &amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A regular n-sided column from point &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; to point &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;,&lt;br /&gt;
            defined by the outcircle radii:&lt;br /&gt;
            &amp;lt;code&amp;gt;R_in_A&amp;lt;/code&amp;gt; at point &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;R_in_B&amp;lt;/code&amp;gt; at point &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Round_Pyramid_N_in  (N, A, FaceR_in_A, B, FaceR_in_B, R_Border, Filled, Merge_On )&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A regular n-sided column from point &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; to point &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;,&lt;br /&gt;
            defined by the incircle radii:&lt;br /&gt;
            &amp;lt;code&amp;gt;R_in_A&amp;lt;/code&amp;gt; at point &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;R_in_B&amp;lt;/code&amp;gt; at point &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;..&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Round_Cylinder_Tube( A, B, R_out, R_border, Filled, Merge)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A cylindrical tube from point &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; to point &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;,&lt;br /&gt;
           with the outer radius &amp;lt;code&amp;gt;R_out&amp;lt;/code&amp;gt; and the border radius &amp;lt;code&amp;gt;R_border&amp;lt;/code&amp;gt;.&lt;br /&gt;
           The inner radius is &amp;lt;code&amp;gt;R_out - R_border&amp;lt;/code&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
            With &amp;lt;code&amp;gt;Filled&amp;lt;/code&amp;gt; = 1 we get a &amp;lt;code&amp;gt;Round_Cylinder&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Rounded_Tube( R_out, R_in, R_Border,  Height,  Merge)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A cylindrical tube around the y axis with the &amp;lt;code&amp;gt;Height&amp;lt;/code&amp;gt; in y, with the outer radius &amp;lt;code&amp;gt;R_out&amp;lt;/code&amp;gt;, the inner radius &amp;lt;code&amp;gt;R_in&amp;lt;/code&amp;gt;&lt;br /&gt;
            and the radius of the rounded borders &amp;lt;code&amp;gt;R_border&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Rounded_Tube_AB( A, B, R_out, R_in, R_Border, Merge)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A cylindrical tube from point &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt;  to  point &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
            The outer radius is &amp;lt;code&amp;gt;R_out&amp;lt;/code&amp;gt;, the inner radius is &amp;lt;code&amp;gt;R_in&amp;lt;/code&amp;gt;&lt;br /&gt;
            and the radius of the rounded borders is &amp;lt;code&amp;gt;R_border&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Round_Conic_Torus( Center_Distance, R_upper, R_lower, R_border, Merge)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A toroid ring the z axis,&lt;br /&gt;
         with the lower torus part at y = 0 and the upper part at y = Center_Distance. &amp;lt;br&amp;gt;&lt;br /&gt;
         The radius of the lower part is &amp;lt;code&amp;gt;R_lower&amp;lt;/code&amp;gt;,&lt;br /&gt;
         the radius of the lower part is &amp;lt;code&amp;gt;R_lower&amp;lt;/code&amp;gt;&lt;br /&gt;
          The minor radius of the toroid is &amp;lt;code&amp;gt;R_border&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Round_Conic_Prism( Center_Distance, R_upper, R_lower, Length_Zminus, R_Border, Merge)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A shape of the toroidal form like &amp;lt;code&amp;gt;Round_Conic_Torus()&amp;lt;/code&amp;gt;,&lt;br /&gt;
          but filled and in the negativ z direction with the length &amp;lt;code&amp;gt; Length_Zminus&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Half_Hollowed_Rounded_Cylinder1( Length, R_out, R_border, BorderScale, Merge)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A hollowed half rounded cylinder with the &amp;lt;code&amp;gt;Length&amp;lt;/code&amp;gt; in x, of the outer radius &amp;lt;code&amp;gt;R_out&amp;lt;/code&amp;gt;, with round ends.&lt;br /&gt;
            The borders have a minor radius &amp;lt;code&amp;gt;R_border&amp;lt;/code&amp;gt; with the scale in y &amp;lt;code&amp;gt;BorderScale&amp;lt;/code&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
            The inner radius is &amp;lt;code&amp;gt;R_out - R_border&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Half_Hollowed_Rounded_Cylinder2( Length, R_out, R_corner, R_border, BorderScale, Merge)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A hollowed half rounded cylinder with the &amp;lt;code&amp;gt;Length&amp;lt;/code&amp;gt; in x, of the outer radius &amp;lt;code&amp;gt;R_out&amp;lt;/code&amp;gt;, with flat ends.&lt;br /&gt;
            The corners have a minor radius of &amp;lt;code&amp;gt;R_corner&amp;lt;/code&amp;gt;,&lt;br /&gt;
             the borders have a minor radius of &amp;lt;code&amp;gt;R_border&amp;lt;/code&amp;gt; with the scale in y &amp;lt;code&amp;gt;BorderScale&amp;lt;/code&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
            The inner radius is &amp;lt;code&amp;gt;R_out - R_border&amp;lt;/code&amp;gt;, the inner lenght is &amp;lt;code&amp;gt;Length - 2*R_border&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Round_N_Tube_Polygon (N, Tube_R, R_incircle, Edge_R, Filled, Merge)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A regular polygon with &amp;lt;code&amp;gt;N&amp;lt;/code&amp;gt; edges (or corners) with incircle radius &amp;lt;code&amp;gt;R_incircle&amp;lt;/code&amp;gt;,&lt;br /&gt;
           formed by a tube with the minor radius &amp;lt;code&amp;gt;Tube_R&amp;lt;/code&amp;gt;.&lt;br /&gt;
            The corners are formed by torus segments with the major radius radius &amp;lt;code&amp;gt;Edge_R&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;/div&gt;</summary>
		<author><name>Flohmuller</name></author>
	</entry>
	<entry>
		<id>https://wiki.povray.org/content?title=Reference:Shapes3.inc&amp;diff=7913</id>
		<title>Reference:Shapes3.inc</title>
		<link rel="alternate" type="text/html" href="https://wiki.povray.org/content?title=Reference:Shapes3.inc&amp;diff=7913"/>
		<updated>2013-04-17T20:58:54Z</updated>

		<summary type="html">&lt;p&gt;Flohmuller: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Include Files]]&lt;br /&gt;
This file contains macros for segments of shapes, facetted shapes and others.&lt;br /&gt;
Segments of shapes:&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Segment_of_Torus ( R_major, R_minor, Segment_Angle )&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;Segment of a torus around the y axis. The angle starts at positive x axis.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Segment_of_CylinderRing ( R_out, R_in, Height, Segment_Angle )&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;Segment of a cylindrical ring around the y axis. The angle starts at positive x axis.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Segment_of_Object ( Segment_Object, Segment_Angle )&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;Segment of an object around the y axis. The angle starts at positive x axis.&amp;lt;br&amp;gt;&lt;br /&gt;
            Based on min_extend and max_extend.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Angular shapes: &lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Column_N (N, R_in, Height )&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A regular n-sided column around the y axis, defined by the incircle radius &amp;lt;code&amp;gt;R_in&amp;lt;/code&amp;gt;.&lt;br /&gt;
         &amp;lt;code&amp;gt;Height&amp;lt;/code&amp;gt; is the height in y direction.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Column_N_AB (N, A, B, R_in)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A regular n-sided column from point &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; to  point &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;,&lt;br /&gt;
            defined by the incircle radius &amp;lt;code&amp;gt;R_in&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Pyramid_N   (N, R_in_1, R_in_2, Height )&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A regular n-sided pyramid around the y axis,&lt;br /&gt;
            defined by the incircle radii:&lt;br /&gt;
            &amp;lt;code&amp;gt;R_in_1&amp;lt;/code&amp;gt; at y = 0 and &amp;lt;code&amp;gt;R_in_2&amp;lt;/code&amp;gt; at y = &amp;lt;code&amp;gt;Height&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Pyramid_N_AB(N, A, R_in_A, B, R_in_B)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A regular n-sided column from point &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; to point &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;,&lt;br /&gt;
            defined by the incircle radii:&lt;br /&gt;
            &amp;lt;code&amp;gt;R_in_A&amp;lt;/code&amp;gt; at point &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;R_in_B&amp;lt;/code&amp;gt; at point &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Facetted shapes:&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Facetted_Sphere (Quarter_Segments, Radial_Segments)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A facetted sphere with incircle radius 1.&amp;lt;br&amp;gt;&lt;br /&gt;
        &amp;lt;code&amp;gt;Quarter_Segments&amp;lt;/code&amp;gt; = number of equitorial facetts in one quarter (1/2 of the total number).&amp;lt;br&amp;gt;&lt;br /&gt;
        &amp;lt;code&amp;gt;Radial_Segments&amp;lt;/code&amp;gt; = number of radial facetts.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Facetted_Egg_Shape (Quarter_Segments, Radial_Segments, Lower_Scale, Upper_Scale)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A facetted egg shape. The number of facetts are defined analog to &amp;lt;code&amp;gt;Facetted_Egg_Shape()&amp;lt;/code&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
            Equitorial incircle radius = 1.&lt;br /&gt;
             Lower half scaled in y by &amp;lt;code&amp;gt;Lower_Scale&amp;lt;/code&amp;gt;,&lt;br /&gt;
             Upper half scaled in y by &amp;lt;code&amp;gt;Upper_Scale&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Facetted_Egg (N_Quarter_Segments, N_Radial_Segments) &amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A facetted egg with total height = 2. Lower half scaled in y by 1.15, Upper half scaled in y by 1.55.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
Round shapes:&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Egg_Shape (Lower_Scale, Upper_Scale)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;An egg shape with equitorial radius 1. &amp;lt;br&amp;gt;&lt;br /&gt;
            Lower half scaled in y by &amp;lt;code&amp;gt;Lower_Scale&amp;lt;/code&amp;gt;,&lt;br /&gt;
            Upper half scaled in y by &amp;lt;code&amp;gt;Upper_Scale&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Egg&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;Uses the macro Egg_Shape.&amp;lt;br&amp;gt;&lt;br /&gt;
        Lower half scaled in y by 1.15, upper half scaled in y by 1.55.&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
Wireframe shape (mostly also optionally filled:&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Ring_Sphere (Rmaj_H, Rmaj_V, Rmin_H, Rmin_V, Number_of_Rings_horizontal, Number_of_Rings_vertical)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A wireframe sphere by vertical and horizontal torii. &amp;lt;br&amp;gt;&lt;br /&gt;
           Horizontal tori: equatorial radius major &amp;lt;code&amp;gt;Rmaj_H&amp;lt;/code&amp;gt;, radius minor &amp;lt;code&amp;gt;Rmin_H&amp;lt;/code&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
           Vertical  tori: radius major &amp;lt;code&amp;gt;Rmaj_V&amp;lt;/code&amp;gt;, radius minor &amp;lt;code&amp;gt;Rmin_V&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Round_Pyramid_N_out (N, A, CornerR_out_A, B, CornerR_out_B, R_Border, Filled, Merge ) &amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A regular n-sided column from point &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; to point &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;,&lt;br /&gt;
            defined by the outcircle radii:&lt;br /&gt;
            &amp;lt;code&amp;gt;R_in_A&amp;lt;/code&amp;gt; at point &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;R_in_B&amp;lt;/code&amp;gt; at point &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Round_Pyramid_N_in  (N, A, FaceR_in_A, B, FaceR_in_B, R_Border, Filled, Merge_On )&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A regular n-sided column from point &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; to point &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;,&lt;br /&gt;
            defined by the incircle radii:&lt;br /&gt;
            &amp;lt;code&amp;gt;R_in_A&amp;lt;/code&amp;gt; at point &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;R_in_B&amp;lt;/code&amp;gt; at point &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;..&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Round_Cylinder_Tube( A, B, R_out, R_border, Filled, Merge)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A cylindrical tube from point &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; to point &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;,&lt;br /&gt;
           with the outer radius &amp;lt;code&amp;gt;R_out&amp;lt;/code&amp;gt; and the border radius &amp;lt;code&amp;gt;R_border&amp;lt;/code&amp;gt;.&lt;br /&gt;
           The inner radius is &amp;lt;code&amp;gt;R_out - R_border&amp;lt;/code&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
            With &amp;lt;code&amp;gt;Filled&amp;lt;/code&amp;gt; = 1 we get a &amp;lt;code&amp;gt;Round_Cylinder&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Rounded_Tube( R_out, R_in, R_Border,  Height,  Merge)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A cylindrical tube around the y axis with the &amp;lt;code&amp;gt;Height&amp;lt;/code&amp;gt; in y, with the outer radius &amp;lt;code&amp;gt;R_out&amp;lt;/code&amp;gt;, the inner radius &amp;lt;code&amp;gt;R_in&amp;lt;/code&amp;gt;&lt;br /&gt;
            and the radius of the rounded borders &amp;lt;code&amp;gt;R_border&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Rounded_Tube_AB( A, B, R_out, R_in, R_Border, Merge)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A cylindrical tube from point &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt;  to  point &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
            The outer radius is &amp;lt;code&amp;gt;R_out&amp;lt;/code&amp;gt;, the inner radius is &amp;lt;code&amp;gt;R_in&amp;lt;/code&amp;gt;&lt;br /&gt;
            and the radius of the rounded borders is &amp;lt;code&amp;gt;R_border&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Round_Conic_Torus( Center_Distance, R_upper, R_lower, R_border, Merge)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A toroid ring the z axis,&lt;br /&gt;
         with the lower torus part at y = 0 and the upper part at y = Center_Distance. &amp;lt;br&amp;gt;&lt;br /&gt;
         The radius of the lower part is &amp;lt;code&amp;gt;R_lower&amp;lt;/code&amp;gt;,&lt;br /&gt;
         the radius of the lower part is &amp;lt;code&amp;gt;R_lower&amp;lt;/code&amp;gt;&lt;br /&gt;
          The minor radius of the toroid is &amp;lt;code&amp;gt;R_border&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Round_Conic_Prism( Center_Distance, R_upper, R_lower, Length_Zminus, R_Border, Merge)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A shape of the toroidal form like &amp;lt;code&amp;gt;Round_Conic_Torus()&amp;lt;/code&amp;gt;,&lt;br /&gt;
          but filled and in the negativ z direction with the length &amp;lt;code&amp;gt; Length_Zminus&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Half_Hollowed_Rounded_Cylinder1( Length, R_out, R_border, BorderScale, Merge)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A hollowed half rounded cylinder with the &amp;lt;code&amp;gt;Length&amp;lt;/code&amp;gt; in x, of the outer radius &amp;lt;code&amp;gt;R_out&amp;lt;/code&amp;gt;, with round ends.&lt;br /&gt;
            The borders have a minor radius &amp;lt;code&amp;gt;R_border&amp;lt;/code&amp;gt; with the scale in y &amp;lt;code&amp;gt;BorderScale&amp;lt;/code&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
            The inner radius is &amp;lt;code&amp;gt;R_out - R_border&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Half_Hollowed_Rounded_Cylinder2( Length, R_out, R_corner, R_border, BorderScale, Merge)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A hollowed half rounded cylinder with the &amp;lt;code&amp;gt;Length&amp;lt;/code&amp;gt; in x, of the outer radius &amp;lt;code&amp;gt;R_out&amp;lt;/code&amp;gt;, with flat ends.&lt;br /&gt;
            The corners have a minor radius of &amp;lt;code&amp;gt;R_corner&amp;lt;/code&amp;gt;,&lt;br /&gt;
             the borders have a minor radius of &amp;lt;code&amp;gt;R_border&amp;lt;/code&amp;gt; with the scale in y &amp;lt;code&amp;gt;BorderScale&amp;lt;/code&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
            The inner radius is &amp;lt;code&amp;gt;R_out - R_border&amp;lt;/code&amp;gt;, the inner lenght is &amp;lt;code&amp;gt;Length - 2*R_border&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;code&amp;gt;Round_N_Tube_Polygon (N, Tube_R, R_incircle, Edge_R, Filled, Merge)&amp;lt;/code&amp;gt;&amp;lt;!--&amp;lt;/dt&amp;gt;---&amp;gt;&lt;br /&gt;
        &amp;lt;dd&amp;gt;A regular polygon with &amp;lt;code&amp;gt;N&amp;lt;/code&amp;gt; edges (or corners) with incircle radius &amp;lt;code&amp;gt;R_incircle&amp;lt;/code&amp;gt;,&lt;br /&gt;
           formed by a tube with the minor radius &amp;lt;code&amp;gt;Tube_R&amp;lt;/code&amp;gt;.&lt;br /&gt;
            The corners are formed by torus segments with the major radius radius &amp;lt;code&amp;gt;Edge_R&amp;lt;/code&amp;gt;.&amp;lt;!--&amp;lt;/dd&amp;gt;---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;/div&gt;</summary>
		<author><name>Flohmuller</name></author>
	</entry>
</feed>