gpt4 book ai didi

arrays - 如何按顺时针顺序排列 3d 点?

转载 作者:行者123 更新时间:2023-12-04 07:26:23 25 4
gpt4 key购买 nike

我有一堆 3d 点(一个数组),不是按特定顺序排列的,也不限于某个轴/平面。根据这些点的坐标,我想按顺时针顺序排列数组,就像在图像中一样。此刻我不知道从哪里开始。一个想法是为每个最近的点找到并以某种方式找出方向。
enter image description here

最佳答案

3Dave 已经说过了,但这完全取决于相机的位置。
除非您指定截锥体,否则没有答案。
请注意,圆是 2D 对象,而不是 3D 对象。 “顺时针”与圆圈有关。

假设您的意思是在飞机上:
这是两个部分的问题。
第一部分非常困难。
第二部分相对容易。
第一部分:确实,您正在进行对象识别:您必须找到一个圆圈。
为此,调查 现有技术用于形状识别,或阅读诸如 https://link.springer.com/article/10.1007/s11042-018-6167-2 之类的内容
对于第二部分:(在第一部分之后几乎无关紧要)。只需获取每个点相对于您找到的圆心的坐标,只需从顶部计算每个点的角度,然后对它们进行排序。

廉价的游戏型解决方案
如果你想要便宜的解决方案,你可以使用 如果积分“合理” ..

  • 找到所有点的质心(它只是所有点的平均值)
  • 将每个点写为从质心到该点的向量
  • 选择任何一点作为“顶部”
  • 使用这样的东西 https://docs.unity3d.com/ScriptReference/Vector3.Angle.html从“顶部”获取每个角度
  • 瞧!把它们整理好

  • 在实践中,您可能还需要这些东西:
  • 找到点所在的“平面”(找到它们所在的“平均平面”,这样做相对容易,查一下!)
  • 通过质心制作一个垂直于平面的轴
  • 关于arrays - 如何按顺时针顺序排列 3d 点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68200105/

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