Unformatted text preview:

Curves and SurfacesTodays TopicsFinal Project RequirementsFinal Project Requirements (cont)Final Project Requirements (cont)Project IdeasRepresenting SurfacesClasses of Smooth SurfacesSimple FunctionsRendering Simple FunctionsShortcomings of Simple FunctionsImplicit RepresentationsAlgebraic SurfacesParametric FunctionsRendering Parametric FunctionsSurface DesignSpecifying CurvesPiecewise Curve SegmentsParametric Cubic CurvesSolving for CoefficientsAn Illustrative ExampleThe Gradient of a Cubic SplineHermite SpecificationSolve for the Hermite CoefficientsSpline Basis and Geometry MatricesCubic Hermite Spline EquationHermite Spline DemonstrationAnother Way to Think About SplinesHermite Blending FunctionsOne More ExampleCoefficients for Cubic Bezier SplinesHere's the Trick!Basis and Geometry Matrices for Bezier SplinesBezier Blending FunctionsPlots of Bezier Blending FunctionsBezier DemonstrationOther Cubic Spline TypesSpline Rendering: Take 1Spline Rendering: Take 2Secret: SubdivisionExample of Generalized SubdivisionImplementing SubdivisionImplementing SubdivisionDerivatives of Bezier CurveDegree ElevationRational Bezier CurvesB-SplinesBlossomsB-SplineNURBS4/11/2007Curves and SurfacesComputer GraphicsCOMP 770 (236)Spring 2007Instructor: Brandon LloydTodays Topics• Final projects• Surface representations• Smooth curves• Subdivision2Final Project Requirements3• A Project Proposal (DUE 4/16)– No extensions on the due date (there is not enough room in the schedule to slip)– Requirements• A written summary of your proposed final project– Equivalent of an abstract– Not to exceed two pages in length– Provide a description of the system– Discussion of the techniques employed, specifically those learned in COMP236• An outline of the minimal functionality that you expect– In the style of our previous programming projects this will define the 80% mark for your project. You should think carefully about what you put here, because you want be able to do any 11thhour juggling between required and optional items.– Be conservative here! (But, if you low-ball it I might request a few changes)• A list of optional features that you would like to provide in your project if time permits– Each optional feature should be somewhat “self-contained”– The system should function and be useful without any of these items.Final Project Requirements (cont)4• A project Web site (DUE before midnight 5/3)– Include a short write-up• Slightly more than the abstract used in the proposal– Motivate the problem solved by your project– Discuss your approach and its limitations– Illustrative figures• Examples from your system (preferred)• Motivating examples from other people’s work (include links if possible)– A simple user’s guide• Explain all of the command-line arguments, menu-options, key strokes, and mouse modes and usage of your system.• Discuss the formats of all input files– Links to your code• Zipped files of any source code you developed and any libraries that you used, you should include everything needed to build your system, other than OpenGL and GLUT.• Example data for use in your systemFinal Project Requirements (cont)• A short Oral presentation and Demo (Final Exam: 5/4 12pm)– Limit yourself to 20 mins.–Format:• A short verbal explanation of your project (ideally, this would kill time, as you start-up your demo)• A short discussion of the graphics methods used(Should probably be done during the demo)• A live demo using either a laptop or the classroom machine (verify that it works ahead of time)• Your project Web page and compiled demo are the only props allowed for your presentation• If your project cannot be presented using the facilities available in the classroom you need to– Let me know ahead of time– Perhaps show a video of the system working5Project Ideas• Terrain generation– Something like Terragen– Simulate erosion•A video game–Cow Quake–Cow Pong• A GUI front end for your ray tracer– Place objects, lights, and camera in the scene– Edit material properties– Position texture maps• Add global illumination to your ray tracer– path tracing– photon mapping (maybe just for caustics)• Shadow maps or shadow volumes6Representing SurfacesHere is everything in our toolbox for specifying geometry9 Vertices• Points in 3 space• Can have color, surface reflectance properties, texture coordinates9 Polygons• Piecewise planar surface patches• Can be used to approximate “smooth” surfaces• Generally, “filled-in” by interpolating vertex properties9 Normals• Represents the local derivative of a surface (tangent space)• Used only for shading• We can make the surface appear smoother, than it really is by making vertex normals different than the actual polygon normals 7Classes of Smooth SurfacesIt is easiest to consider Surfaces as analytical entities. However, surfaces (like geometry in general) exist independent of a mathematical formulation.In fact, under some formulations we will find that it is difficult, or impossible, to describe even the most “simple” shapes.As a result, we need to arm ourselves with a variety of different formulation schemes for describing surfaces. 8Simple FunctionsSimple functions are probably the most common mathematical formulation of describing shapes. These are sometimes called “Explicit” representations.Rules of an explicit representation:1) Describe one “dependent” variable in terms of “independent” variables.2) Each unique combination of “independent” variables specifies only one valid value of the “dependent” variableA 3-D surface will have 2 independent variables.)y,x(fz=9Rendering Simple FunctionsSimple Functions are easy to render,Loop over the independent variables generating vertices and normalsbut the class of surfaces they describe is too limited⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡−−=∂∂∂∂01ny)y,x(fx)y,x(fijjiji⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=1)y,x(fyxvjijiij10Shortcomings of Simple FunctionsConsider the following representations of a Plane as a simple function:For any values of A, B, and C, the resulting surface will be a plane, however, not every plane can be specified in this form. For instance, the x-z or y-z planes.Similarly, we cannot completely describe a sphere centered at the origin as a simple function:The function above only describes the upper hemisphere, and then only for values of x


View Full Document

UNC-Chapel Hill COMP 770 - Curves and Surfaces

Download Curves and Surfaces
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Curves and Surfaces and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Curves and Surfaces 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?