Iso Surface SOP

From Derivative
Jump to: navigation, search

Summary
[edit]

The Iso Surface SOP uses implicit functions to create 3D visualizations of isometric surfaces found in Grade 12 Functions and Relations textbooks.

An implicit function is defined so that it = 0. For example with:

x2 + y2 = r2

the implicit function is:

f(x, y) = x2 + y2 - r2 = 0

PythonIcon.pngisosurfaceSOP_Class


Parameters - Page

Implicit Function func - Enter the function for implicit surface building here.

Example 1: (me.curPos.x**2) / (4*4) - (me.curPos.y**2) / (3*3) + me.curPos.z

This formula creates a hyperbolic paraboloid, or saddle shape.

Example 2: (me.curPos.x**2) / 0.1 + (me.curPos.y**2) / 2 + (me.curPos.z**2) / 6 - 1

This formula creates an ellipsoid.

Try loading some of the sample functions in $TFS/touch/presets.  

Minimum Bound min - - Determines the minimum clipping plane boundary for display of iso surface.

  • X minx -
  • Y miny -
  • Z minz -

Maximum Bound max - - Determines maximum clipping plane boundary for display of iso surfaces.

  • X maxx -
  • Y maxy -
  • Z maxz -

Divisions divs - - The density, or resolution of the iso surface polygons in X, Y and Z.

  • X divsx -
  • Y divsy -
  • Z divsz -

Compute Normals normals -  


Example

The action of the Iso Surface sop is conceptually simple - it takes a user specified expression in R3 (a mathematical term meaning, "having three dimensions, each taking a Real value), and creates a surface where the function goes from being positive to being negative. In the case of the default expression ( $X2 + $Y2 + $Z2 ), the expression is less than zero within a unit sphere, and greater than zero outside. As the sop cooks, it marches through the bounding volume specified (by default from -1 to +1 in X, Y and Z), and creates geometry where the expression equals zero.

This may seem like a difficult way to define a sphere, but there's much potential beyond this simple example using the rich array of mathematical functions (see the Expressions section). A simple illustration is with the noise() function. Try inputing the following expression. TouchGeometry20.gif



SOPs
Add • Alembic • Align • Arm • Attribute Create • Attribute • Basis • Blend • Bone Group • Boolean • Box • Bridge • Cache • Cap • Capture Region • Capture • Carve • CHOP to • Circle • Clay • Clip • Convert • Copy • CPlusPlus • Creep • Curveclay • Curvesect • DAT to • Deform • Delete • Divide • Extrude • Facet • File In • Fillet • Fit • Font • Force • Fractal • Grid • Group • Hole • Experimental:Import Select • In • Introduction To SOPs id • Inverse Curve • Iso Surface • Join • Joint • Kinect • Lattice • Limit • Line • Line Thick • LOD • LSystem • Magnet • Material • Merge • Metaball • Model • Noise • Null • Object Merge • Oculus Rift • OpenVR • Out • Particle • Point • Polyloft • Polypatch • Polyreduce • Polyspline • Polystitch • Primitive • Profile • Project • Rails • Ray • Rectangle • Refine • Resample • Revolve • Script • Select • Sequence Blend • Skin • Sort • Sphere • Spring • Sprite • Stitch • Subdivide • Superquad • Surfsect • Sweep • Switch • Text • Texture • Torus • Trace • Trail • Transform • Trim • Tristrip • Tube • Twist • Vertex • Wireframe • ZED

An Operator Family that reads, creates and modifies 3D polygons, curves, NURBS surfaces, spheres, meatballs and other 3D surface data.