220 likes | 235 Views
Sketch- and Constraint-based Design of Curves and Surfaces. Yongwook Jeong CS284 Fall 2004. Overview. Sketch-based User Interface Curve-Manipulating based on Sketch Curves and Surfaces Editing based on auxiliary plane. Papers.
E N D
Sketch- and Constraint-based Design of Curves and Surfaces Yongwook Jeong CS284 Fall 2004
Overview • Sketch-based User Interface • Curve-Manipulating based on Sketch • Curves and Surfaces Editing based on auxiliary plane
Papers • Barry Fowler and Richard Bartels, Constraint-Based Curve Manipulation, 1993 • Thomas Baudel, A Mark-Based Interaction Paradigm for Free-Hand Drawing, 1994 • Jonathan Cohen et al, An Interface for Sketching 3D Curves, 1999 • Paul Michalik et al, Sketch- and Constraint-based Design of B-spline Surfaces, 2002
Sketch-based Design? • Designers and architects hate control points • The creation of complex free-form surface model is a time-consuming and tedious process. • It requires knowledge about the underlying curve and surface representation. • Indirect editing • Most systems such as Maya and Solidthinking support indirect manipulating of control points
Barry Fowler, Richard Bartels, “Constraint-Based Curve Manipulation” • The authors proposed a technique for direct manipulation of splines that permits moving any point on the curve instead of specific control points. • This technique requires the introduction of constraints to specify invariance of positions or tangents to the curves.
A single constraint A double constraint A triple constraint
Thomas Baudel, “A Mark-Based Interaction Paradigm for Free-Hand Drawing” • Current methods for editing spline curves consist of moving control points and tangents to the curve. • The target users usually have some background in mathematics enabling them to master easily the peculiarities of the interaction technique. • “Our design is based on patterns extracted from their existing drawing and editing techniques rather than on a data representation focused on mathematical models and computer management of geometric data.”
Cohen et al, “An Interface for Sketching 3D Curves” • “Although sketched curves are imprecise by nature, sketching allows a user to quickly create a curve that is close to the desired result.” • The user sketches a curve directly into a scene in two strokes • First drawing the curve as it appears from the current viewpoint • And then sketching its approximate “shadow”
Procedure • Filtering the stroke to remove all points whose screen-space distance is less than some threshold from the previous point • Fitting a Catmull-Rom spline to the remaining points and sampling the spline every few pixels to generate a smooth-looking polyline • Projecting the 2D stroke onto a plane in world space to create a 3D planar curve • The first stroke defines an initial 2D curve. • The second stroke defines the curve’s shadow and its 3D shape.
The user has sketched a camera path through this virtual environment. The curve was created from the viewpoint, in [a]. Figure [b] shows the scene from a different viewpoint. Examples
Sketch- and Constraint-based Design of B-spline Surfaces • In this paper, the authors deal with the following issues. • Touch and replace techniques for B-spline curves • Reliable interpretation of user’s pen-strokes in 3D • B-spline surface sculpting from arbitrary parametric-space curves by means of curve surface incidence constraints.
Sketching B-spline Curves • In order to get a reasonable approximation, the authors take an approach that starts with few control points, fits a curve, determines the deviation of the fitted curve from the sampled points, and if necessary, locally increases the number of control points.
Locally Editing a Curve • After the initial sketch of the global curve, the user may modify the drawing by re-sketching the curve locally. • First, the shape information is extracted from the touch-and-replace stroke which has the form of a piecewise linear curve attached to the original curve C(u). • With the shape information, a new local sub curve is approximated with the end conditions from the old curve. • It eventually replaces part of the old curve.
3 2 1 Extract shape change information
Constraint-based Sketching in 3D • Reliable interpretation of user’s pen-strokes in 3D is attempted by introducing “auxiliary sketching surfaces” derived from the geometry of the surface and the parametric representation of the 3D curve. • The initial pen stroke is projected into that plane and approximated by a planar B-spline curve. • The system uses interference of subsequent pen-strokes with existing curves to embed the sketch into an auxiliary projection plane. • For instance, if the user continues with another pen stroke starting at (or close to) a previously sketched curve, the system selects between two alternative ways to compute the projection plane.
Interpretation of sketch strokes in 3D • The system selects between two alternative ways to compute the projection plane • The stroke emanates from an existing curve C and ends in the “air” (no other curve was hit) • If the stroke connects two existing curves, two curve points and the bi-normal at the first curve point are used to setup the projection plane. • Proceeding this way one or several planar curves in 3D can be generated • The Interpretation of the curve data as surfaces depends on the selected design “mode”.
Sweeping mode • the second stroke emanates at a planar curve drawn in the default plane, the first curve is interpreted as an “axis-curve” for sweeping the latter curve resulting in the surface • Skinning mode • Additional curves drawn onto the previously generated surface, and then orthogonal to these new curves. • The 3D curves are interpreted as skeleton curves for surface skinning procedure. For each curve an incidence constraint is automatically generated and the surface which interpolates sketched 3D curves is computed.
Sculpting mode • The user selects a curve, incident to an existing surface for sculpting. • Other curves are either “fixed” ( their shape and position may not change) – or “free”. • The selected curve is sculpted by further pen-strokes within an auxiliary Frenet frame.
Thank you! Question?