国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

徹底搞懂貝塞爾曲線的原理

這篇具有很好參考價值的文章主要介紹了徹底搞懂貝塞爾曲線的原理。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

貝塞爾曲線介紹

我們在前面講了繪制自定義曲線,而實(shí)際開發(fā)過程還會遇到更復(fù)雜的圖形繪制,比如下面的這些圖形:

貝塞爾曲線,Android,貝塞爾曲線,線性代數(shù),圖形繪制,數(shù)學(xué)公式,android,Powered by 金山文檔

這時候就需要用到貝塞爾曲線了。下面是百科關(guān)于貝塞爾曲線的介紹。

貝塞爾曲線就是這樣的一條曲線,它是依據(jù)四個位置任意的點(diǎn)坐標(biāo)繪制出的一條光滑曲線。在歷史上,研究貝塞爾曲線的人最初是按照已知曲線參數(shù)方程來確定四個點(diǎn)的思路設(shè)計出這種矢量曲線繪制法。貝塞爾曲線的有趣之處更在于它的“皮筋效應(yīng)”,也就是說,隨著點(diǎn)有規(guī)律地移動,曲線將產(chǎn)生皮筋伸引一樣的變換,帶來視覺上的沖擊。1962年,法國數(shù)學(xué)家 Pierre Bézier第一個研究了這種矢量繪制曲線的方法,并給出了詳細(xì)的計算公式,因此按照這樣的公式繪制出來的曲線就用他的姓氏來命名是為貝塞爾曲線。

這上面的介紹實(shí)際有點(diǎn)不太正確,三次貝塞爾曲線才需要4個點(diǎn),而還有一次貝塞爾曲線(實(shí)際是線段),二次次貝塞爾曲線以及高階貝塞爾曲線,只是我們常用的是三次貝塞爾曲線。要理解貝塞爾曲線怎么來的還得從1次貝塞爾曲線和2次貝塞爾曲線說起。

一次貝塞爾曲線

貝塞爾曲線,Android,貝塞爾曲線,線性代數(shù),圖形繪制,數(shù)學(xué)公式,android,Powered by 金山文檔

如上圖所示,P 點(diǎn)隨時間 t 在 P0到 P1兩點(diǎn)之間的線段移動,t=0時刻,P 點(diǎn)和 P0重合,t=1時刻 P 點(diǎn)和 P1重合。最終推導(dǎo)得到 P 點(diǎn)的位置和 P0,P1及 t 的關(guān)系是一個線性插值函數(shù):

貝塞爾曲線,Android,貝塞爾曲線,線性代數(shù),圖形繪制,數(shù)學(xué)公式,android,Powered by 金山文檔

二次貝塞爾取曲線

二次貝塞爾曲線控制點(diǎn)有3個,如下圖所示。

貝塞爾曲線,Android,貝塞爾曲線,線性代數(shù),圖形繪制,數(shù)學(xué)公式,android,Powered by 金山文檔

一共有 P0、P1和 P2三個控制點(diǎn),那P 點(diǎn)的位置怎么來的呢?其實(shí)P 點(diǎn)是 A 點(diǎn)到 B 點(diǎn)的一次貝塞爾曲線,而 A 點(diǎn)是 P0到 P1的一次貝塞爾曲線,B 點(diǎn)是 P1到 P2的一次貝塞爾曲線。隨著時間 t 的變化,A 點(diǎn)和 B 點(diǎn)的位置會改變,從而使得 P 點(diǎn)會沿著 P0、P1到 P2的一段曲線運(yùn)動,而更為神氣的是這是一條平滑的曲線。下面是數(shù)學(xué)公式推導(dǎo)和實(shí)際的動圖演示。

貝塞爾曲線,Android,貝塞爾曲線,線性代數(shù),圖形繪制,數(shù)學(xué)公式,android,Powered by 金山文檔
貝塞爾曲線,Android,貝塞爾曲線,線性代數(shù),圖形繪制,數(shù)學(xué)公式,android,Powered by 金山文檔

三次貝塞爾曲線

有了二次貝塞爾曲線的推導(dǎo)過程,實(shí)際上三次貝塞爾曲線的推導(dǎo)過程是一樣的。

貝塞爾曲線,Android,貝塞爾曲線,線性代數(shù),圖形繪制,數(shù)學(xué)公式,android,Powered by 金山文檔

