This shows you the differences between two versions of the page.
rhino:nurbsdoc [2015/10/28] |
rhino:nurbsdoc [2020/08/14] (current) |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | |||
+ | |||
+ | ======Non-Uniform Rational B-Spline (NURBS)====== | ||
+ | |||
+ | ** What does [[rhino: | ||
+ | |||
+ | What kind of a word is “NURBS”? | ||
+ | |||
+ | The word [[rhino: | ||
+ | |||
+ | =====Why use NURBS to represent 3D geometry? | ||
+ | NURBs geometry has five important qualities that make it an ideal choice for computer aided modeling. | ||
+ | |||
+ | * There are several industry standard ways to exchange NURBs geometry. | ||
+ | * NURBs has a precise and well-known definition. | ||
+ | * NURBs can accurately represent both standard geometric objects like lines, circles, ellipses, spheres, and tori, and free-form geometry like car bodies and human bodies. | ||
+ | * A NURBs representation of a piece of geometry requires a much smaller amount of information than common faceted approximations require. | ||
+ | * The NURBs evaluation rule, discussed below, can be implemented on a computer in a way that is both efficient and accurate. | ||
+ | |||
+ | =====What is NURBS geometry? | ||
+ | |||
+ | Rhino uses NURBs to represent curves and surfaces. | ||
+ | |||
+ | A NURBs curve is defined by four things: degree, control points, knots, and an evaluation rule. | ||
+ | |||
+ | \\ | ||
+ | The **degree** is a positive whole number. | ||
+ | |||
+ | This number is usually 1, 2, 3 or 5. Rhino lines and polylines are degree 1, Rhino circles are degree 2, and most Rhino free-form curves are degree 3 or 5. Rhino will let you work with NURBs that have degrees from 1 to 32. Sometimes the terms linear, quadratic, cubic, and quintic are used. Linear means degree 1, quadratic means degree 2, cubic means degree 3, and quintic means degree 5. | ||
+ | |||
+ | You may see references to the order of a NURBs curve. | ||
+ | |||
+ | It is possible to increase the degree of a NURBs curve and not change its shape. | ||
+ | |||
+ | \\ | ||
+ | The **control points** are a list of at least (degree+1) points. | ||
+ | |||
+ | One of easiest ways to change the geometry of a NURBs curve is to move its control points. | ||
+ | |||
+ | The control points have an associated number called a **weight**. | ||
+ | |||
+ | \\ | ||
+ | The **knots** are a list of degree+N-1 numbers, where N is the number of control points. | ||
+ | |||
+ | This list of knot numbers must meet several technical conditions. | ||
+ | |||
+ | For example, for a degree 3 NURBs curve with 15 control points the list of numbers 0, | ||
+ | |||
+ | The number of times a knot value is duplicated is called the **knot’s multiplicity**. | ||
+ | |||
+ | If a list of knots starts with a full multiplicity knot, is followed by simple knots, terminates with a full multiplicity knot, and the values are equally spaced, then the knots are // | ||
+ | |||
+ | Duplicate knot values in the middle of the knot list make a NURBs curve less smooth. | ||
+ | |||
+ | A common misconception is that each knot is paired with a control point. | ||
+ | |||
+ | Some modelers that use older algorithms for NURBs evaluation need two extra knot values for a total of degree+N+1 knots. | ||
+ | |||
+ | \\ | ||
+ | The **evaluation rule** uses a mathematical formula that takes a number and assigns a point. | ||
+ | |||
+ | The formula involves the degree, control points, and knots. | ||
+ | |||
+ | Rhino has evaluation tools. | ||
+ | |||
+ | Conceptually, | ||
+ | |||
+ | \\ | ||
+ | =====More details===== | ||
+ | http:// | ||