【问题标题】:Three.js, identify vertices on the "upper faces" of ring三.js,识别环“上表面”上的顶点
【发布时间】:2014-05-21 20:45:36
【问题描述】:

我目前正在开展一个项目,该项目涉及使用 Three.js 创建各种“环”。 我的“戒指”是使用我自己编写的算法生成的。基本上,我定义了 4 个位于 π、π/2、3π/2 和 2π 的部分,然后使用二次贝塞尔曲线从这些部分插入一个环。到目前为止,这工作得很好。接下来我希望能够以编程方式确定哪些顶点位于环的“上表面”上。

我怎样才能实现这样的目标?

左边的 4 个形状是我的 4 个部分。右边的环是使用这 4 个部分生成的

【问题讨论】:

  • “环”是指“环面”吗?我无法完全想象你的情景。
  • 对不起,我承认我的解释不是很清楚。我为我的问题添加了屏幕截图。
  • 什么是“上表面”?什么是“上面”?“截面”是指“横截面”吗?
  • 我所说的部分确实是指横截面,上表面/面是指我戒指“外侧”的面。就像你戴戒指时,有一个你看到的表面和一个你手指接触的表面,我希望能够得到你看到的表面。

标签: javascript 3d three.js geometry


【解决方案1】:

嗯,有几种方法可以做到这一点,为了计划一个最佳方式,我们必须更多地了解你的场景......但除此之外,为什么不呢

  • 如果每个部分的顶点数量相同,则按顶点索引? (例如,% == 2 或 3 位于外部的每个顶点)
  • 计算从顶点到环中心的距离,看看它是否超过了某个阈值(即那些更远的地方是可见的)
  • 确定顶点法线的方向是否与您计算的半径或距离类似。

由您决定...如果您不满意,对您的场景进行一些详尽的解释可能会有所帮助。

【讨论】:

  • 谢谢!我最终使用了您建议的索引。
猜你喜欢
  • 2013-03-29
  • 2014-04-19
  • 2022-01-26
  • 1970-01-01
  • 1970-01-01
  • 2016-01-14
  • 1970-01-01
  • 2014-08-23
  • 2011-08-15
相关资源
最近更新 更多