Three.js - 确定点是否共面并将共面点映射到 XY 平面上

问题描述 投票:0回答:1

给定一组 Vector3 点,我需要测试它们是否在某个任意平面中共面。假设它们共面,我需要将它们映射/投影到 XY 平面上,同时保留所有点之间的比例。

我不认为这个数学太难,但我正在寻找一种简单/有效的方法来使用 Three.js 来完成它......

javascript 3d three.js
1个回答
2
投票
    验证四个点是否位于同一平面的函数
  1. 非常简单

    函数三重积(a,b,c){ 返回 a.clone().dot( b.clone().cross(c) ); }

    函数 _isCoPlanar(a,b,c,d) { var ab = b.clone().sub(a); var ac = c.clone().sub(a); var ad = d.clone().sub(a); 返回 TripleProduct(ab,ac,ad) === 0; }

您需要遍历数组

,并确保第四个点之后的每个点都与前三个点位于同一平面上。

要在平面上投影,您可以使用
  1. projectOnPlane
     功能。
© www.soinside.com 2019 - 2024. All rights reserved.