我想在PointCloud中找到所有更靠近屏幕像素的点。就像围绕该像素进行光线投射并返回PointCloud点(而不是用弧线跟踪的Point / Plane对象)。
我尝试使用Frame.hitTest(xPx,yPx)
,但是它仅适用于跟踪的点而不适用于PointCloud点,因此结果非常有限。需要像素周围的所有点云点(例如,将半径为“ r”的光束从该像素射线投射到点云中)
if (pointCloudIdsArray.length > 0) {
for (int i = 0; i < pointCloudIdsArray.length; i++) {
String idString = Integer.toString(pointCloudIdsArray[i]);
float xMeters = pointCloudArray[i * 4];
float yMeters = pointCloudArray[i * 4 + 1];
float zMeters = pointCloudArray[i * 4 + 2];
float confidenceoTo1 = pointCloudArray[i * 4 + 3];
double distanceFromCamera = Math.sqrt(xMeters * xMeters + yMeters * yMeters + zMeters * zMeters);
if (distanceFromCamera > farthestPoint) {
farthestPoint = distanceFromCamera;
}
}
我从框架中获得了点云世界的坐标。需要找到更靠近当前屏幕像素的像素。请告知。
答案 0 :(得分:0)
我能够找到这个问题的答案。 arore场景的Camera对象很容易做到:
public Vector3 worldToScreenPoint (Vector3 point)