三次貝塞爾曲線有4個控制點(diǎn),上圖各個點(diǎn)的關(guān)系如下:

  • A 點(diǎn)是 P0到 P1的一次貝塞爾曲線,B 點(diǎn)是 P1到 P2的一次貝塞爾曲線,C 點(diǎn)是 P2到 P3的一次貝塞爾曲線;

  • D 點(diǎn)是 A 點(diǎn)到 B 點(diǎn)的一次貝塞爾曲線(也是 P0,P1和 P2的二次貝塞爾曲線),E 點(diǎn)是 B 點(diǎn)到 C 點(diǎn)的一次貝塞爾曲線(也是 P1,P2到 P3的二次貝塞爾曲線);

  • P 點(diǎn)是 D 點(diǎn)到 E 點(diǎn)的一次貝塞爾曲線,也是 A ,B 和 C 的二次貝塞爾曲線,進(jìn)而就是 P0,P1,P2和 P3的三次貝塞爾曲線了。

下面是動圖展示 P 點(diǎn)的移動過程。

貝塞爾曲線,Android,貝塞爾曲線,線性代數(shù),圖形繪制,數(shù)學(xué)公式,android,Powered by 金山文檔

數(shù)學(xué)公式推導(dǎo)過程如下:

貝塞爾曲線,Android,貝塞爾曲線,線性代數(shù),圖形繪制,數(shù)學(xué)公式,android,Powered by 金山文檔

高階貝塞爾函數(shù)

實(shí)際上,貝塞爾函數(shù)還可以繼續(xù)增加控制點(diǎn),推導(dǎo)的過程都是一樣的,只是隨著點(diǎn)數(shù)的增加,計算的量會越大,而我們大多數(shù)情況下用三階貝塞爾曲線就足夠了。

總結(jié)

本篇介紹了貝塞爾函數(shù)的概念,運(yùn)動點(diǎn)的過程和公式推導(dǎo),相信通過這些內(nèi)容,大家應(yīng)該能夠知道貝塞爾曲線怎么回事了。下一篇我們來用 Flutter 繪制貝塞爾曲線,體驗(yàn)一下數(shù)學(xué)之美!文章來源地址http://www.zghlxwxcb.cn/news/detail-829257.html

