0
我有一个贝塞尔曲线在Javascript中用一些贝塞尔曲线构建。 我可以移动手柄并保持对称。我首先计算 Handle和Point onBeziér之间的距离。然后我比较两个手柄的距离 ,计算一个乘数并将其应用于未拖动的 句柄。这适用于保持对称性。贝塞尔手柄保持半径和对称性,但不是长度
但我想实现的是,未拖动的句柄的长度保持不变。
http://cl.ly/image/0c1z00131m2y(解释我的意思的小图片)。
的代码,我目前使用计算运动是这样的:
dx = Math.abs(drag.x - point.p[(draggedItemIndex)/2].x);
dy = Math.abs(drag.y - point.p[(draggedItemIndex)/2].y);
dx2 = Math.abs(point.cp[draggedItemIndex-1].x - point.p[draggedItemIndex/2].x);
dy2 = Math.abs(point.cp[draggedItemIndex-1].y - point.p[draggedItemIndex/2].y);
dxdx = dx2/dx;
dydy = dy2/dy;
point.cp[draggedItemIndex-1].x -= dragX*dxdx;
point.cp[draggedItemIndex-1].y -= dragY*dydy;
谢谢您的回答。