Implicit Generalized Cylinders using Profile Curves Cindy M. Grimm Presentation by: Miranda Steed
Previous Work Traditional definitions using cross sections most suited to CAD/CAM modeling Profile curve more suited to free-form modeling Implicit sweep Difficult for free-form Choice of solid and scaling functions limited Implicit primitives Use notion of axis and distance function Similar to sweep function
Introduction to the Worm Implicit generalized cylinder From axis plus one or more profile curves Related to sweep Profile curve defined for length of axis Appropriate surfaces Fundamentally a cylinder, varying cross sections Profiles Issues modeling surfaces where axis is curving when profile wants to expand
Components of a Worm 1/3 Basic shape defined by axis curve Frame consisting of three orthogonal vectors Define axis curve, profile curves, how to construct cross section Axis curve
Components of a Worm 2/3 Distance from axis curve to level zero surface defined using set of N profile curves Guaranteed to be always positive and descending to zero at both ends At each point, can define cross section
Components of a Worm 3/3 Cross section curve: closed curve laying entirely in plane defined by N(s) and B(s) Simulated using spline curve whose start and finish line up Knot vector Cross section curve
Implicit Definition Positive at axis and decreases moving away Calculation p is point in space Project p onto axis giving p = A(s) Determine θ using Level zero surface is at D s (θ), so Ends of worm well-behaved
Parametric Definition Evaluate the axis and cross section at evenly spaced points Surface essentially tube of varying widths and may self-intersect Approximation
A Worm with Two Axes 1/3 Extend single axis definition to two axes by replacing curve with ruled surface Cross section must change Becomes distance from line instead of point
A Worm with Two Axes 2/3 Axis is ruled surface Use tangent to determine plane of cross section curve Normalize with new up vector
A Worm with Two Axes 3/3 Cross section curve is reparameterized to account for center of axis being a line Break cross section into four To compute parametric surface, step evenly along D s
User Interface 1/2 Surface surrounded on three sides by walls Move with camera All editing takes place on the walls Axis and two profile curves on each wall User may click on wall axis curve and system will draw curve
User Interface 2/2 To alter axis curve, draw on wall Changes applied to appropriate dimensions Any 2D curve editing techniques may be used To edit profile curves, draw on wall If user draws above axis curve, upper profile changed Else the lower profile is changed
Implementation Details 3D curve drawn relative to axis curve Peak of profile curve i occurs at θ i = i(2π/(n-1)) Since axis and knot vectors evenly spaced, evenly space along axis curve to determine s = j(1/(n-1)) for each control point For cross section, evaluate parametric equation for N+3 control points with θ i = i(2π/n) To draw curves on wall, see equations above
Discontinuities Any point p that is equidistant from one or more points on axis will have a discontinuity All values from every point are positive Point outside all surfaces All values negative Point inside all surfaces Discontinuity goes from positive to negative Surface is clipped Should be open hole
Current and Future Work Interaction techniques yet to be explored Editing cross section curve directly in plane Fixing drawn 3D profile curve locally and pulling Editing axes curve Open problems Finding a parameterization of the two curves which will yield a rules surface that does not cross back on itself
Some Final Results