到了這里,關(guān)于徹底搞懂貝塞爾曲線的原理的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • c++計算貝塞爾曲線(折線平滑為曲線)坐標(biāo)方法

    效果可查看上一篇博文: js手動畫平滑曲線,貝塞爾曲線擬合 【代碼】js手動畫平滑曲線,貝塞爾曲線擬合。 https://blog.csdn.net/qiufeng_xinqing/article/details/131711963?spm=1001.2014.3001.5502 代碼如下:

    2024年02月16日
    瀏覽(25)
  • CSS動畫中的貝塞爾曲線

    CSS動畫中的貝塞爾曲線

    最近在學(xué)習(xí)CSS動畫,其中動畫時間函數(shù)的部分涉及到了 貝塞爾曲線 的相關(guān)知識。對于這部分知識,之前一直沒有好好學(xué)習(xí)過,正好借著這個機(jī)會學(xué)習(xí)下。 首先簡單介紹下貝塞爾曲線。 貝塞爾曲線(Bézier curve),又稱貝茲曲線或貝濟(jì)埃曲線,是應(yīng)用于二維圖形應(yīng)用程序的數(shù)學(xué)曲

    2024年02月09日
    瀏覽(27)
  • unity 曲線可視化圖表制作(lineRenderer + 貝塞爾曲線)

    unity 曲線可視化圖表制作(lineRenderer + 貝塞爾曲線)

    需求要實(shí)現(xiàn)一個動態(tài)變化的曲線 思路: 分為兩部分:畫線和平滑曲線 首先解決畫線問題: 1.lineRenderer 2.texture的setpixel 肯定選已經(jīng)做好的輪子1啦 平滑曲線思路: 1.拋物線 2.貝塞爾曲線 拋物線做連續(xù)的曲線太抽象了 肯定選貝塞爾曲線 先了解一下貝塞爾曲線 一次貝塞爾 對應(yīng)

    2023年04月08日
    瀏覽(26)
  • 貝塞爾曲線的python實(shí)現(xiàn)(簡單易理解)

    貝塞爾曲線的python實(shí)現(xiàn)(簡單易理解)

    貝塞爾曲線在計算機(jī)圖形學(xué)中被大量使用,通??梢援a(chǎn)生平滑的曲線。比如ps中的鋼筆工具,就是利用的這種原理。由于用計算機(jī)畫圖大部分時間是操作鼠標(biāo)來掌握線條的路徑,與手繪的感覺和效果有很大的差別。即使是一位精明的畫師能輕松繪出各種圖形,拿到鼠標(biāo)想隨心

    2024年02月16日
    瀏覽(24)
  • Godot插值、貝塞爾曲線和Astar尋路

    Godot插值、貝塞爾曲線和Astar尋路

    線性插值是采用一次多項(xiàng)式上進(jìn)行的插值計算,任意給定兩個值A(chǔ)和B,那么在A和B之間的任意值可以定義為: P(t) = A * (1 - t) + B * t,0 = t = 1。 數(shù)學(xué)中用于線性擬合,游戲應(yīng)用可以做出跟隨效果(寵物跟隨、npc跟隨) 貝塞爾是插值的應(yīng)用之一。貝塞爾曲線是為工業(yè)設(shè)計,是圖形

    2024年04月14日
    瀏覽(27)
  • 【Unity】運(yùn)行時創(chuàng)建曲線(貝塞爾的運(yùn)用)

    【Unity】運(yùn)行時創(chuàng)建曲線(貝塞爾的運(yùn)用)

    1. 實(shí)現(xiàn)的目標(biāo) 在運(yùn)行狀態(tài)下創(chuàng)建一條可以使用貝塞爾方法實(shí)時編輯的網(wǎng)格曲線。 2. 原理介紹 2.1 曲線的創(chuàng)建 unity建立網(wǎng)格曲線可以參考Unity程序化網(wǎng)格體的實(shí)現(xiàn)方法。主要分為頂點(diǎn),三角面,UV和法線。筆者有類似的文章unity 線繩管道純代碼創(chuàng)建方法_,詳細(xì)的講解了網(wǎng)格線的

    2024年02月04日
    瀏覽(23)
  • Unity中的數(shù)學(xué)基礎(chǔ)——貝塞爾曲線

    Unity中的數(shù)學(xué)基礎(chǔ)——貝塞爾曲線

    一:前言? 一條貝塞爾曲線是由一組定義的控制點(diǎn)P0到 Pn,n=1為線性,n=2為二次......第一個和最后一個控制點(diǎn)稱為起點(diǎn)和終點(diǎn),中間的控制點(diǎn)一般不會位于曲線上? 獲取兩個點(diǎn)之間的點(diǎn)就是通過線性插值( Mathf.Lerp),0 = t = 1 二:貝塞爾曲線公式 ——線性公式:給定點(diǎn)P0、P

    2024年02月11日
    瀏覽(23)
  • Unity ——使用貝塞爾曲線對三維管狀物體進(jìn)行彎曲

    Unity ——使用貝塞爾曲線對三維管狀物體進(jìn)行彎曲

    參考鏈接:【Unity】彈性魚竿簡單實(shí)現(xiàn)-通過貝塞爾曲線修改Mesh - 簡書 參考論文:吳曉亮, 黃襄念. Unity 中使用貝塞爾曲線對三維物體進(jìn)行彎曲[J]. 現(xiàn)代計算機(jī), 2016 (5): 57-59. unity項(xiàng)目下載:https://download.csdn.net/download/weixin_43042683/87690343 效果圖 隨著虛擬現(xiàn)實(shí)的發(fā)展,在游戲引擎中

    2024年02月11日
    瀏覽(46)
  • Bezier Curve 貝塞爾曲線 - 在Unity中實(shí)現(xiàn)路徑編輯

    Bezier Curve 貝塞爾曲線 - 在Unity中實(shí)現(xiàn)路徑編輯

    貝塞爾曲線( Bezier Curve ),又稱貝茲曲線或貝濟(jì)埃曲線,是計算機(jī)圖形學(xué)中相當(dāng)重要的參數(shù)曲線,在我們常用的軟件如 Photo Shop 中就有貝塞爾曲線工具,本文簡單介紹貝塞爾曲線在Unity中的實(shí)現(xiàn)與應(yīng)用。 給頂點(diǎn)P 0 、P 1 ,只是一條兩點(diǎn)之間的直線,公式如下: B(t) = P 0 + (P

    2024年01月23日
    瀏覽(30)
  • 【路徑規(guī)劃】局部路徑規(guī)劃算法——貝塞爾曲線法(含python實(shí)現(xiàn) | c++實(shí)現(xiàn))

    【路徑規(guī)劃】局部路徑規(guī)劃算法——貝塞爾曲線法(含python實(shí)現(xiàn) | c++實(shí)現(xiàn))

    路徑規(guī)劃與軌跡跟蹤系列算法 曲線雜談(二):Bezier曲線的特殊性質(zhì) 貝塞爾曲線的特性總結(jié) 貝塞爾曲線于1962年由法國工程師皮埃爾·貝塞爾( Pierre Bézier)發(fā)表,他運(yùn)用貝塞爾曲線來為汽車的主體進(jìn)行設(shè)計。 貝塞爾曲線是應(yīng)用于二維圖形應(yīng)用程序的數(shù)學(xué)曲線,由一組稱為

    2024年02月14日
    瀏覽(158)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包