【发布时间】:2014-02-01 23:34:33
【问题描述】:
我在纸上绘制了 8 个不同多点形状的 X、Y 坐标的完整蓝图。我将这些坐标放入一个数组中,例如..
Polygon shape1;
int[] shapeOneX = {1,2,3,4,5,6,7,8,9};
int[] shapeOneY = {1,2,3,4,5,6,7,8,9};
shape1 = new Polygon {shapeOneX, shapeOneY, shapeOneX.length};
这些坐标是假的,不是我的真实坐标,但在纸上,这些坐标完全符合您期望矢量图的外观的规则。当我将它加载到 Java Applet 中时,形状不遵循这些确切的坐标。它们有时很接近,但并不精确,我的项目需要精确。
有谁知道为什么,或者是否需要在坐标上使用不同的公式以使其在 Java 小程序中看起来相同?如果需要更多信息,请告诉我。
我知道 java 小程序的起始坐标从左上角 0,0 开始,然后从那里扩展。我想我的问题是,我理解“矢量”线从 0,0 作为中点开始。我对绘图知之甚少。所以...我的形状是从矢量样式创建的,但是被“放置”到一个左上角为 0,0 的小程序中。这很好,我有工具可以将它们调整到我需要放置的位置。我只是无法让他们创建我实际在纸上绘制的形状。我是否需要从左上角的 0,0 原点在纸上绘制图形并且只创建正 X、Y 变量?
另一个编辑——我注意到当它绘制到小程序上时,它也几乎是镜像的。换句话说,(x) 向右,(-x) 向左。这很正常。但是 (y) 下降,并且 (-y) 上升..这似乎不正常 HMM.. 困惑。
最终编辑(可能)——关于 Y 轴被镜像,我是对的。为什么?我不知道。但它允许我重新设计一些坐标。我目前的印象是线条边界非常粗,以至于连接了每个顶点,以至于它们将形状重新变成了一团垃圾。因为重叠的边界。很难看出每个顶点的实际位置。我还必须增加我的 (x,y) 坐标值以补偿尺寸差异。我可能有将近 100 种不同的 (x,y) 组合,因此我需要重新做......我真的希望有一个更简单的答案。我对任何和所有建议持开放态度,同时我将全力以赴重新映射。感谢所有已经或继续做出贡献的人。
例如..首先是原始坐标:
int[] wallX = { -2,-2,-1,-1, 2, 2 };
int[] wallY = { -1, 3, 3, 0, 0,-1 };
然后我发现工作的新工作坐标是:
int[] wallOneX = { -2,-2, 1, 1, 10, 10 };
int[] wallOneY = { 4,-8,-8, 1, 1, 4 };
这就是从纸上创建相同形状所需的数字差异,进入 java 小程序。我真的没有看到任何模式或任何东西可以为我的所有其他人重新创建它。所以我不知道。
【问题讨论】:
标签: java vector applet vector-graphics polygons