In Exercises 13-15 concern the subdivision of a Bezier curve shown in Figure 7. Let \({\mathop{\rm x}\nolimits} \left( t \right)\) be the Bezier curve, with control points \({{\mathop{\rm p}\nolimits} _0},...,{{\mathop{\rm p}\nolimits} _3}\), and let \({\mathop{\rm y}\nolimits} \left( t \right)\) and \({\mathop{\rm z}\nolimits} \left( t \right)\) be the subdividing Bezier curves as in the text, with control points \({{\mathop{\rm q}\nolimits} _0},...,{{\mathop{\rm q}\nolimits} _3}\) and \({{\mathop{\rm r}\nolimits} _0},...,{{\mathop{\rm r}\nolimits} _3}\), respectively.

15. Sometimes only one-half of a Bezier curve needs further subdividing. For example, subdivision of the “left” side is accomplished with parts (a) and (c) of Exercise 13 and equation (8). When both halves of the curve \({\mathop{\rm x}\nolimits} \left( t \right)\) are divided, it is possible to organize calculations efficiently to calculate both left and right control points concurrently, without using equation (8) directly.

a. Show that the tangent vector \(y'\left( 1 \right)\) and \(z'\left( 0 \right)\) are equal.

b. Use part (a) to show that \({{\mathop{\rm q}\nolimits} _3}\) (which equals \({{\mathop{\rm r}\nolimits} _0}\)) is the midpoint of the segment from \({{\mathop{\rm q}\nolimits} _2}\) to \({{\mathop{\rm r}\nolimits} _1}\).

c. Using part (b) and the results of Exercises 13 and 14, write an algorithm that computes the control points for both \({\mathop{\rm y}\nolimits} \left( t \right)\) and \({\mathop{\rm z}\nolimits} \left( t \right)\) in an efficient manner. The only operations needed are sums and division by 2.

Short Answer

Expert verified
  1. Itis proved that the tangent vector \(y'\left( 1 \right)\) and \(z'\left( 0 \right)\) are equal.
  2. Itis proved that \({{\mathop{\rm q}\nolimits} _3}\) is the midpoint of the segment from \({{\mathop{\rm q}\nolimits} _2}\) to \({r_1}\).
  3. The algorithm that computes the control points for both \({\mathop{\rm y}\nolimits} \left( t \right)\) and \({\mathop{\rm z}\nolimits} \left( t \right)\) is obtained.

Step by step solution

01

Show that tangent vectors \(y'\left( 1 \right)\) and  \(z'\left( 0 \right)\) are equal

a)

Recall the chain rule for the derivatives as shown below:

