This shows you the differences between two versions of the page.

Both sides previous revision Previous revision | |||

rhino:nurbsdoc [2015/10/06] sandy |
rhino:nurbsdoc [2015/10/28] (current) sandy |
||
---|---|---|---|

Line 13: | Line 13: | ||

* There are several industry standard ways to exchange NURBs geometry. Customers can and should expect to be able to move their valuable geometric models between various modeling, rendering, animation, and engineering analysis programs. They can store geometric information in a way that will be usable 20 years from now. | * There are several industry standard ways to exchange NURBs geometry. Customers can and should expect to be able to move their valuable geometric models between various modeling, rendering, animation, and engineering analysis programs. They can store geometric information in a way that will be usable 20 years from now. | ||

- | * NURBs has a precise and well-known definition. The mathematics and computer science of NURBs geometry is taught in most major universities. This means that specialty software vendors, engineering teams, industrial design firms, and animation houses that create custom software applications can find trained programers to work with NURBs geometry. | + | * NURBs has a precise and well-known definition. Most major universities teach the mathematics and computer science of NURBs geometry. This means that specialty software vendors, engineering teams, industrial design firms, and animation houses that create custom software applications can find trained programers to work with NURBs geometry. |

* 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. | * 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. | * 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. | * 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?====== | + | =====What is NURBS geometry?===== |

Rhino uses NURBs to represent curves and surfaces. NURBs curves and surfaces behave in similar ways and share a lot of terminology. Since curves are easiest to describe, we’ll cover them in detail. Rhino has surface tools that are analogous to the curve tools mentioned below. | Rhino uses NURBs to represent curves and surfaces. NURBs curves and surfaces behave in similar ways and share a lot of terminology. Since curves are easiest to describe, we’ll cover them in detail. Rhino has surface tools that are analogous to the curve tools mentioned below. | ||

Line 38: | Line 38: | ||

One of easiest ways to change the geometry of a NURBs curve is to move its control points. Rhino provides several ways to move control points. To perform large free-form adjustments you simply use the mouse to drag the control point. Rhino provides other tools tailored for small precise adjustments. | One of easiest ways to change the geometry of a NURBs curve is to move its control points. Rhino provides several ways to move control points. To perform large free-form adjustments you simply use the mouse to drag the control point. Rhino provides other tools tailored for small precise adjustments. | ||

- | The control points have an associated number called a **weight**. With a few exceptions, weights are positive numbers. When a curve’s control points all have the same weight (usually 1), the curve is called non-rational. Otherwise the curve is called rational. The R in NURBs stands for rational and indicates that a NURBs curve has the possibility of being rational. In practice, most NURBs curves are non-rational. A few NURBs curves, circles and ellipses being notable examples, are always rational. Rhino provides tools for examining and changing control point weights. | + | The control points have an associated number called a **weight**. With a few exceptions, weights are positive numbers. When a curve’s control points all have the same weight (usually 1), the curve is //non-rational//. Otherwise the curve is //rational//. The R in NURBs stands for rational and indicates that a NURBs curve has the possibility of being rational. In practice, most NURBs curves are non-rational. A few NURBs curves, circles and ellipses being notable examples, are always rational. Rhino provides tools for examining and changing control point weights. |

\\ | \\ | ||

Line 45: | Line 45: | ||

This list of knot numbers must meet several technical conditions. The standard way to meet the technical conditions is to require the numbers to stay the same or get larger as you go down the list and to limit the number of duplicate values to no more than the degree. | This list of knot numbers must meet several technical conditions. The standard way to meet the technical conditions is to require the numbers to stay the same or get larger as you go down the list and to limit the number of duplicate values to no more than the degree. | ||

- | For example, for a degree 3 NURBs curve with 15 control points, the list of numbers 0,0,0,1,2,2,2,3,7,7,9,9,9 is a satisfactory list of knots. The list 0,0,0,1,2,2,2,2,7,7,9,9,9 is unacceptable because there are four 2s and four is larger than the degree. | + | For example, for a degree 3 NURBs curve with 15 control points the list of numbers 0,0,0,1,2,2,2,3,7,7,9,9,9 is a satisfactory list of knots. The list 0,0,0,1,2,2,2,2,7,7,9,9,9 is unacceptable because there are four 2s and four is larger than the degree. |

The number of times a knot value is duplicated is called the **knot’s multiplicity**. In the preceding example of a satisfactory list of knots, the knot value 0 has multiplicity three, the knot value 1 has multiplicity one, the knot value 2 has multiplicity three, the knot value 7 has multiplicity two, and the knot value 9 has multiplicity three. A knot value is a full multiplicity knot if it is duplicated many times. In the example, the knot values 0, 2, and 9 have full multiplicity. A knot value that appears only once is a simple knot. In the example the knot values 1 and 3 are simple knots. | The number of times a knot value is duplicated is called the **knot’s multiplicity**. In the preceding example of a satisfactory list of knots, the knot value 0 has multiplicity three, the knot value 1 has multiplicity one, the knot value 2 has multiplicity three, the knot value 7 has multiplicity two, and the knot value 9 has multiplicity three. A knot value is a full multiplicity knot if it is duplicated many times. In the example, the knot values 0, 2, and 9 have full multiplicity. A knot value that appears only once is a simple knot. In the example the knot values 1 and 3 are simple knots. | ||

- | 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 uniform. For example, if a degree 3 NURBs curve with 7 control points has knots 0,0,0,1,2,3,4,4,4, then the curve has uniform knots. The knots 0,0,0,1,2,5,6,6,6 are not uniform. Knots that are not uniform are called non-uniform. The NU in NURBs stands for non-uniform and indicates that the knots in a NURBs curve are permitted to be non-uniform. | + | 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 //uniform//. For example, if a degree 3 NURBs curve with 7 control points has knots 0,0,0,1,2,3,4,4,4, then the curve has uniform knots. The knots 0,0,0,1,2,5,6,6,6 are not uniform. Knots that are not uniform are //non-uniform//. The NU in NURBs stands for non-uniform and indicates that the knots in a NURBs curve are permitted to be non-uniform. |

Duplicate knot values in the middle of the knot list make a NURBs curve less smooth. At the extreme, a full multiplicity knot in the middle of the knot list means there is a place on the NURBs curve that can be bent into a sharp kink. For this reason, some designers like to add and remove knots and then adjust control points to make curves with smoother or kinkier shapes. Rhino has tools for removing and adding knots. Since the number of knots is equal to (N+degree 1), where N is the number of control points, adding knots also adds control points and removing knots removes control points. Knots can be added without changing the shape of a NURBs curve. In general, removing knots will change the shape of a curve. Rhino provides an advanced knot removing interface that automatically performs appropriate knot removal when you delete a control point. | Duplicate knot values in the middle of the knot list make a NURBs curve less smooth. At the extreme, a full multiplicity knot in the middle of the knot list means there is a place on the NURBs curve that can be bent into a sharp kink. For this reason, some designers like to add and remove knots and then adjust control points to make curves with smoother or kinkier shapes. Rhino has tools for removing and adding knots. Since the number of knots is equal to (N+degree 1), where N is the number of control points, adding knots also adds control points and removing knots removes control points. Knots can be added without changing the shape of a NURBs curve. In general, removing knots will change the shape of a curve. Rhino provides an advanced knot removing interface that automatically performs appropriate knot removal when you delete a control point. |

rhino/nurbsdoc.txt · Last modified: 2015/10/28 by sandy