从起点计算坐标,所有象限都有距离和角度
本文关键字:距离 坐标 计算 起点 | 更新日期: 2023-09-27 18:20:29
我有:
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