Sketch- and Constraint-based Design of Curves and Surfaces Yongwook Jeong CS284 Fall 2004.

Slides:



Advertisements
Similar presentations
Computer Graphics (Spring 2008) COMS 4160, Lecture 6: Curves 1
Advertisements

© University of Wisconsin, CS559 Spring 2004
Freehand Drawing System based on Geometric Constraints Kaisuke Nakajima Joint work with Takeo Igarashi User Interface Research Group The University of.
Cubic Curves CSE167: Computer Graphics Instructor: Steve Rotenberg UCSD, Fall 2006.
A Painting Interface for Interactive Surface Deformations Jason Lawrence Thomas Funkhouser Princeton University.
B-Spline Blending Functions
Morphing Rational B-spline Curves and Surfaces Using Mass Distributions Tao Ju, Ron Goldman Department of Computer Science Rice University.
Advanced Computer Graphics (Spring 2005) COMS 4162, Lecture 12: Spline Curves (review) Ravi Ramamoorthi Most material.
Chapter 4 Digital Multimedia, 2nd edition Vector Graphics.
Curves Locus of a point moving with one degree of freedom
Designing Parametric Cubic Curves Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico.
Interactive Hairstyle Modeling Using a Sketching Interface Xiaoyang Mao Kouichi Kashio Hiroyuki Kato Atsumi Imamiya CGGM 2002.
SWE 423: Multimedia Systems Chapter 4: Graphics and Images.
IE433 CAD/CAM Computer Aided Design and Computer Aided Manufacturing Part-4 Computer Graphics- CAD Software Industrial Engineering Program King Saud University.
Designing Parametric Cubic Curves
1 Representing Curves and Surfaces. 2 Introduction We need smooth curves and surfaces in many applications: –model real world objects –computer-aided.
Learn how to make your drawings come alive…  COURSE: SKETCH RECOGNITION Analysis, implementation, and comparison of sketch recognition algorithms, including.
Introduction to Computer Graphics
Computer Graphics Shadows
3-D Modeling Concepts V part 2.
Computer Graphics Mirror and Shadows
Modeling and representation 1 – comparative review and polygon mesh models 2.1 Introduction 2.2 Polygonal representation of three-dimensional objects 2.3.
Modeling. Topology Topology describes an object’s shape, number of spans, and degree. For polygon objects this includes vertex positions.
Curve Modeling Bézier Curves
11/19/02 (c) 2002, University of Wisconsin, CS 559 Last Time Many, many modeling techniques –Polygon meshes –Parametric instancing –Hierarchical modeling.
A D V A N C E D C O M P U T E R G R A P H I C S CMSC 635 January 15, 2013 Spline curves 1/23 Curves and Surfaces.
Introduction In recent years, products are required to follow the trend of fashion. It is very popular in using freeform surface to design the model of.
CS 376 Introduction to Computer Graphics 04 / 23 / 2007 Instructor: Michael Eckmann.
This Week Week Topic Week 1 Week 2 Week 3 Week 4 Week 5
CS 551/651 Advanced Computer Graphics Warping and Morphing Spring 2002.
CS 445 / 645 Introduction to Computer Graphics Lecture 23 Bézier Curves Lecture 23 Bézier Curves.
Quadratic Surfaces. SPLINE REPRESENTATIONS a spline is a flexible strip used to produce a smooth curve through a designated set of points. We.
University of Texas at Austin CS384G - Computer Graphics Fall 2008 Don Fussell Parametric surfaces.
Computer-Generated Pen-and-Ink Illustration of Trees Oliver Deussen & Thomas Strothotte University of Magdeburg.
Andrew Nealen / Olga Sorkine / Mark Alexa / Daniel Cohen-Or SoHyeon Jeong 2007/03/02.
Vector Graphics Digital Multimedia Chap 이병희
A Practical Framework for Constructing Structured Drawings Salman Cheema Sarah BuchananSumit Gulwani Joseph J. LaViola Jr. References [ 1] Cheema, S.,
FREE-VIEW WATERMARKING FOR FREE VIEW TELEVISION Alper Koz, Cevahir Çığla and A.Aydın Alatan.
Ship Computer Aided Design MR 422. Geometry of Curves 1.Introduction 2.Mathematical Curve Definitions 3.Analytic Properties of Curves 4.Fairness of Curves.
Feature Point Detection and Curve Approximation for Early Processing of Free-Hand Sketches Tevfik Metin Sezgin and Randall Davis MIT AI Laboratory.
4/25/02 SKETCH: Robert C. Zelenik Kenneth P. Herndon John F. Hughes An Interface for Sketching 3D Scenes SIGGRAPH ‘96 Presented by Mike Margolis.
Designing Parametric Cubic Curves 1. 2 Objectives Introduce types of curves ­Interpolating ­Hermite ­Bezier ­B-spline Analyze their performance.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
CS 450: Computer Graphics PARAMETRIC SPLINES AND SURFACES
Application: Multiresolution Curves Jyun-Ming Chen Spring 2001.
2006/10/25 1 A Virtual Endoscopy System Author : Author : Anna Vilanova 、 Andreas K ö nig 、 Eduard Gr ö ller Source :Machine Graphics and Vision, 8(3),
Splines Sang Il Park Sejong University. Particle Motion A curve in 3-dimensional space World coordinates.
Ship Computer Aided Design
Foundations of Computer Graphics (Spring 2012) CS 184, Lecture 12: Curves 1
Outline Introduction Related Work System Overview Methodology Experiment Conclusion and Future Work.
Mohammed AM Dwikat CIS Department Digital Image.
Computer – Aided Design Terminology You must have a generic understanding of commands and techniques which are used in a number of packages (YOU CANNOT.
3D Object Representations 2009, Fall. Introduction What is CG?  Imaging : Representing 2D images  Modeling : Representing 3D objects  Rendering : Constructing.
Presented by 翁丞世  View Interpolation  Layered Depth Images  Light Fields and Lumigraphs  Environment Mattes  Video-Based.
Introduction to Parametric Curve and Surface Modeling.
3-D Modeling Concepts V part 2.
Lecture 24: Surface Representation
Games Development Practices 3D Modelling
CSI-447: Multimedia Systems
3-D Modeling Concepts V part 2.
Introduction to Graphics Modeling
CSE 167 [Win 17], Lecture 9: Curves 1 Ravi Ramamoorthi
© University of Wisconsin, CS559 Fall 2004
© University of Wisconsin, CS559 Spring 2004
Create 3D Solid Objects. Create 3D Solid Objects.
3-D Modeling Concepts V part 2.
Contextual connections in shape model
Introduction to Parametric Curve and Surface Modeling
Spline representation. ❖ A spline is a flexible strip used to produce a smooth curve through a designated set of points. ❖ Mathematically describe such.
Presentation transcript:

Sketch- and Constraint-based Design of Curves and Surfaces Yongwook Jeong CS284 Fall 2004

Overview Sketch-based User InterfaceSketch-based User Interface Curve-Manipulating based on SketchCurve-Manipulating based on Sketch Curves and Surfaces Editing based on auxiliary planeCurves and Surfaces Editing based on auxiliary plane

Papers Barry Fowler and Richard Bartels, Constraint- Based Curve Manipulation, 1993Barry Fowler and Richard Bartels, Constraint- Based Curve Manipulation, 1993 Thomas Baudel, A Mark-Based Interaction Paradigm for Free-Hand Drawing, 1994Thomas Baudel, A Mark-Based Interaction Paradigm for Free-Hand Drawing, 1994 Jonathan Cohen et al, An Interface for Sketching 3D Curves, 1999Jonathan Cohen et al, An Interface for Sketching 3D Curves, 1999 Paul Michalik et al, Sketch- and Constraint-based Design of B-spline Surfaces, 2002Paul Michalik et al, Sketch- and Constraint-based Design of B-spline Surfaces, 2002

Sketch-based Design? Designers and architects hate control pointsDesigners 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 editingIndirect editing –Most systems such as Maya and Solidthinking support indirect manipulating of control points

Barry Fowler, Richard Bartels, “Constraint-Based Curve Manipulation” 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.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.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.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.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.”“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.”

Sample Gestures

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.”“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 strokesThe 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.

Examples 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.

Sketch- and Constraint-based Design of B-spline Surfaces In this paper, the authors deal with the following issues.In this paper, the authors deal with the following issues. 1.Touch and replace techniques for B- spline curves 2.Reliable interpretation of user’s pen- strokes in 3D 3.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.

Extract shape change information 1 2 3

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 1.The stroke emanates from an existing curve C and ends in the “air” (no other curve was hit) 2.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.

Constraint-based surface sculpting

Thank you! Question?