【发布时间】:2016-02-25 20:45:25
【问题描述】:
我正在尝试编写一种方法来确定球体上多边形(复杂或简单)的面积。我有一篇由 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 变量,而不是 sin(teta)