# Distance from a point to circle's closest point

So let's assume I have a point $P$ in $3d$ space $(x_0, y_0, z_0)$. And I have a circle $C$ that is centered at $(x_1, y_1, z_1)$ with a radius $r$. I need to find the distance from $P$ to the nearest point of $C$. I'm not totally sure how to define a circle in $3d$ space, so suggestions there would help too :D

I really have very little idea where to begin with this (and I only have a very basic understanding of how to do the same thing with a point and a line). I haven't taken a math class in a number of years, but this concept will help tremendously in some $3d$ programming I'm working on.

-
Do you mean a sphere? If you do mean a circle, how is its orientation given? –  joriki Apr 5 '11 at 6:45
I do mean a circle. The orientation is so that it's surrounding the z axis ... but I'd also need to know the distance with an arbitrary rotation about the y axis. –  greggory.hz Apr 5 '11 at 6:47
We will need more information about the circle: in 3d, center and radius are not enough. –  André Nicolas Apr 5 '11 at 6:50
@user6312, I thought that might be the case. Unfortunately I don't know how to define a circle unambiguously in 3d. In my program, I'm able to define the circle with respect to the x and y axes and then rotate it as needed. –  greggory.hz Apr 5 '11 at 6:53

This is assuming that you mean a circle in the mathematical sense. If you actually meant a disc (a circle and its interior), then of course instead of $|d-r|$ you need $\min(0,d-r)$ (where $d$ is the distance from the projected point to the centre). –  joriki Apr 5 '11 at 7:03
That should be $\max(0,d-r)$. –  joriki Apr 5 '11 at 10:39