gpt4 book ai didi

math - 通过三个给定点绘制二次贝塞尔曲线

转载 作者:行者123 更新时间:2023-12-03 10:49:55 27 4
gpt4 key购买 nike

我在2D中有3个点,我想绘制一条通过它们的二次贝塞尔曲线。如何计算中间控制点(在quadTo中为x1y1)?我从大学就知道线性代数,但是对此需要一些简单的帮助。

如何计算中间控制点,以便曲线也能通过它?

最佳答案

假设P0,P1,P2为控制点,而Pc为要通过曲线的固定点。

然后,贝塞尔曲线定义为

P(t) = P0*t^2 + P1*2*t*(1-t) + P2*(1-t)^2

...其中t从零到1。

您的问题有无数的答案,因为对于任何t值,它都可能通过您的观点。因此,只需选择一个,如t = 0.5,然后求解P1:
Pc = P0*.25 + P1*2*.25 + P2*.25

P1 = (Pc - P0*.25 - P2*.25)/.5

= 2*Pc - P0/2 - P2/2

那里的“P”值是(x,y)对,因此只需对x一次应用方程式,对y一次应用方程式:
x1 = 2*xc - x0/2 - x2/2
y1 = 2*yc - y0/2 - y2/2

...其中(xc,yc)是您要通过的点,(x0,y0)是起点,(x2,y2)是终点。这将为您提供在t = 0.5时通过(xc,yc)的贝塞尔曲线。

关于math - 通过三个给定点绘制二次贝塞尔曲线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6711707/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com