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

use*_*626 0 c# math geometry

我有:

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));
Run Code Online (Sandbox Code Playgroud)

这样做是返回一个新坐标,从 (x,y) 起点到方向(角度)的 10 个点。

这在右上角象限中正常工作,但在其他三个象限中均无效。

是否有适用于所有 4 种情况的公式?

MBo*_*MBo 6

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));