貝塞爾曲線與翻頁效果

2021-06-21 13:42:51 字數 1156 閱讀 9319

先來看一張翻頁的效果圖。假設從右下角開始翻頁

剪下,組合

過程。

接下來看一下三個顏色的區域怎麼獲取:

假設 a 為當前螢幕的觸點。

f 為右下角的座標。

g 是直線 af 的垂直平分線上的點

eh 是過 g 點垂直於 af 的直線。

—— —— —— —— —— —— ——  —— —— —— —— —— —— —— 

此時通過數學知識可以求得 

g 的座標點: gx = (ax + fx) / 2;  gy = (ay + fy) / 2;

e點的座標  通過公式  em * mf = gm * gm (其中em兩點之間的長度)可以計算出來

同理計算出h的座標

。。。。。。。。。。。。。。。。。

然後就剩下 i-j-k  b-d-c 這兩條貝塞爾曲線的 其中

cj 是  ag 的垂直平分線

根據三角形的性質  ef / ec = gf / go = 2 

可以求出 c 點座標, 同理求出 b k j

現在只剩下d i 兩個點的座標了。。。。

圖中的 di 線話的不是很準。實際上 d 在ep的垂直平分線上。

關係為  de = dp 

d點座標 dx = (ex - px) / 2

di為go的垂直平分線

假設我們已經求得了包含黃色區域和藍色區域的path, 假設為mpath0,那麼綠色區域則可以使用

canvas.clippath(mpath0, region.op.xor)來剪裁繪製;

而藍色區域則可以通過使用(假設黃色區域的path為mpath1)

canvas.clippath(mpath0);   

canvas.clippath(mpath1, region.op.difference); 

//繪製第一次不同於第二次的區域

下面我們來研究如何求取mpath0:

貝塞爾曲線與翻頁效果

先來看一張翻頁的效果圖。假設從右下角開始翻頁 接下來看一下三個顏色的區域怎麼獲取 假設 a 為當前螢幕的觸點。f 為右下角的座標。g 是直線 af 的垂直平分線上的點 eh 是過 g 點垂直於 af 的直線。此時通過數學知識可以求得 g 的座標點 gx ax fx 2 gy ay fy 2 e點的座...

貝塞爾曲線

1.概述 貝塞爾曲線 b zier curve 又稱 貝茲曲線或貝濟埃曲線,是應用於二維圖形應用程式的數學曲線。一般的向量圖形 軟體通過它來精確畫出曲線,貝茲曲線由 線段與節點組成,節點是可拖動的支點,線段像可伸縮的皮筋,我們在繪圖工具上看到的鋼筆工具就是來做這種向量曲線的。貝塞爾曲線是計算機圖形學...

貝塞爾曲線

由於工作需要,最近在研究乙個類似qq訊息劃掉的效果 很多強迫症患者童鞋對這個簡直是愛不釋手,當然這個也包括我自己 貝塞爾曲線就是這樣的一條曲線,它是依據四個位置任意的點座標繪製出的一條 光滑曲線 在歷史上,研究貝塞爾曲線的人最初是按照已知曲線 引數方程 來確定四個點的思路設計出這種向量曲線繪製法。貝...