# i_algbr Library part 3

 See here for details of "Field Strength", "Field Limit", "SOR switch", "SOR offset" and "SOR angle" parameters The Quartic paraboloid is similar to a paraboloid, but has a squarer shape. The parameters are: Field Strength ``` function { -f_quartic_paraboloid(x,y,z,1)} ``` The Quartic saddle is similar to a saddle, but has a squarer shape. The parameters are: Field Strength ``` function { f_quartic_saddle(x,y,z,1)} ``` The Quartic cylinder looks a bit like a cylinder that's swallowed an egg. The parameters are: Field Strength Diameter of the "egg". Controls the width of the tube and the vertical scale of the "egg". ``` function { - f_quartic_cylinder(x,y,z,1,0.6,0.3)} ``` The "Steiners Roman" is composed of four identical triangular pads which together make up a sort of rounded tetrahedron. There are creases along the X, Y and Z axes where the pads meet. It is a model of the projective plane. The parameters are: Field Strength ``` function { f_steiners_roman(x,y,z,-1)+0} ``` The Strophoid is like an infinite plane with a bulb sticking out of it. The parameters are: Field Strength Size of bulb. Larger values give larger bulbs. Negative values give a bulb on the other side of the plane. Sharpness. When zero, the bulb is like a sphere that just touches the plane. When positive, there is a crossover point. When negative the bulb simply bulges out of the plane like a pimple. Fatness. Higher values make the top end of the bulb fatter. When the Size and Sharpness parameters are equal, the surface is given the special name "right strophid". When the Size parameter is 3 times the Sharpness, the surface is given the special name "trisectrix of Maclaurin". ``` function { f_strophoid(x,y,z,1,1.5,1,1.2)} ``` The 2d strophid curve can be extruded in the Z direction or rotated about various axes by using the SOR parameters. The parameters are: Field Strength Size of bulb. Larger values give larger bulbs. Negative values give a bulb on the other side of the plane. Sharpness. When zero, the bulb is like a sphere that just touches the plane. When positive, there is a crossover point. When negative the bulb simply bulges out of the plane like a pimple. Fatness. Higher values make the top end of the bulb fatter. SOR switch SOR offset SOR angle ``` function { f_strophoid_2d(x,y,z,-1,1.5,1,1.2,1,1,180)} ``` I've rotated this Glob function through z*90 so that it looks like a falling drip of thick liquid. The parameters are: Field Strength ``` function { f_glob(x,y,z,-1)} ``` This "pillow" surface apparently featured on the back cover of the 1992 Siggraph proceedings. The parameters are: Field Strength ``` function { f_pillow(x,y,z,1)} ``` This is the "Crossed Trough" surface. The parameters are: Field Strength ``` function { - f_crossed_trough(x,y,z,1)+0} ``` The "Witch of Agnesi" surface looks something like a witches hat. The parameters are: Field Strength Controls the width of the spike. The height of the spike is always about 1 unit. ``` function { - f_witch_of_agnesi(x,y,z,1,0.02)} ``` The 2d version of the Witch of Agnesi curve can be extruded in the Z direction or rotated about various axes by use of the SOR parameters. The parameters are: Field Strength Controls the size of the spike. Controls the height of the spike. To produce a surface that matches the 3d version, the height parameter needs to be the square of the size parameter. ``` function { -f_witch_of_agnesi_2d (x,y,z,1, 0.2, 0.04, 1, 0, 0)} ``` The "Mitre" surface looks a bit like an ellipsoid which has been nipped at each end with a pair of sharp nosed pliers. The parameters are: Field Strength ``` function { f_mitre(x,y,z,-1)} ``` One odd thing about the "Odd" surface is that it's identical to the "Cushion" surface. This time I've cut it in half so that you can see the way that the rear face puckers forward to meet the dimple from the front face. The parameters are: Field Strength ``` function { f_odd(x,y,z,-1)} ``` The "Heart" - a surface for Valentine's Day. The parameters are: Field Strength ``` function { f_heart(z,x,y,-1)} ``` The Nodal Cubic is something like what you'd get if you were to extrude the Stophid2D curve along the X axis and then lean it over. The parameters are: Field Strength ``` function { f_nodal_cubic(x,y,z,-0.1)} ``` This is the "Umbrella" surface The parameters are: Field Strength ``` function { f_umbrella(x,y,z,1)} ``` This is the Enneper surface. The parameters are: Field Strength ``` function { f_enneper(x,y,z,-0.1)} ```