簡體   English   中英

貝塞爾曲線是筆直的

[英]Bezier curve is straight

我想繪制一個貝塞爾曲線,我使用4個控制點,但我的線仍然是直線。

我有一堂課處理點數。 我使用pyglet繪制輸出。

def Bezier(P0,P1,P2,P3, t):
    t2 = t*t
    t3 = t2 * t
    mt = 1-t
    mt2 = mt * mt
    mt3 = mt2 * mt

    P0.mulP(mt)

    P1.mulP(3)
    P1.mulP(mt2)
    P1.mulP(t)

    P2.mulP(mt)
    P2.mulP(3)
    P2.mulP(t2)

    P3.mulP(t3)

    P0.addP(P1)
    P0.addP(P2)
    P0.addP(P3)

    return P0

編輯:我仍然在玩這個問題。 我有一個函數來計算貝塞爾曲線的坐標,它顯示出相同的內容...

def Bezier3deg(P0,P1,P2,t):
    ReP = points.point()

    t1 = (1 - t) * (1 - t)
    P0.mulP(t1)

    t2 = 2 * (1-t) * t
    P1.mulP(t2)

    t3 = t*t
    P2.mulP(t3)

    ReP.addP(P0)
    ReP.addP(P1)
    ReP.addP(P2)
    return ReP

好的,我弄清楚了,問題出在我的python技能上。 貝塞爾曲線功能始終會更改控制點的原始坐標。 修好后,曲線就可以了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM