Bézier curves are a class of parametric curves defined using a set of control points, and a parameter t in [0,1]. The analytic parametric equation of a Bézier curve defined by a control polygon of n+1 points Pi i = 0,!,n is given through Bernstein polynomials € Bi n (t) as follows: C(t) = Bi n (t)Pi i= 0 nΣ Where Bi n (t) = n! i!(n − i)! (1− t)n−i t i is the ith Bernstein polynomial of degree n. Given a value of parameter t, the Bézier curve can be evaluated either using the above parametric equation or using the Decasteljau subdivision algorithm. The objective of this homework is to develop a tool for visualization and editing of Bézier curves of any degree n. A C++ class should be defined to encapsulate the data and all the functions necessary for easy manipulation of Bézier curves. A particular attention should be paid to the design of your application and to the graphic user interface that allows the activation of the desired functionality.
Recommended functionalities:
1. Appropriate data structures to store the curve properties (number of control points, set of control points, etc.)
2. A Menu to allow navigation through the application functionalities and select the function to launch.
3. Mouse control function: allows the definition of the control polygon, the selection and move of one control point into another position to enhance the curve design
4. A function BezPoint() to compute and return the point on the Bézier curve using the parametric equation.
5. A function CasteljauPoint() to compute and return a point on the Bézier curve using the Decasteljau algorithm.
6. A function CasteljauSubdivid() to compute and return the two sub-curves of a Bézier curve using the Decasteljau algorithm.
7. A function drawBez() to visualize a Bézier curve with (or without) its control polygon.
8. A function to edit the curve: use the mouse to select and move one control point into another position, then trace the resulting curve.
Expert Answer
![Question & Answer: Bézier curves are a class of parametric curves defined using a set of control points, and a parameter t in [0,1]. The..... 1 Question & Answer: Bézier curves are a class of parametric curves defined using a set of control points, and a parameter t in [0,1]. The..... 1](https://d2vlcm61l7u1fs.cloudfront.net/media%2F83c%2F83c08f1e-f18c-478b-b170-e93b46a0b4f6%2Fphpmqxyih.png)
![Question & Answer: Bézier curves are a class of parametric curves defined using a set of control points, and a parameter t in [0,1]. The..... 2 Question & Answer: Bézier curves are a class of parametric curves defined using a set of control points, and a parameter t in [0,1]. The..... 2](https://d2vlcm61l7u1fs.cloudfront.net/media%2F2db%2F2dbd8081-1acc-4499-b759-8fd9b03587aa%2Fphpw5DXLP.png)
![Question & Answer: Bézier curves are a class of parametric curves defined using a set of control points, and a parameter t in [0,1]. The..... 3 Question & Answer: Bézier curves are a class of parametric curves defined using a set of control points, and a parameter t in [0,1]. The..... 3](https://d2vlcm61l7u1fs.cloudfront.net/media%2F314%2F31454647-f183-4ed2-9b03-0968df4b3adb%2FphpXiA4u1.png)
![Question & Answer: Bézier curves are a class of parametric curves defined using a set of control points, and a parameter t in [0,1]. The..... 4 Question & Answer: Bézier curves are a class of parametric curves defined using a set of control points, and a parameter t in [0,1]. The..... 4](https://d2vlcm61l7u1fs.cloudfront.net/media%2Fed5%2Fed53e6a4-e617-4729-9bd4-00700607d09a%2FphpkRH21Y.png)