
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 Bspline basis functions)
 The point on the curve C(t) = sum{P[i]*b[i](t)}

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.

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

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

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.

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
piecewiseBezier curve representation is obtained by knot insertion so that each distinct knot has multiplicity equal to the degree.

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.

Q: How are the graphs of the Bspline functions drawn?
A: The graph of each Bspline 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.

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.