2013-01-10 34 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坐标,这正是直觉行为。我感到困惑:只有在实际绘制它来屏幕对象时,“左上角”和“右下角”在形象化时只是惯例。