gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 05:31:24 29 4
gpt4 key购买 nike

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

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

最佳答案

1) 验证四个点是否在同一平面上的函数为 very simple :

function tripleProduct(a,b,c) {
return a.clone().dot(
(new THREE.Vector3()).cross(b,c)
);
}

function _isCoPlanar(a,b,c,d) {
var ab = b.clone().sub(a);
var ac = c.clone().sub(a);
var ad = d.clone().sub(a);
return tripleProduct(ab,ac,ad) === 0;
}

You need to go through the array ,并确保第四个点之后的每个点都与前三个点位于同一平面上。

2) 对于飞机上的投影,您可以使用 projectOnPlane功能。

关于javascript - Three.js - 确定点是否共面并将共面点映射到 XY 平面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40927728/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com