与平面相交的任意网格(在 THREEJS 中)

Intersection arbitrary mesh with plane (in THREEJS)

目前是否可以在 THREEJS 中显示如下所示的网格和平面的交集:

以红色、绿色、黄色显示网格与带有纹理的背板的交集。

如果没有,最好的方法是:

对于选项 #2,是否已经有一些此类着色器的在线演示?

谢谢,

尼古拉斯

=== 2022 年更新 ===

THREE-Mesh-BVH 提供了创建轮廓的新有效方法。这就是我目前的做法:

====

AMI 现在支持它 (https://fnndsc.github.io/ami/#viewers_quadview)

步骤是:

  1. 显示网格与平面的交点

  2. Post 处理交叉点以显示等高线。

有不同的技术来显示 mesh/plane 交叉点:

  1. 使用模板缓冲区(https://github.com/daign/clipping-with-caps)

  2. 播放网格不透明度(https://github.com/FNNDSC/ami/tree/dev/examples/viewers_quadview)

所有这些技术在计算上都是昂贵的,因为它需要 3 个渲染通道来显示 1 个网格的轮廓,可能有更好的方法,但不确定什么是最好的选择。

HTH