貝茲曲線

出自六年制學程
在2023年8月27日 (日) 14:05由丁志仁對話 | 貢獻所做的修訂版本

跳轉到: 導覽搜尋

二次貝茲曲線

  1. 二次貝茲曲線畫出的是拋物線,無法畫出橢圓和雙曲線。故無法畫出正圓。
  2. 所有拋物線都「相似」(不是相等),所有曲率的微線段都有。
  3. 兩端點外只有一個控制點。
  4. 拋物線方程式 ax2+bxy+cy2+dx+ey+f=0 則 b2 - 4ac=0 ,即前三項為完全平方式。

參考

  1. 二元二次方程式圖形判別的例題
    ---------- 擬合圓 ----------
  2. How to create circle with Bézier curves?
  3. 如何使用Bézier曲線創建圓?
  4. 用三阶贝塞尔曲线拟合圆

一、

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 為控制點

二次貝茲曲線的參數方程為:

B(t)=(1−t)2×P0+2(1−t)t×P1+t2×P2

其中:

  1. t 是一個介於 0 到 1 之間的參數
  2. P0 是起點
  3. P1 是控制點
  4. P2 是終點

為了找到最大和最小的 y 值,我們可以對 y 的方程進行微分,並將其設為 0 以找到可能的極值。

給定的點是:

P0=(0,0)
P1=(50,50)
P2=(100,0)

它們代入 y 的方程,我們得到:

y(t)=(1−t)2×0+2(1−t)t×50+t2×0=100t(1−t)

對其進行微分:

y′(t)=100−200t

將斜率設為 0 以解 t:

100−200t=0
t=0.5

參考文章