JAVA drawPolygon() - 参数说明
JAVA drawPolygon() - Parameter Explanation
我目前正在研究 Java 中的 drawPolygon(int[] xPoints, int[] yPoints, int nPoints)
方法。
如果我没记错的话,前两个参数是数组,表示多边形的x坐标和y坐标。
我的问题是,如何从两个数组中解释多边形的坐标?
例如,我想在点 (100, 300)
和 (200, 400)
之间画一条线。也就是说,一条线从左到右递增。
但是,如果我将这些值放入它们各自的数组中:
xPoints = {100, 200}; //x-coordinates
yPoints = {300, 400}; //y-coordinates
我得到一条线从左到右递减。好像这些点被解释为 (100, 400)
和 (200, 300)
.
因此,我的问题是:如何计算数组元素以构成多边形的点?
谢谢!
坐标系原点在top-left角,y-axis向下递增
这就是为什么当您 增加 y 坐标时会出现向下倾斜的原因。
默认坐标系原点在canvas的左上角,y值从屏幕顶部向下增加。如果您对此方向不满意,可以使用仿射变换。
这是一个 示例 (!) 来自我手头的一些代码 - 您可能需要根据自己的情况调整它:
// Polygon -> PathIterator -> Path2D, and then:
Path2D path = ...;
at.scale( 1, -1 );
path.transform( at );
bbox = path.getBounds2D();
at = new AffineTransform();
at.translate( -bbox.getMinX(), -bbox.getMinY() );
path.transform( at );
我目前正在研究 Java 中的 drawPolygon(int[] xPoints, int[] yPoints, int nPoints)
方法。
如果我没记错的话,前两个参数是数组,表示多边形的x坐标和y坐标。
我的问题是,如何从两个数组中解释多边形的坐标?
例如,我想在点 (100, 300)
和 (200, 400)
之间画一条线。也就是说,一条线从左到右递增。
但是,如果我将这些值放入它们各自的数组中:
xPoints = {100, 200}; //x-coordinates
yPoints = {300, 400}; //y-coordinates
我得到一条线从左到右递减。好像这些点被解释为 (100, 400)
和 (200, 300)
.
因此,我的问题是:如何计算数组元素以构成多边形的点?
谢谢!
坐标系原点在top-left角,y-axis向下递增
这就是为什么当您 增加 y 坐标时会出现向下倾斜的原因。
默认坐标系原点在canvas的左上角,y值从屏幕顶部向下增加。如果您对此方向不满意,可以使用仿射变换。
这是一个 示例 (!) 来自我手头的一些代码 - 您可能需要根据自己的情况调整它:
// Polygon -> PathIterator -> Path2D, and then:
Path2D path = ...;
at.scale( 1, -1 );
path.transform( at );
bbox = path.getBounds2D();
at = new AffineTransform();
at.translate( -bbox.getMinX(), -bbox.getMinY() );
path.transform( at );