canvas三次貝塞爾曲線(通俗易懂理解)
關于貝塞爾曲線,網上很多博客都已經給出了解釋。。。真的好多。
但是我看了幾百遍都不明白??!不知道大家跟我有沒有同樣的感受。所以就來個重點解釋,通俗易懂版給大家吧~~
下面的這個圖,相信你也看到過很多。然而,我這里也是需要貼一下這個圖的(不知道是哪個大神的圖,不好意思,借用一下)。

參數講解
P0是曲線的開始點
P3是曲線的結束點
P1和P2是控制曲線走勢的控制點,所以這兩個點事實上是輔助作用,并不會在畫布中被繪制出來
t參數重點講解
t是輔助參數,可以看到它的值范圍是[0,1]。這個t值作用于圖中的所有直線(P0P1、P1P2、P2P3、兩條綠線、藍線)。
注意:圖中真實繪制出來的,就只有紅線,其他的都只是輔助的,并不會被真實繪制出來。
在上圖中,你可以看成這個三次貝塞爾曲線由兩個二次貝塞爾曲線組成。1.P0P1P2組成的二次貝塞爾曲線 2.P1P2P3組成的二次貝塞爾曲線。
所以要把上圖的三次貝塞爾曲線拆分成兩個二次貝塞爾曲線講解
例如:
對于第一個二次貝塞爾曲線P0P1P2,
當t=0.5的時候(其實就是[0,1]的中間值,這個比較好理解),情況應該是這樣的:
1.找到P0P1線(方向P0->P1,這是有方向的線段)的50% (因為t=0.5,即0.5*100%) 的位置,標上一個綠色的點
2.同1步驟,在P1P2線上的50%位置上標上一個綠色的點
3.把步驟1和2的綠色點連成一條線
4.然后在這條綠色的50%位置處標上一個紅點,這個紅點就是實際繪制的曲線中的一個點。(當t值不斷變化,就會出現不同位置的紅點,組成一條曲線)
同理,
第二個二次貝塞爾曲線的理解跟第一個二次貝塞爾曲線一樣!
看到這里你也許會問:設計師給了設計稿給我,怎么才能把設計稿里面的曲線還原出來?!
在PS里面,畫弧線使用鋼筆工具的,所以跟我們的原理是一樣的,只要設計師給出開始點,結束點,控制點就OK啦~~~

浙公網安備 33010602011771號