2017-08-08 118 views
0

半径为r的球体内有一个点云,这些点的共同系统位于球体的中心。这个想法是从这个云层的许多角度来“拍照”这个云。 “相机”位置取决于图像中显示的角度θ(方位角)和角度(高程)。我至少需要10000张图片或观点。将点云投影到2D

我该如何处理?

enter image description here

我做:

this link我投射点每架飞机,因为我还需要visulize它们3D。就像这样:

enter image description here

所以我谁属于“照片”,但仍与原coordenate系统的平面投影点的coordenates。

的平面被定义为:

U = {-sin(theta), cos(theta), 0} 
V = {cos(theta)*sin(phi), sin(theta)*sin(phi), cos(phi)} 
Center = {cos(theta)*cos(phi), sin(theta)*cos(phi), sin(phi)}*r 

但我阻塞从3D传递到2D。

+0

我是投票结束这个问题作为题外话题,因为它是关于线性代数/坐标系变换/ [math.se]而不是直接关于编程或软件开发。 – Pang

回答

1

每一个点在平面自己的基础[U, V]投影坐标P的被

[x', y'] = [dot(P - Center, U), dot(P - Center, V)]

给这个转换为世界坐标简单地做

world_coord = Center + U * x' + V * y'

(让我知道如果我误解了你的问题)

+0

就是这样。谢谢! –

+0

@DanielAmaya不用客气;我收集这是你之后的第一个公式? – meowgoesthedog

+0

是的,第一个公式。但第二个也会有用:) –