###### Descriptions and Examples for the POV-Ray Raytracerby Friedrich A. Lohmüller     POV-Ray Examples - How To Make Objects for POV-Ray
Italiano
Français
Deutsch

Home
- POV-Ray Tutorial

- POV-Ray Examples
Index of Content
- Geometry
- Pawn
- Wireframe Cube
- Octagon
- Egg Shape
- Star
- Optical Lens
- Chessboard
- Round-bottom Mace
- Erlenmeyer Shape
- Two-Cylinder-Blob
- Regular Tetrahedron
- Penrose Triangle
- Yin & Yang
- Fishblob
- Threefold
- Trefoil
- Architecture
- Engineering

# Round-bottom Mace

###### The construction of the shape of a round-bottom mace - a combination of a bowl and a cylinder with a rounded fillet at the neck base for a flask. Objects:   "box", "sphere", "cylinder" "torus". Methods: "#declare","union", "intersection" "#macro". Click here for an example!

The Construction of a Round-bottom Mace.
A cross-section with the geometry of this construction you can see on the opposite image.
For more details on the elementary geometry
look here: Tangent Circles.

To get a perfectly rounded fillet at the base of the neck, we have to calculate the distance of the torus for the fillet and the sphere of the bowl. Also the coordinates of the point S are necessary for the width and heights of the central cylinder, from which we want to subtract the torus for the fillet.
To allow transparent materials like glass, we need to be able to use 'merge' instead of 'union'.

 ```// ----------------------------------------- #local M1 = ; #local Y2 = sqrt( pow(Fillet_R+Bowl_R,2)-pow(M1.x,2) ); #local M2 = <0,-Y2,0>; #local XS = M1.x*Bowl_R/(Fillet_R+Bowl_R); #local YS = M2.y*Fillet_R/(Fillet_R+Bowl_R); #local S = ; // -------------------------------------- // calculation of real height #declare Total_Height = Y2 + Bowl_R + Neck_L; //--------------------------------------- // base shape --------------------------- #if ( Merge_On = 1) merge{ #else union{ #end difference{ cylinder{<0,0,0>,<0,S.y,0>,S.x} torus{ M1.x, Fillet_R } }// end diff sphere{ M2, Bowl_R } // neck -------------------------------- #if (Neck_L > 0) cylinder{<0,-D,0>, <0,Neck_L,0>,Neck_R} #end // of "#if( Neck_L > 0 )" //-------------------------------------- translate<0,-M2.y+Bowl_R,0> } // end of union or merge ----------------- ```
Cross-section of the construction
of a round-bottom mace.

Demo of the construction method
for the round-bottom mace.