|
|
Is it possible to convert the Code for the Predefined Shapes into Isosurface
Code?
Any external programs that can do this?
How do I write Isosurface Code for all the Predefined Shapes such as Torus,
Sphere, Cube, Rounded cube, cylinder and etc?
For example, I want to convert the code for the Predefined Shape Prism, How
do I so?
// extrude a closed 2-D shape along an axis
prism {
linear_sweep // or conic_sweep for tapering to a point
linear_spline // linear_spline | quadratic_spline | cubic_spline |
bezier_spline
-0.5, // height 1
0.5, // height 2
10, // number of points
// (--- the <u,v> points ---)
< 0.2, -1.0>, < 0.2, 0.2>, < 1.0, -0.2>, < 1.0, 0.2>, < 0.2, 1.0>,
<-0.2, 1.0>, <-1.0, 0.2>, <-1.0, -0.2>, <-0.2, 0.2>, <-0.2, -1.0>
// , <0.2, 0.2> // match 2nd point, if quadratic_spline add this
// , <0.2, -1.0> // match 1st point, if cubic_spline add this as well as
the other
// [open]
// [sturm]
}
What parameters do I change to match the above code?
// create a isosurface object - the equipotential surface
// of a 3D math function f(x, y, z)
#declare fn_X = function(x,y,z) { x*x + y*y - 1 } // cylinder function
isosurface {
function { x*x + y*y - 1 } // function (can also contain declared
functions
//function { fn_X(x, y, z) } // alternative declared function
contained_by { box { -1.2, 1.2 } } // container shape
//threshold 0.0 // optional threshold value for
isosurface [0.0]
accuracy 0.001 // accuracy of calculation [0.001]
max_gradient 4 // maximum gradient the function can
have [1.1]
//evaluate 5, 1.2, 0.95 // evaluate the maximum gradient
//max_trace 1 // maybe increase for use in CSG [1]
//all_intersections // alternative to 'max_trace'
//open // remove visible container surface
}
Post a reply to this message
|
|