This shows you the differences between two versions of the page.
rhino:nurbs [2019/02/26] |
rhino:nurbs [2020/08/14] (current) |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== What does NURBS mean and why should I care? ====== | ||
+ | |||
+ | =====More details===== | ||
+ | http:// | ||
+ | |||
+ | =====Non-Uniform Rational B-Spline (NURBS)===== | ||
+ | What are //NURBS//? | ||
+ | |||
+ | The word NURBS is an acronym for non-uniform rational B-spline. | ||
+ | |||
+ | =====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 accurately represents both standard geometric objects like lines, circles, ellipses, spheres, and tori, and free-form geometry like car bodies and human bodies. | ||
+ | * The amount of information required for a NURBS representation of a piece of geometry is much smaller than the amount of information required by common faceted approximations. | ||
+ | * The NURBS evaluation rule, discussed below, can be implemented on a computer efficiently and accurately. | ||
+ | |||
+ | =====What is NURBS geometry? | ||
+ | There are lots of ways to answer this question. | ||
+ | |||
+ | 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 satisfy several technical conditions. | ||
+ | * The list of numbers 0, | ||
+ | * The list 0, | ||
+ | |||
+ | The number of times a knot value is duplicated is 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 uniform. | ||
+ | |||
+ | 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. | ||
+ | * The first four control points are grouped with the first six knots. | ||
+ | * The second through fifth control points are grouped with the knots 0, | ||
+ | * The third through sixth control points are grouped with the knots 0, | ||
+ | * The last four control points are grouped with the last six knots. | ||
+ | |||
+ | Some modelers that use older algorithms for NURBS evaluation require 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, | ||
+ | |||
+ | |||