在曲面上查找坐标应遵循什么方法?

What methodology to follow to find coordinates on a curved surface?

我拍照的时候很难找到 "coordinates on a curved surface"。想象一个桶或一个曲面,其表面上有 n 个点,我们需要确定它们的位置。当从 '"front" 拍摄表面并旋转大约 30 度时,点的相对位置看起来会有所不同。

如果是平板,我会想把长度归一化,求出每个点的相对坐标。由于它是一个平板,每个归一化坐标都会给出相同的数字,与旋转角度无关。但是当它在曲面上时,归一化并不能帮助找到坐标。有没有一种方法可以遵循来找到对象旋转时的坐标?

可以在此处看到示例问题的视觉效果:

可以看到另一个示例图的俯视图:

假设这个圆柱上的点彼此之间的距离总是相同的,你只需要找出一个坐标三元组,然后你就可以在测地线上计算出其他坐标。

所以它将在大地坐标系中: (x1, y1, z1) (x1 + 距离, y1, z1) (x1 + 2*距离, y1, z1)

这仅适用于坐标之间的距离恒定且已知并且您知道测地线的角度...

您似乎处于以下情况:您有一条名为 axis 的固定垂直线,它是您旋转曲面所围绕的垂直旋转轴。此外,你有一个平面 S,代表你的相机屏幕。 screen-planeS也是垂直的,相当于是平行于旋转axis。然后,screen-plane S 的法向量 N 指向 axis

我们引入一个固定的坐标系(它被称为camera-system,我们从相机的角度看世界,它是固定的,因为你的相机是固定的)通过以下方式:我们在 screen-plane S 上选择一个固定点 O 并在 S 上绘制 O ---> y 轴作为 S 上平行于 axis 并通过 O。轴 O ---> x 是垂直于 O ---> y 轴的唯一直线,因此是水平的。法向量 NO ---> z 轴对齐,它也是水平的,从相机开始并通过 axis,与后者垂直相交。

screen-plane上的坐标系,称其为screen-system,就是得到的坐标系z = 0(3D点在屏幕上的正交投影S),即它是 two-dimensional 系统 O x y,其中 screen-system 的 O--->xO--->y 轴也是 camera-system 的轴, 定义如上。

据我了解,您拍摄了两次表面照片,一次是在一个位置,第二次是在将其围绕 axis 旋转一个角度 a 后进行第二次。旋转前在曲面上取一个标记点​​points P。那么它在屏幕 S 上的正交投影 p1 在 screen0system 中的坐标是 [x1,y1]。在表面围绕 axis 旋转角度 a 后,点 P 现在在屏幕 S 上具有正交投影 p2,新坐标 [=49= 】 在屏幕系统中。我假设您可以确定屏幕上任意点相对于 screen-system 的坐标。如果我没记错的话,目标就相当于在三个spaceO x y z中确定旋转前后P的坐标。但是,由于你在屏幕上的投影S是正交的,你只需要确定点P旋转前后的z坐标。从那里,你可以继续找到P在表面上的曲线坐标,它可以简单地是投影到表面上的屏幕坐标,所以表面参数化可以例如:

X = x1
Y = y1
Z = z1(x1, y1)    

我们还假设您知道相机屏幕 S 和旋转轴 axis 之间的距离 l。我相信到目前为止所有这些假设都是非常合理的,因为您可以控制相机的设置(即屏幕平面 S 及其坐标系,这很自然)和旋转轴 axis。 情况如下图:

如您所见,我们选择了水平切片 y = y1,由于屏幕和相机坐标系的整体排列,我们有 y = y1 = y2。观察到由于 axis 的旋转,我们有 dist(P0, axis) = dist(Pa, axis)。因此三角形 P0 Pa axis 是等腰三角形,顶点 axis 的角 a。因此,如果您通过顶点 axis 绘制该三角形的反射对称轴,您将得到相同 right-angled 三角形的两个副本,其中您有等式

dist(P0, Pa)/(2*dist(axis, P0)) = sin(a/2)

将后一个等式与等式

合并
dist(P0, axis) = dist(Pa, axis) 

如果对两个方程求平方并将它们放在一起作为一个系统,则得到双方程系统

dist(P0, Pa)^2 = 4*(dist(axis, P0))^2*(sin(a/2))^2

dist(P0, axis)^2 = dist(Pa, axis)^2 

如果你看三个(right-angled)梯形O p1 P0 axis然后O p2 Pa axis最后P0 p1 p2 Pa得到两个二次方程组,其两个未知数是z 坐标 z1z2。其余参数给出:x1, x2, l, a。您必须求解 z1z2。将有四对解决方案,您必须 select 符合实际情况的解决方案。然而,精确求解系统可能很困难,因此您可以使用牛顿法找到一个非常好的近似解。

我把系统写在图上了,你可以看公式。角度 a 就是你的 theta.