具有双坐标的多边形

Posted

技术标签:

【中文标题】具有双坐标的多边形【英文标题】:Polygons with Double Coordinates 【发布时间】:2013-03-15 06:36:57 【问题描述】:

我对带有 Double 类型点的多边形有一些疑问... 我要做的是,给定点,创建多边形,然后测试 1 个具体点是否在多边形内。

所以我知道在 Java 中有一个名为 Polygon 的类,它的用法是这样的:(三角形)

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

但我的“多边形”必须是“Double”类型,而不是“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();

另请参阅此问题:

Implementing Polygon2D in Java 2D

【讨论】:

首先,谢谢大家,快速回答!我会尝试一下,看看它是否适用于我的项目;)谢谢!舒迪

以上是关于具有双坐标的多边形的主要内容,如果未能解决你的问题,请参考以下文章

如何计算具有特定中心的正方形多边形?

从坐标参考系中的多边形边界获取栅格中的像素坐标

在给定多边形坐标的情况下查找点属于哪个多边形的算法

Python Tkinter:如何让画布每帧更新多边形坐标? [解决了]

有一个整数矩阵 MxN 如何将它们分组为具有增强几何形状的多边形?

从 SQLite 读取坐标并创建一个 MKPolygon