Threejs从点开始绘制形状

时间:2017-10-25 14:34:38

标签: javascript algorithm math geometry

给定一个无序的Vector3列表,我想创建一个元素的排序,这样当我从这些点中绘制Shape时,我将概述没有任何形状的形状穿过它的脸。

你会怎么做?我认为第一件事就是总是选择离你最近的点,但是如果不止一个点距离点的距离完全相同呢?

让我们来点x和潜在的"邻居" (与x的距离最小的点)y,其中可以有多个y

我已经考虑过这两种方法:

  • 通过平均点的位置找到质心,然后确保从xy的任何一个都不会通过中心。这种方法存在许多问题,例如1.它不能保证穿过CoM或者2.想象一个只有两个圆圈的小动物旋转器,一个比另一个小得多。当追踪较小的位时,质心永远不会交叉(或接近),但我们可能仍会遇到问题
  • 随机选择其他三个点,并确保y不在创建的三角形内。但有些情况下y是正确的选择,但仍然属于三角形(想象一个形状,其边缘由两个切圆创建)。

非常感谢任何帮助!

0 个答案:

没有答案