【问题标题】:Create a polygon from point cloud从点云创建多边形
【发布时间】:2015-04-27 08:52:48
【问题描述】:

我有一个点 (x,y) 数组,我想用它来查看点 (x2,y2) 是否在创建我的点云的多边形中。如何查看?

我找到了http://www.pointclouds.org/documentation/tutorials/hull_2d.php,但我真的不知道如何用 Java 做同样的事情。

唯一真正的目标是创建一个方法来检查一个点是在多边形内还是在多边形外,我认为我真的不需要创建多边形。

【问题讨论】:

  • 您发布的链接似乎使用了外部库。你可以尝试做同样的事情。 Afaik 有用于 Bullet 或 ODE 等物理引擎的纯 Java 物理库或 JNI 包装器。或者,您可以尝试找到一些从点云创建凸/凹壳的代码 - 应该不会太难。

标签: java polygon


【解决方案1】:

只需使用 java.awt.Polygon。创建多边形的构造函数

public Polygon(int xpoints[], int ypoints[], int npoints)

比使用任何一个

public boolean contains(Point2D p)
public boolean contains(double x, double y)

通过点 x 和 y

【讨论】:

  • 所以我可以简单地做 Polygon poly = new Polygon (points.getX(), points.getY(), points.getLength()) 其中 points .getX 返回我的点的所有 X 值,getY 返回所有 Y 值,getLength 点的数量?
  • @Supamiu 正确,前提是您的积分正确。如果您只有一组随机排序的点,则需要计算定义船体的点或输入点的正确顺序。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-04-25
  • 2019-08-10
  • 2019-04-03
  • 2021-09-04
  • 2020-06-07
  • 2011-12-05
  • 2014-11-23
相关资源
最近更新 更多