Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Three.js 基于角坐标平移和变换平面几何图形_Three.js - Fatal编程技术网

Three.js 基于角坐标平移和变换平面几何图形

Three.js 基于角坐标平移和变换平面几何图形,three.js,Three.js,我有一个带分割的平面网格,我想指定每个角应该定位的坐标。只要平面没有内部线段,移动和更新网格顶点就可以实现我尝试的操作。如果添加了内部线段,那么我有比手动放置更多的顶点,所以这些顶点需要自动与外部边的变换保持一致 我最初的想法是,我可以创建一个只有四个顶点的几何体,重新定位它们,然后增加平面上的线段数量,显然,Three.js不支持这一点,所以我正在寻找解决方法 任何想法都将不胜感激。我不认为这种转换可以表示为一个矩阵,然后可以应用于平面网格。我认为您确实需要手动计算细分平面的每个顶点的坐标 有

我有一个带分割的平面网格,我想指定每个角应该定位的坐标。只要平面没有内部线段,移动和更新网格顶点就可以实现我尝试的操作。如果添加了内部线段,那么我有比手动放置更多的顶点,所以这些顶点需要自动与外部边的变换保持一致

我最初的想法是,我可以创建一个只有四个顶点的几何体,重新定位它们,然后增加平面上的线段数量,显然,Three.js不支持这一点,所以我正在寻找解决方法


任何想法都将不胜感激。

我不认为这种转换可以表示为一个矩阵,然后可以应用于平面网格。我认为您确实需要手动计算细分平面的每个顶点的坐标

有不同的方法进行此计算。这个案子似乎能解决问题。这是你怎么做的。如果有四个点A、B、C、D,那么对于每个内部点,其位置可以作为的加权平均值(A和B的加权平均值,以及C和D的加权平均值)找到。平均值的权重来自细分顶点在一个方向(例如,X)上的索引(对于内部平均值),以及在另一个方向(例如,Y)上的索引(对于外部平均值)。索引从0到该方向上的细分数(包括),权重应该从0到1,因此
weight=index/number of subsections


Stefan,谢谢你的洞察力。我将尝试将此作为解决方案来实施,并让您知道我的情况。我认为您的建议绝对正确。我最终找到了另一种解决方案,不再需要做这种复杂的翻译。非常感谢你的建议。有趣的问题和答案。两人都投了赞成票(干杯!)。我的方法是:@Dig\u Dig\u Dig如果这不是秘密,你能展示你的解决方案吗。请)@Dig\u Dig\u Dig;)这对我的大脑来说是一种锻炼。如果有帮助,请随意使用它)