简单的笛卡尔坐标到极坐标方法

本文关键字:极坐标 方法 坐标 笛卡尔 简单 | 更新日期: 2023-09-27 18:26:58

尝试将某些笛卡尔坐标转换为极坐标。不是数学家。"开始"answers"结束"值是度数。这有道理吗?

Point outerScreenPointBefore = CartesianToPolar(Start, End);  

转换器方法:

 private Point CartesianToPolar(double x, double y)
    {
        x = Math.Sqrt((x*x) + (y + y));
        y = Math.Atan2(y, x);
        return new Point(x, y);
    }

简单的笛卡尔坐标到极坐标方法

不完全是。当你做

y = Math.Atan2(y, x);

,x已经在前一行中被赋予了一个新值:

x = Math.Sqrt((x*x) + (y*y));

因此,在分配它们之前,您需要计算这两个值:

double radius = Math.Sqrt((x*x) + (y*y));
double angle = Math.Atan2(y, x);
return new Point(radius, angle);

极坐标不使用符号x和y,而是使用r和θ,因此阅读代码的人可能不清楚其含义
您可能需要创建一个具有属性"半径"answers"角度"的新结构。