Tag: area

如何使用path2d绘制多边形并查看某个点是否位于其区域内?

我试图使用带有path2d的多个顶点绘制任何类型的多边形形状,我想稍后使用java.awt.geom.Area查看确定点是否在其区域内 public static boolean is insideRegion(Region region, Coordinate coord){ Geopoint lastGeopoint = null; GeoPoint firstGeopoint = null; final Path2D boundary = new Path2D.Double(); for(GeoPoint geoponto : region.getGeoPoints()){ if(firstGeopoint == null) firstGeopoint = geoponto; if(lastGeopoint != null){ boundary.moveTo(lastGeopoint.getLatitude(),lastGeopoint.getLongitude()); boundary.lineTo(geoponto.getLatitude(),geoponto.getLongitude()); } lastGeopoint = geoponto; } boundary.moveTo(lastGeopoint.getLatitude(),lastGeopoint.getLongitude()); boundary.lineTo(firstGeopoint.getLatitude(),firstGeopoint.getLongitude()); final Area area = new Area(boundary); Point2D point = new […]

在Java中组合区域时舍入不准确?

我正在使用Java中的Areas 。 我的测试程序绘制三个随机三角形并将它们组合成一个或多个多边形。 Areas是.add()编辑后,我使用PathIterator跟踪边缘。 但是,有时候,“ Area对象不会按照它们的组合进行组合……正如您在上一张图片中看到的那样,将绘制额外的边缘。 我认为问题是由Java的Area类中的舍入不准确引起的(当我调试测试程序时, Area在使用PathIterator之前显示间隙),但我不认为Java提供了任何其他方式来组合形状。 有解决方案? 示例代码和图像: import java.awt.Color; import java.awt.Dimension; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.geom.Area; import java.awt.geom.Line2D; import java.awt.geom.Path2D; import java.awt.geom.PathIterator; import java.util.ArrayList; import java.util.Random; import javax.swing.JFrame; public class AreaTest extends JFrame{ private static final long serialVersionUID = -2221432546854106311L; Area area = new Area(); ArrayList areaSegments = new ArrayList(); AreaTest() […]

使用PathIterator返回约束区域的所有线段?

在Java中,如何使用PathIterator迭代约束Area线段? Area仅由线条约束(但曲线支撑不会受到伤害)。 该方法应返回所有线段的集合。