【发布时间】:2015-03-04 08:25:58
【问题描述】:
如果我有一组 3D 点和一个相机平面,我将如何根据到该平面的距离对它们进行排序?我至少需要伪代码。我想用相机构造一个平面,然后对点进行排序。
【问题讨论】:
-
您的具体问题是什么?为什么不只计算每个点到平原的距离并根据距离对点进行排序?
-
我的问题是获取飞机并使用它来比较距离然后对点进行排序。我是 C# 的初学者
如果我有一组 3D 点和一个相机平面,我将如何根据到该平面的距离对它们进行排序?我至少需要伪代码。我想用相机构造一个平面,然后对点进行排序。
【问题讨论】:
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;
}
}
【讨论】: