貝塞爾曲線:
10年積累的網(wǎng)站設(shè)計制作、成都網(wǎng)站建設(shè)經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先網(wǎng)站設(shè)計后付款的網(wǎng)站建設(shè)流程,更有武強免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。貝塞爾曲線于1962,由法國工程師皮埃爾·貝塞爾所廣泛發(fā)表,他運用貝塞爾曲線來為汽車的主體進行設(shè)計。貝塞爾曲線最初由 Paul de Casteljau 于 1959 年運用 de Casteljau 演算法開發(fā),以穩(wěn)定數(shù)值的方法求出貝茲曲線。貝塞爾曲線主要用于二維圖形應(yīng)用程序中的數(shù)學(xué)曲線,曲線由起始點,終止點(也稱錨點)和控制點組成,通過調(diào)整控制點,貝塞爾曲線的形狀會發(fā)生變化。
在此舉一個例子,實現(xiàn)貝塞爾曲線,基于以下場景:
上面的圖片,我們可以見到一個白色的區(qū)域,邊緣為弧形,這條弧線便是我們用貝塞爾曲線畫出來的,然后我們要實現(xiàn)隨著手指的上滑,弧線慢慢變直線,往下滑再慢慢變弧線。
1、首先我們自定義一個View,然后畫出貝塞爾曲線,想畫出貝塞爾曲線,要設(shè)置它的起點,終點,和控制點。
以下紅色區(qū)域分別為我們設(shè)置的起點,控制點,終點。
初始化畫筆以及各點如下:
private Paint mPaint; private int centerX, centerY; private PointF start, end, control; mPaint = new Paint(); mPaint.setColor(Color.WHITE); mPaint.setStyle(Paint.Style.FILL); mPaint.setAntiAlias(true); //起點 start = new PointF(0, 0); //終點 end = new PointF(0, 0); //控制點 control = new PointF(0, 0);