1

I'm currently working with point clouds (that's why the example numbers are so large) and I'm trying to figure out what the z-axis of a point would be if it lay on a plane.

I have: - the plane's normal: $$\vec E = [-0.506932, -0.539411, -0.672351]$$ the plane's displacement: $$d = 3195997$$ - the point below the plane: $$p = [299307.25, 5643521.4, 0]$$

I tried finding the intersection between the plane and the vector going parallel to the z-axis from the point. This vector $\vec v$ would be $[0,0,1]$. The calculations I did were the following:

$$t = - ( \vec E \cdot \vec p) + d) / \vec E \cdot \vec v)$$ $$s = t * |v|$$

After this, s should be the distance from the point to the plane, but not perpendicular to the plane, but going 'straight up' parallel to the z-axis which I can then use as the z-axis of the point. However, the calculation is dependent on the magnitude of vector $\vec v$, so if $ \vec v = [0,0,1000]$ the result changes. For example, I get a distance of $135.42$ if $\vec v = [0,0,1]$, but a distance of $50.85$ if $\vec v = [0,0,10000]$.

Is this even the correct approach? Thank you in advance Jan

1 Answers1

1

It looks like the equation of your plane is $\vec E\cdot\vec x=-d$. Solve this for $z$: $$z = -\frac1{E_z}(E_x x+E_y y+d)\tag{*}$$ and then plug in the $x$- and $y$- coordinates of your point. The vertical distance to the plane is simply the difference between this $z$-value and the point’s $z$-coordinate.

Your method certainly works, too. The length of $\vec v$ is irrelevant as long as it points in the right direction. If we replace $\vec v$ by $k\vec v$ in your formula, the $k$’s cancel: $$\lVert k\vec v\rVert{\vec E\cdot\vec p+d\over \vec E\cdot(k\vec v)} = k\lVert \vec v\rVert{\vec E\cdot\vec p+d\over k(\vec E\cdot\vec v)} = \lVert \vec v\rVert{\vec E\cdot\vec p+d\over\vec E\cdot\vec v}.$$

Your solution and (*) are in fact identical. For $\vec v=(0,0,1)$, $\vec E\cdot\vec v=E_z$, and finding the $z$-coordinate of the intersection is equivalent to finding the (signed) vertical distance from a point with $z=0$. With these values, your expression simplifies to the right-hand side of (*).

amd
  • 55,082