[閒聊] 手繪二次貝茲曲線 - 根據滑鼠路徑

看板Flash作者 (moonet)時間13年前 (2012/08/23 11:42), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
問題 : 如何根據使用者的滑鼠軌跡 得到一個二次貝茲曲線 flash graphics 的 curveTo 畫出的線就是二次貝茲曲線 這條線需要三個參數 p0, p1, p2 graphics.moveTo(p0.x, p0.y); graphics.curveTo(p1.x, p1.y, p2.x, p2.y); 所以我們要解決的問題是給定一個滑鼠軌跡座標陣列 x0,x1,...,xk 求出 p0, p1, p2 的值 解法 : 我發現這篇論文寫得很好 http://figment.cse.usf.edu/~sfefilat/data/papers/TuBCT10.16.pdf 他簡單假設 p0 = x0 p2 = xk 接下來只要解 p1, 用一個逐步逼近最佳解的方式, 先假設p1在某個位置 算出目前誤差值 e 應該偏移的方向 Δp 更新 p1 = p1 + Δp 重作上面三行直到 e 的值不再變小為止 作法很簡單 但這裡還有很多細節沒講到 有興趣的人可以慢慢看論文 利用這篇論文可以實作出適合用在 flash 上的手繪曲線程式 -- blog:http://etrex.blogspot.com/ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.137.198.18 ※ 編輯: etrexetrex 來自: 140.137.198.18 (08/23 11:56)
文章代碼(AID): #1GDQQvc5 (Flash)
文章代碼(AID): #1GDQQvc5 (Flash)