我们正在开发一个在 2D 空间中进行计算的库。然而,二维坐标系的“自然”解释是增加 Y 值表示位于更高的点,而awt
坐标则相反。这反映在Rectangle(10,100).maxY()
返回 0,而数学家希望它返回 100。
我们如何才能正确处理这种差异?是否有另一个 java 库来进行几何计算?
我们正在开发一个在 2D 空间中进行计算的库。然而,二维坐标系的“自然”解释是增加 Y 值表示位于更高的点,而awt
坐标则相反。这反映在Rectangle(10,100).maxY()
返回 0,而数学家希望它返回 100。
我们如何才能正确处理这种差异?是否有另一个 java 库来进行几何计算?
你应该在问之前尝试一下。以下代码打印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);
}
}
我发现它maxY
返回“最大的 y 坐标”,这正是直观的行为。我很困惑:只有在实际将其绘制到屏幕上时,对象才有“左上角”和“右下角”只是可视化时的约定。