gpt4 book ai didi

c# - 如何计算只有起点和终点的贝塞尔曲线?

转载 作者:太空宇宙 更新时间:2023-11-03 22:18:37 24 4
gpt4 key购买 nike

我最初发布了一个简单得多(而且帮助不大)的问题,并对其进行了编辑以使其更具体。

这个来自维基百科的动画基本上展示了我想要完成的事情,但是 - 我希望让它翻转过来,它开始朝着目的地和“向上”(在这个图像中)前进,然后更直接地弧形到终点。但是,我只能访问起点和终点,我希望做的是能够通过指定“高度”(或宽度,无论你想怎么调用它)来确定其他点,以确定多高电弧实际上去。 http://en.wikipedia.org/wiki/File:Bezier_3_big.png (由于低代表无法发布图片)

我希望能够调用一个包含起点和终点以及高度的函数,并让它返回曲线沿途的所有点。

帮助或指导将不胜感激。

最佳答案

我已经完成了一个计算贝塞尔曲线角度的博客并在我的博客中确定它的各个点 http://johnexalt.wordpress.com/2011/05/21/bezier-curve-angle-calculation-silverlight/

下面的代码显示了如何计算任意给定 t 值的贝塞尔曲线点(其中 t 的范围从 0 到 100%,用 0-1 表示。

x = ((1 - t) * (1 - t) * p0.X) + (2 * t * (1 - t) * p1.X) + (t * t * p2.X); //此语句用于确定曲线的x坐标。

y = ((1 - t) * (1 - t) * p0.Y) + (2 * t * (1 - t) * p1.Y) + (t * t * p2.Y);
//this statement is used to determine the y coordinate of the curve.

x = Math.Round(x, 3);
y = Math.Round(y, 3);
angle = Math.Round(Angle(xold, yold, x, y), 3);

Carlos Femmer 曾发表过一篇文章,帮助计算两点之间的角度。 http://www.carlosfemmer.com/post/2006/02/Calculate-Angle-between-2-points-using-C.aspx .

关于c# - 如何计算只有起点和终点的贝塞尔曲线?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4034013/

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