# 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. – gregghz 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. – gregghz 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