具有双坐标的多边形

2022-09-01 19:13:00

我有一些关于具有双类型点的多边形的问题...我所要做的是,给出点,创建多边形,然后,测试1个具体点是否在多边形内。

所以我认为在Java中有一个类,叫做Polygon,它是这样使用的:(三角形)

int valoresX[] = { 100, 150, 200 };
int valoresY[] = { 100, 200, 100 };
int n = valoresX.length;
Polygon city= new Polygon(valoresX,valoresY,n);

但我的“多边形”必须是“双”类型,而不是“int”(简单示例)

Double valoresX[] = { 1000.10, 150.10, 200.10 };
Double valoresY[] = { 100.10, 200.10, 100.10 };

在我的项目中,我真的不需要把它画在小程序或类似的东西上,我只需要计算点是否在里面。

所以我的问题是:

有没有办法做具有双坐标的多边形,如果点(双倍)在多边形内,则可以计算?

谢谢大家!!!

舒迪


答案 1

您可以使用 Path2D.Double 执行此操作:

Path2D path = new Path2D.Double();

path.moveTo(valoresX[0], valoresY[0]);
for(int i = 1; i < valoresX.length; ++i) {
   path.lineTo(valoresX[i], valoresY[i]);
}
path.closePath();

另请参阅此问题:

在 Java 2D 中实现 Polygon2D


答案 2

推荐