I have a smooth $n-1$-surface embedded in $R^n$. I have a way to find a point on the surface along a given line, and a way to compute the tangent plane at a given point on the surface. I would like to find the orthogonal projection of an arbitrary point $x$ onto the surface. My current thought is to do something not unlike Newton's method:
- find an arbitrary point on the surface $y$
- compute the tangent plane at $y$
- find the point on the surface $y'$ along the line passing through $x$ and normal to the tangent plane in step 2.
- $y \leftarrow y'$
- GOTO 2
I have concerns about step 3 simply failing because there is no intersection between the surface and the computed line. I also am not confident that this algorithm will converge. Is there a better way to go about this problem? Are there any relevant extensions of Newton's method that may give me some convergence guarantees under suitable conditions?
Your steps 3-4 should be:
3) take a small step from point $y$ along the tangent plane in the direction of $x$: $z=y+\varepsilon t$
4) get point $y'$ on the surface that lies on the line $(x,z)$
Modification of step 4 includes: if angle between tangent plane in $y'$ and line $y'-x$ becomes smaller, go back to step 3 and decrease the step size $\varepsilon$.