我正在尝试编写一个方法来确定球体上的多边形(复杂或简单)区域。我有一篇由JPL的几个人撰写的论文,或多或少的给你这些计算公式。数学公式转换
PDF文件可以在这里找到:
http://trs-new.jpl.nasa.gov/dspace/handle/2014/40409
的公式可以7页上找到,在“球形例子 - 逼近”:
我也键入的公式在Word中:
Spherical_Case_Equation
我需要将此方程转化为标准形式的帮助(我认为这是正确的术语)。我已经为Planer Case做了类似的事情:
private double calcArea(Point2D[] shape) {
int n = shape.length;
double sum = 0.0;
if (n < 3) return 0.0;
for (int i = 0; i < n-1 ; i++) {
sum += (shape[i].getX() * shape[i+1].getY()) - (shape[i+1].getX() * shape[i].getY());
}
System.out.println(0.5 * Math.abs(sum));
return 0.5 * Math.abs(sum);
}
我只需要帮助做一些类似的球形情况。任何援助将不胜感激。
我认为需要更多信息将您使用的变量映射到公式。我不确定这些是什么:shape [i] .getX()* shape [i + 1] .getY()。我也没有在你的代码中看到R变量,而不是罪(teta) – c0der