Lecture 07 · Parametric Modeling Basics
Geometry: Parametric Curves and Surfaces; NURBS
Lecture 7 Geometry: Parametric Curves and Surfaces, NURBS
-
Review Vector Mathematics - Challenges
Challenge 1: How to find all points on a plane (based on Sample/Figure 17)? You can parametrically move a point along the two vectors' directions on the plane to demo it.
A possible solution here
Challenge 2: How to use the Grasshopper Matrix node and Transform node to do:- Translation
- Rotation
- Scale
- Shear
transformations to a Solid (Box) created in Rhino?
-
Geometry: Parametric Curves and Surfaces
Study Chapter 3 of Essential Mathematics For Computational Design
Study the following course videos: Canvas - Lecture 7 -> (despite of the "403 error", click the link of Lecture 7 UC Davis Prog. Joy Videos to open it in a new window)
(Original source of the videos: http://graphics.cs.ucdavis.edu/~joy/ecs178/ [website down].)
Unit 2 The Bezier Curves:- The Quadratic Bezier Curve:
- A Divide and Conquer Geometric Approach to Generate a Curve
- Generating Points on the Curve Directly
- The Cubic Bezier Curve:
3. Generating Points on the Curve Directly - The General Bezier Curve:
4. Why we need more than the Bezier Curve to produce good models
Note about curvature: http://en.wikipedia.org/wiki/Curvature
The curvature is the magnitude of the rate of change of the unit tangent vector on the curve. The curvature of a circle is defined to be the reciprocal of the radius.
- The Quadratic Bezier Curve:
-
Homework
3.1 Geometry Modeling with Rhino (cont.)
Continue "Self-paced reading and exercise of Rhino Level I and II Training Guides" assigned in Lecture 5.3.2 Parametric Modeling with Grasshopper
Study Chapter 3 Parametric Curves and Surfaces of: Essential Mathematics For Computational Design (4th Edition, link can be found in previous classes)
Do the following exercises and save the resulting files (and maybe screenshots if you think they are good to demonstrate your work).Task 1: Referring to Page 68 Curve geometry continuity, in Rhino create curves that can demonstrate G0, G1, G2 continuities. For G1 and G2, you can create Degree 2 and 3 curves, respectively. Use Split function to split a curve at a knot (with snapping to Knot checked in the status bar at the bottom of Rhino). Then check Analyze -> Curve -> Geometric Continuity -> Click the left and right of the knot point (the splitting point) and see the commandline for G1 or G2 outcomes. Rhino's (curve) Blend command can be useful. Turn on Curvature Graph for the curves and match the graph features to Geometric Continuity. Further, you can split the Degree 2 and 3 curves at their Knots, and use Grasshopper to display their Tangent Vectors and Curvature Vectors at the joins. Use these vectors to help you understand Degree vs Geometric Continuity: the maximum Geometric Continuity = Degree - 1.
Task 2: Create Rhino surfaces and turn on the Surface -> Curvature Analysis, as shown on Page 75 (Gaussian curvature).
Task 3: Re-create Figure (35): "Evaluate points on a Bezier curve using De Casteljau algorithm" in the sample GH file (TheEssentialMathematics_4thEdition2019.gh), demonstrating the De Casteljau algorithm for evaluating Bezier curves.
Task 4: Create curves similar to those shown on Page 64, 65 in Characteristics of NURBS curves using (1) Rhino commands, and (2) Grasshopper with Rhino points, Knots Node and NurbCrv Node (not the Nurbs node, though it is useful too), to create control points, knots and NURBS curves. You will need to check the Rhino created curves using What or List commands to study the control points index and coordinates, and the order of control points, in order to enter correct control points in Grasshopper. For knots, you can copy/paste the knot vector from the Rhino->List output window, or use the Knots node in Grasshopper to create similar knot vectors. When you use Rhino commands to create a non-periodic curve, turn option "Sharp = yes". You may also try Rhino's "InsertKink" command and test "InsertKnot" command. When you use Grasshopper to create a periodic curve, first create a periodic curve with Rhino, check the control points (number and order) with List command, and follow this sample to select control points for Grasshopper to create a periodic curve.
Task 5: Create the surfaces similar to those shown on Page 78, 79 in Characteristics of NURBS surfaces using (1) Rhino and (2) Grasshopper's extrude or loft, etc. node, based on Task 4 curves.
Organize your Rhino and Grasshopper files using subfolders for the tasks, and save all into _Homework4_YourFirstname_YourLastname_folder.
3.3 Submission
Zip the Homework4_YourLastname folder into Homework4_YourFirstname_YourLastname.zip.
Submit the zip file to TAMU eLearning: https://canvas.tamu.edu/
| Item | Details |
|---|---|
| Exercise folder name | Homework4_YourFirstname_YourLastname |
| File to submit | Homework4_YourFirstname_YourLastname.zip |
| Submit to | https://canvas.tamu.edu/ |
| Due | 2/16, Friday, 10:00 PM |