貝茲曲線
二次貝茲曲線
- 二次貝茲曲線畫出的是拋物線,無法畫出橢圓和雙曲線。故無法畫出正圓。
- 所有拋物線都「相似」(不是相等),所有曲率的微線段都有。
- 兩端點外只有一個控制點。
- 拋物線方程式 ax2+bxy+cy2+dx+ey+f=0 則 b2 - 4ac=0 ,即前三項為完全平方式。
參考
- 二元二次方程式圖形判別的例題
---------- 擬合圓 ---------- - How to create circle with Bézier curves?
- 如何使用Bézier曲線創建圓?
- 用三阶贝塞尔曲线拟合圆
一、
| Q or q (quadratic Bézier curve) |
x1 y1 x y![]() <path d='M0,0 Q50,50 100,0' style='stroke:black'/> <path d='m0,0 q50,50 100,0' style='stroke:black'/> |
從目前點的座標畫條二次貝茲曲線到指定點的 x,y 座標:其中 x1,y1 為控制點 | |
二次貝茲曲線的參數方程為: [math]\lt semantics\gt \lt mrow\gt \lt mi\gt B\lt /mi\gt \lt mo stretchy="false"\gt (\lt /mo\gt \lt mi\gt t\lt /mi\gt \lt mo stretchy="false"\gt )\lt /mo\gt \lt mo\gt =\lt /mo\gt \lt mo stretchy="false"\gt (\lt /mo\gt \lt mn\gt 1\lt /mn\gt \lt mo\gt −\lt /mo\gt \lt mi\gt t\lt /mi\gt \lt msup\gt \lt mo stretchy="false"\gt )\lt /mo\gt \lt mn\gt 2\lt /mn\gt \lt /msup\gt \lt mo\gt ×\lt /mo\gt \lt mi\gt P\lt /mi\gt \lt mn\gt 0\lt /mn\gt \lt mo\gt +\lt /mo\gt \lt mn\gt 2\lt /mn\gt \lt mo stretchy="false"\gt (\lt /mo\gt \lt mn\gt 1\lt /mn\gt \lt mo\gt −\lt /mo\gt \lt mi\gt t\lt /mi\gt \lt mo stretchy="false"\gt )\lt /mo\gt \lt mi\gt t\lt /mi\gt \lt mo\gt ×\lt /mo\gt \lt mi\gt P\lt /mi\gt \lt mn\gt 1\lt /mn\gt \lt mo\gt +\lt /mo\gt \lt msup\gt \lt mi\gt t\lt /mi\gt \lt mn\gt 2\lt /mn\gt \lt /msup\gt \lt mo\gt ×\lt /mo\gt \lt mi\gt P\lt /mi\gt \lt mn\gt 2\lt /mn\gt \lt /mrow\gt \lt annotation encoding="application/x-tex"\gt B(t) = (1-t)^2 \times P0 + 2(1-t)t \times P1 + t^2 \times P2\lt /annotation\gt \lt /semantics\gt [/math]
