[英]Calculate coordinate from starting point, having distance and an angle for all quadrants
我有:
private double AngleToRadians(double angle)
{
return (Math.PI / 180) * angle;
}
double x = 30, y = 60;
var dist = 10;
var angle = 120;
x = x + dist * Math.Cos(AngleToRadians(angle));
y = y + dist * Math.Sin(AngleToRadians(angle));
这样做是给我返回一个新坐标,该坐标从(x,y)起点指向方向(角度)10个点。
这可以在右上象限中正常工作,但不能在其他三个象限中工作。
是否有一个适用于所有4种方法的公式?
x = x + dist * Math.Cos(AngleToRadians(angle)); y = y + dist * Math.Sin(AngleToRadians(angle));
看来您在中心点和终点都使用了相同的x和y变量,因此中心坐标每次都会更新
只需使用x0, y0
作为中心, x, y
作为终点
x = x0 + dist * Math.Cos(AngleToRadians(angle));
给出a(水平长度),b(垂直长度),x(坐标x),y(坐标y),r(球半径),θ(角度),L(直到球停止的距离),找到坐标(X,Y)球停在此位置。
提示:
如果台球桌无限大并且球无法到达墙壁,则可以通过以下公式计算出球停止的坐标(X,Y)。 X = L * cos(θ)+ x Y = L * sin(θ)+ y
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.