\(y'\left( t \right) = .5x'\left( {.5t} \right)y'\left( t \right)\,\,\,\,{\mathop{\rm and}\nolimits} \,\,\,z'\left( t \right) = .5x'\left( {.5 + .5t} \right)\,\,\,\,{\mathop{\rm for}\nolimits} 0 \le t \le 1\)…(11)

From equation (11) with \(t = 1\) in \(y'\left( t \right)\) and \(t = 0\) in \(z'\left( t \right)\) as shown below:

\(\begin{aligned}{}y'\left( 1 \right) &= .5x'\left( {.5} \right)\\ &= z'\left( 0 \right)\end{aligned}\)

Thus, it is proved that the tangent vector \(y'\left( 1 \right)\) and \(z'\left( 0 \right)\) are equal.

02

Show that \({{\mathop{\rm q}\nolimits} _3}\) is the midpoint of the segment from \({{\mathop{\rm q}\nolimits} _2}\) to \({{\mathop{\rm r}\nolimits} _1}\)

It is noted that \(y'\left( 1 \right) = 3\left( {{{\mathop{\rm q}\nolimits} _3} - {{\mathop{\rm q}\nolimits} _2}} \right)\). The following equation follows from equation (9), for \({\mathop{\rm y}\nolimits} \left( t \right)\) its control points in place of \({\mathop{\rm x}\nolimits} \left( t \right)\) and its control points. Likewise, for \({\mathop{\rm z}\nolimits} \left( t \right)\) and its control points, \(z'\left( 0 \right) = 3\left( {{{\mathop{\rm r}\nolimits} _1} - {{\mathop{\rm r}\nolimits} _0}} \right)\).

From part (a) as shown below:

\(3\left( {{{\mathop{\rm q}\nolimits} _3} - {{\mathop{\rm q}\nolimits} _2}} \right) = 3\left( {{{\mathop{\rm r}\nolimits} _1} - {{\mathop{\rm r}\nolimits} _0}} \right)\)

Substitute \({{\mathop{\rm r}\nolimits} _0} = {{\mathop{\rm q}\nolimits} _3}\) in the above equation as shown below:

\(\begin{aligned}{}3\left( {{{\mathop{\rm q}\nolimits} _3} - {{\mathop{\rm q}\nolimits} _2}} \right) &= 3\left( {{{\mathop{\rm r}\nolimits} _1} - {{\mathop{\rm q}\nolimits} _3}} \right)\\{{\mathop{\rm q}\nolimits} _3} - {{\mathop{\rm q}\nolimits} _2} &= {{\mathop{\rm r}\nolimits} _1} - {{\mathop{\rm q}\nolimits} _3}\\2{{\mathop{\rm q}\nolimits} _3} &= {{\mathop{\rm r}\nolimits} _1} + {{\mathop{\rm q}\nolimits} _2}\\{{\mathop{\rm q}\nolimits} _3} &= \frac{{\left( {{{\mathop{\rm q}\nolimits} _2} + {{\mathop{\rm r}\nolimits} _1}} \right)}}{2}\end{aligned}\)

Thus, it is proved that \({{\mathop{\rm q}\nolimits} _3}\) is the midpoint of the segment from \({{\mathop{\rm q}\nolimits} _2}\) to \({r_1}\).

03

Write an algorithm that computes the control point for both \({\mathop{\rm y}\nolimits} \left( t \right)\) and \({\mathop{\rm z}\nolimits} \left( t \right)\)

The new control points are related to the original control points by simple formulas are\({{\mathop{\rm q}\nolimits} _0} = {{\mathop{\rm p}\nolimits} _0}\)and\({{\mathop{\rm r}\nolimits} _3} = {{\mathop{\rm p}\nolimits} _3}\).

Recall the result from exercise 13 as shown below:

\({{\mathop{\rm q}\nolimits} _1}\)is the midpoint of the segment from\({{\mathop{\rm p}\nolimits} _0}\)to\({{\mathop{\rm p}\nolimits} _1}\)is\({{\mathop{\rm q}\nolimits} _1} = \frac{1}{2}\left( {{{\mathop{\rm p}\nolimits} _1} + {{\mathop{\rm p}\nolimits} _0}} \right)\).

\({{\mathop{\rm q}\nolimits} _2}\)is the midpoint of the segment from\({{\mathop{\rm q}\nolimits} _1}\)to the midpoint of the segment from

\({{\mathop{\rm p}\nolimits} _1}\)to\({{\mathop{\rm p}\nolimits} _2}\)is\({{\mathop{\rm q}\nolimits} _2} = \frac{1}{2}\left( {{{\mathop{\rm q}\nolimits} _1} + \frac{1}{2}\left( {{{\mathop{\rm p}\nolimits} _1} + {{\mathop{\rm p}\nolimits} _2}} \right)} \right)\).

Recall the result from Exercise 14 as shown below:

\({{\mathop{\rm r}\nolimits} _1}\)is the midpoint of the segment from\({{\mathop{\rm r}\nolimits} _2}\)to the midpoint of the segment from\({{\mathop{\rm p}\nolimits} _1}\)to\({{\mathop{\rm p}\nolimits} _2}\)is\({{\mathop{\rm r}\nolimits} _1} = \frac{1}{2}\left( {{{\mathop{\rm r}\nolimits} _2} + \frac{1}{2}\left( {{{\mathop{\rm p}\nolimits} _1} + {{\mathop{\rm p}\nolimits} _2}} \right)} \right)\).

Here\({{\mathop{\rm r}\nolimits} _2}\)is the midpoint of the segment from\({{\mathop{\rm p}\nolimits} _2}\)to\({{\mathop{\rm p}\nolimits} _3}\)is\({{\mathop{\rm r}\nolimits} _2} = \frac{1}{2}\left( {{{\mathop{\rm p}\nolimits} _2} + {{\mathop{\rm p}\nolimits} _3}} \right)\).

Write the algorithm that computes the control points for both\({\mathop{\rm y}\nolimits} \left( t \right)\)and\({\mathop{\rm z}\nolimits} \left( t \right)\)as shown below

Set the formulas\({{\mathop{\rm q}\nolimits} _0} = {{\mathop{\rm p}\nolimits} _0}\)and\({{\mathop{\rm r}\nolimits} _3} = {{\mathop{\rm p}\nolimits} _3}\).

Compute\({{\mathop{\rm q}\nolimits} _1}\)is the midpoint of the segment from\({{\mathop{\rm p}\nolimits} _0}\)to\({{\mathop{\rm p}\nolimits} _1}\)is\({{\mathop{\rm q}\nolimits} _1} = \frac{1}{2}\left( {{{\mathop{\rm p}\nolimits} _1} + {{\mathop{\rm p}\nolimits} _0}} \right)\)and\({{\mathop{\rm r}\nolimits} _2}\)is the midpoint of the segment from\({{\mathop{\rm p}\nolimits} _2}\)to\({{\mathop{\rm p}\nolimits} _3}\)is\({{\mathop{\rm r}\nolimits} _2} = \frac{1}{2}\left( {{{\mathop{\rm p}\nolimits} _2} + {{\mathop{\rm p}\nolimits} _3}} \right)\).

Consider\({\mathop{\rm m}\nolimits} = \frac{{{{\mathop{\rm p}\nolimits} _1} + {{\mathop{\rm p}\nolimits} _2}}}{2}\)

Compute\({{\mathop{\rm q}\nolimits} _2}\)is the midpoint of the segment from\({{\mathop{\rm q}\nolimits} _1}\)to\({\mathop{\rm m}\nolimits} \)is\({{\mathop{\rm q}\nolimits} _2} = \frac{1}{2}\left( {{{\mathop{\rm q}\nolimits} _1} + {\mathop{\rm m}\nolimits} } \right)\).

Compute\({{\mathop{\rm r}\nolimits} _1}\)is the midpoint of the segment from\({{\mathop{\rm r}\nolimits} _2}\)to\({\mathop{\rm m}\nolimits} \)is\({{\mathop{\rm r}\nolimits} _1} = \frac{1}{2}\left( {{{\mathop{\rm r}\nolimits} _2} + {\mathop{\rm m}\nolimits} } \right)\).

Compute\({{\mathop{\rm q}\nolimits} _3}\)is the midpoint of the segment from \({{\mathop{\rm q}\nolimits} _2}\) to \({r_1}\) is \({{\mathop{\rm q}\nolimits} _3} = \frac{{\left( {{{\mathop{\rm q}\nolimits} _2} + {{\mathop{\rm r}\nolimits} _1}} \right)}}{2}\).

Set the control points \({{\mathop{\rm r}\nolimits} _0} = {{\mathop{\rm q}\nolimits} _3}\).

Unlock Step-by-Step Solutions & Ace Your Exams!

  • Full Textbook Solutions

    Get detailed explanations and key concepts

  • Unlimited Al creation

    Al flashcards, explanations, exams and more...

  • Ads-free access

    To over 500 millions flashcards

  • Money-back guarantee

    We refund you if you fail your exam.

Over 30 million students worldwide already upgrade their learning with Vaia!

One App. One Place for Learning.

All the tools & learning materials you need for study success - in one app.

Get started for free

Most popular questions from this chapter

In Exercises 21-26, prove the given statement about subsets A and B of \({\mathbb{R}^n}\), or provide the required example in \({\mathbb{R}^2}\). A proof for an exercise may use results from earlier exercises (as well as theorems already available in the text).

22. If \(A \subset B\), then \(affA \subset aff B\).

Let \({\bf{x}}\left( t \right)\) be a B-spline in Exercise 2, with control points \({{\bf{p}}_o}\), \({{\bf{p}}_1}\) , \({{\bf{p}}_2}\) , and \({{\bf{p}}_3}\).

a. Compute the tangent vector \({\bf{x}}'\left( t \right)\) and determine how the derivatives \({\bf{x}}'\left( 0 \right)\) and \({\bf{x}}'\left( 1 \right)\) are related to the control points. Give geometric descriptions of the directions of these tangent vectors. Explore what happens when both \({\bf{x}}'\left( 0 \right)\)and \({\bf{x}}'\left( 1 \right)\)equal 0. Justify your assertions.

b. Compute the second derivative and determine how and are related to the control points. Draw a figure based on Figure 10, and construct a line segment that points in the direction of . [Hint: Use \({{\bf{p}}_2}\) as the origin of the coordinate system.]

Use only the definition of affine dependence to show that anindexed set \(\left\{ {{v_1},{v_2}} \right\}\) in \({\mathbb{R}^{\bf{n}}}\) is affinely dependent if and only if \({v_1} = {v_2}\).

Question 4: Repeat Exercise 2 where \(m\) is the minimum value of \(f\) on \(S\) instead of the maximum value.

The “B” in B-spline refers to the fact that a segment \({\bf{x}}\left( t \right)\)may be written in terms of a basis matrix, \(\,{M_S}\) , in a form similar to a Bézier curve. That is,

\({\bf{x}}\left( t \right) = G{M_S}{\bf{u}}\left( t \right)\)for \(\,0 \le t \le 1\)

where \(G\) is the geometry matrix \(\,\left( {{{\bf{p}}_{\bf{0}}}\,\,\,\,{{\bf{p}}_{{\bf{1}}\,\,\,}}\,{{\bf{p}}_{\bf{2}}}\,\,\,{{\bf{p}}_{\bf{3}}}} \right)\)and \({\bf{u}}\left( {\bf{t}} \right)\) is the column vector \(\left( {1,\,\,t,\,\,{t^2},\,{t^3}} \right)\) . In a uniform B-spline, each segment uses the same basis matrix \(\,{M_S}\), but the geometry matrix changes. Construct the basis matrix \(\,{M_S}\) for \({\bf{x}}\left( t \right)\).

See all solutions

Recommended explanations on Math Textbooks

View all explanations

What do you think about this solution?

We value your feedback to improve our textbook solutions.

Study anywhere. Anytime. Across all devices.

Sign-up for free