简体   繁体   English

连接两条贝塞尔曲线

[英]joining two bezier curves

i have two bezier curves placed at a distance apart in space. 我在空间上相隔一定距离放置了两条贝塞尔曲线。 curve 1 has control points A0, A1,A2, A3. 曲线1具有控制点A0,A1,A2,A3。 A0 and A3 lie on curve and are its end points Curve 2 has control points C0,C1, C2, C3 . A0和A3位于曲线上,并且是曲线的端点。曲线2具有控制点C0,C1,C2,C3。 C0 and C3 lie on curve.and are its end points C0和C3位于曲线上,是端点

i want to join the two curves A and C with an intermediate bezier curve B. the intermediate Curve B has control points A3 and C0 which lie on the curve and are its end points. 我想将两条曲线A和C与中间贝塞尔曲线B连接起来。中间曲线B具有控制点A3和C0,它们位于曲线上并作为其端点。 the intermediate control points B1 and B2 are unknown to me. 我不知道中间控制点B1和B2。 also the joining should be smooth enough. 连接也应该足够平滑。 please help as to how to proceed. 请帮助如何进行。 have read alot about beziers but dont know how to do this. 已经阅读了很多关于贝塞尔曲线的信息,但不知道该怎么做。 thanks and regards, Gauri 感谢和问候,高丽

B1 will be: B1x = 2 * A3x - A2x; B1将是:B1x = 2 * A3x-A2x; B1y = 2 * A3y - A2y; B1y = 2 * A3y-A2y;

B2 will be: B2x = 2 * C0x - C1x; B2为:B2x = 2 * C0x-C1x; B2y = 2 * C0y - C1y; B2y = 2 * C0y-C1y;

This should give you perfectly smooth join. 这应该使您完全平滑地加入。

@Arty @Arty

You are correct but this will only assure a "smooth enough" join. 您是正确的,但这只会确保“足够平滑”的连接。

To achieve a better looking join of those 2 curves you must also have 2nd derivative equals at the junction points. 为了使这2条曲线看起来更美观,您还必须在交点处具有二阶导数等于。 I place this here for those that might need this piece of information. 我将其放在此处,以供可能需要此信息的人员使用。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM