繁体   English   中英

从起点计算坐标,所有象限都有距离和角度

[英]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.

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