我目前正在研究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)
。
因此,我的问题是:如何评估数组元素以构成多边形的点?
谢谢!
答案 0 :(得分:2)
默认坐标系的原点位于画布的左上角,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 );
答案 1 :(得分:1)
坐标系的左上角是原点,y轴是向下增加的。
这就是为什么当增加 y -coordinate时,你会有一个向下的斜率。