2013-01-10 80 views
0

我們正在研究一個在二維空間進行計算的庫。然而,二維座標系統的「自然」解釋是,增加Y值代表較高的點,而座標則相反。這反映在Rectangle(10,100).maxY()返回0,而數學家會預期它返回100.二維座標系:數學與屏幕

我們該如何正確處理這種差異?是否有另一個Java庫來做幾何計算?

+1

我會堅持手動轉換。您仍然需要轉換,爲什麼不將Y軸縮小爲負值? –

回答

2

你應該在詢問之前嘗試一些事情。下面的代碼打印100,所以沒有問題:)

import java.awt.*; 

public class A { 
    public static void main(String[] args) { 
     double maxX = new Rectangle(10, 100).getMaxY(); 
     System.out.println("A::main: maxX = " + maxX); 
    } 
} 
+0

你對這兩件事都是對的。我被關於'左上角'等的文檔混淆了......但是這並不反映在API中。 – xtofl

+0

在2D圖形編程中,y軸通常具有向下的正方向。別擔心,過了一段時間,看起來很直觀:) – lbalazscs

1

我發現maxY返回'最大的y座標,這正是直覺行爲。我感到困惑:只有在實際繪製它來屏幕對象時,「左上角」和「右下角」在形象化時只是慣例。