【问题标题】:Sorting points in 3D在 3D 中排序点
【发布时间】:2015-03-04 08:25:58
【问题描述】:

如果我有一组 3D 点和一个相机平面,我将如何根据到该平面的距离对它们进行排序?我至少需要伪代码。我想用相机构造一个平面,然后对点进行排序。

【问题讨论】:

  • 您的具体问题是什么?为什么不只计算每个点到平原的距离并根据距离对点进行排序?
  • 我的问题是获取飞机并使用它来比较距离然后对点进行排序。我是 C# 的初学者

标签: c# algorithm unity3d 3d


【解决方案1】:
class CompareDistance
{
    public float DistanceToCameraPlane(Vector3 pointInSpace)
    {
        var cameraPosition = Camera.main.transform.position;
        var cameraForward = Camera.main.transform.forward;
        var deltaToCamera = pointInSpace - cameraPosition;
        var projection = Vector3.Project(deltaToCamera, cameraForward);
        return projection.magnitude;
    }
}

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2016-07-25
  • 2014-05-11
  • 2018-06-05
  • 2021-05-13
  • 1970-01-01
  • 2015-08-05
  • 1970-01-01
  • 2012-10-17
相关资源
最近更新 更多