我正在为我的学士论文设计一些模拟钢丝绳的程序。但是当试图制造一个点(一条线的中心(midden)围绕电缆的中心(middencable)旋转时,该点不旋转,而是呈螺旋形状:转换到电缆的中心。
我的代码是:
z = Math.toRadians( z);
double xpoint = super.midden.getX(); //original point
double ypoint = super.midden.getY(); //original point
double cCableX = super.middenCable.getX();
double cCableY = super.middenCable.getY();
double dx = xpoint - cCableX;
double dy = ypoint - cCableY;
double cosangle = Math.cos(z);
double sinangle = Math.sin(z);
double x1 = cCableX + cosangle * dx - sinangle * dy;
double y1 = cCableY + sinangle * dx - cosangle * dy;
super.midden.setX(x1);
super.midden.setY(y1);
任何人都知道如何制作一个圆圈,而不是转换到中心我试图转动?
答案 0 :(得分:0)
z
是delta角:
double curangle = Math.atan2(dx, dy);
double dist = Math.sqrt(dx*dx + dy*dy);
double x1 = cCableX + dist * Math.cos(curangle+z);
double y1 = cCableY + dist * Math.sin(curangle+z);
这段代码是poc。它很可能表现不佳,而且没有检查数值稳定性。