## Frequently asked questions about the web app Exploring Bezier and Spline Curves

1. Q: What is the purpose of this app?
A: This interactive web app enables you to explore the relationship between the following objects that are related to a curve C that can be either a Bezier curve or a spline curve.
• The control points P[i]
• The parameter value t
• The blending functions b[i](t) (Bernstein polynomials or B-spline basis functions)
• The point on the curve C(t) = sum{P[i]*b[i](t)}

2. Q: How do I get this app to run on my computer, tablet, or smart phone?
A: Launch a web browser on your device and access https://richardfuhr.neocities.org/BusyBCurves.html.

3. Q: On which devices does this app run?
A: The web app runs on the following devices:
• Microsoft Windows computers
• Apple macOS computers
• Ubuntu Linux computers
• Google Chromebooks
• iPhones
• Android phones
• iPads
• Kindles

4. Q: What programming language was used to develop this app?
A: TypeScript

5. Q: How is the cubic Bezier curve drawn?
A: The cubic Bezier curve is drawn using the bezierCurveTo method of the CanvasRenderingContext2D object, which is obtained from the HTML5 Canvas.

6. Q: How is the cubic spline curve drawn?
A: The cubic spline curve is drawn by first internally representing it as a piecewise Bezier curve and then using the bezierCurveTo method. The piecewise-Bezier curve representation is obtained by knot insertion so that each distinct knot has multiplicity equal to the degree.

7. Q: How are the graphs of the Bernstein polynomials drawn?
A: The graph of each Bernstein polynomial b[i](t) is represented as a cubic Bezier curve (t, b[i](t)) by determining the appropriate control points, and that Bezier curve is drawn as described above.

8. Q: How are the graphs of the B-spline functions drawn?
A: The graph of each B-spline function b[i](t) is represented as a cubic spline curve (t, b[i](t)) by determining the appropriate control points, and that cubic spline curve is drawn as described above.

9. Q: If I have more questions or comments, how do I contact the developer?
A: Please send your questions or comments to the software developer at richard.fuhr@gmail.com.