2011/4/20

兩條2次貝茲曲線模擬一條3次貝茲曲線

html:http://cgm.cs.ntust.edu.tw/etrex/curve/curve.html
fla :http://cgm.cs.ntust.edu.tw/etrex/curve/curve.fla
那些圈圈可以拖曳

因為2次貝茲曲線的接合處是無法保證平滑的
但是3次貝茲曲線可以保證平滑

可惜的是 flash 只支援2次貝茲曲線
如果能用2次貝茲曲線模擬出3次貝茲曲線的平滑效果
那麼就可以畫出漂亮的曲線

但是模擬過程中
為了要接合處平滑 反而有bug產生 0.0

3 則留言:

南道爾 提到...

flash已經有了三次貝茲,但我以drawpath及三次貝茲,畫一條由mousemove產生的連串坐標時,接口同樣不平滑。。。。

etrex kuo 提到...

3次貝茲曲線平滑的條件:

一條貝茲曲線是用4個點定義
假設4點為 p1,p2,p3,p4
其中 p2,p3 是控制點

第一條貝茲曲線的p3,p4 和第二條貝茲曲線的 p1, p2 必須在同一條直線上

南道爾 提到...

原來如此。但我用了別的方法使兩條貝茲曲線接口平滑化,就是用插值,偽造兩個新座標。。。。