簡體   English   中英

數學方程轉換

[英]Mathematical Equation Conversion

我正在嘗試編寫一種確定球體上多邊形(復雜或簡單)面積的方法。 我有一篇由JPL的幾個人寫的論文,或多或少地為您提供了這些計算的方程式。

pdf文件可以在這里找到:

http://trs-new.jpl.nasa.gov/dspace/handle/2014/40409

該方程式可以在第7頁的“球形情況-近似”下找到:

我也在Word中鍵入了等式:

Spherical_Case_Equation

在此處輸入圖片說明

在將該方程式轉換為標准形式時,我需要幫助(我認為這是正確的術語)。 我已經為刨床做了類似的事情:

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

我只需要在球形情況下進行類似操作的幫助即可。 任何幫助將不勝感激。

我尚未閱讀您引用的論文。 球形多邊形的面積與角度超出成正比。

面積=r²(ΣAᵢ-(n-2)π)

要計算轉角,您可以從點的3D坐標開始。 因此,在角i處,您有頂點p[i] = (x[i],y[i],z[i])和相鄰的頂點p[i-1]p[i+1] (resp p[(i+n-1)%n]p[(i+1)%n]以獲得正確的循環性)。 然后交叉產品

v₁ = p[i] × p[i-1]
v₂ = p[i] × p[i+1]

將與入射邊緣和原點(即球的中心)所跨越的平面正交。 Noe空間中兩個向量之間的夾角為

Aᵢ = arccos(⟨v₁,v₂⟩ / (‖v₁‖ * ‖v₂‖))

其中⟨v₁,v⟩表示兩個矢量之間的點積 ,該積與角度的余弦成比例,而“v₁”表示第一個矢量的長度,第二個矢量也類似“ v2”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM