It is possible to enclose the path in a tube of radius r. This is like covering a wire with insulation. The "thickened" path is equivalent to the original.
The key to this theorem is the fact that the path cannot come arbitrarily close to itself without touching itself. This will be demonstrated below.
Reparameterize the path by arc length. Now the particle that traces the path moves at constant speed. Time elapsed and distance traveled have become synonymous.
Let the unit square represent time cross time, or distance cross distance if you prefer, and let f(x,y) be the distance between p(x) and p(y). In other words, f gives the distance between two points on the path, at times x and y. Note that f is 0 on the diagonal. When x = y, p(x) = p(y), the same point in space. Also, f(1,0) = f(0,1) = 0. Of course f is continuous and nonnegative over the unit square.
The direction vector, d(t), is continuous and nonzero. In fact it is continuous on a closed interval, namely [0,1], and a continuous function on a closed bounded interval is uniformly continuous.
Select δ so that the direction of travel does not vary by more than 1° within a distance of δ of wherever you are. If you are size δ, the path looks pretty straight.
If x and y are within δ of each other, and are not equal, p(x) cannot equal p(y). Suppose they are equal and let w be the plane perpendicular to p(x), i.e. the plane perpendicular to the direction of travel. Let p(v) be the point on this path, for x < v < y, that is farthest from the plane w. This is the point where the particle turns around and comes back home again. At time v, the particle is moving parallel to the plane w. This is a 90° turn, for at time x the particle was traveling perpendicular to w. The direction vector has changed by 90° between x and v. Yet it should only change by 1°. This is a contradiction, hence p(x) ≠ p(y). In fact, p(y) cannot return to the perpendicular plane w. The curve cannot double back on itself in such a short time.
Return to the unit square, with the function f defined thereon. Draw two lines parallel to the diagonal, one δ below and one δ above. Inside this thin strip, f is nonzero, except on the main diagonal, where it is 0. We just proved this in the last paragraph.
Note that f = 0 at the upper left corner and the lower right corner. This is because the path is closed, and p(0) = p(1). Again, draw two short segments with slope 1, one δ below the upper left corner and one δ above the lower right corner. Above the upper segment, and below the lower segment, f is nonzero, except at the two corners.
Most of the unit square is bounded between the central strip and the two corners. If we include the four diagonal lines, this is a closed bounded region. Since f is continuous on this region it attains its minimum. Let the minimum be m. We know m > 0, else the path would touch itself.
Set r to m/3. This will be the radius of the tube.
Next, create a polygonal approximation to the curve. Break the curve into paths of length δ, and let a segment join the ends of each little arc. Shrink δ as necessary, so that the curve and the segment do not stray from one another by more than r. In other words, the curve is confined to a cylinder that surrounds the approximating segment. When δ is small, the deviation is small. I'll leave the trig calculations to you. At the end of the day, some δ is small enough to ensure that the curve stays within its cylinder, as we step along each segment in the polygonal approximation.
The tube is, of course, the concatenation of all these little cylinders. Adjacent cylinders may join at a slight angle, as the curve turns in space. Bevel the cylinders as necessary, to make them fit together.
Let w be the circular cross section of one of these cylinders, i.e. a disk that is roughly perpendicular to the curve. (w could look like an ellipse as we tilt the plane to move from one cylinder to the next.) We showed above that the curve does not return to w. It intersects w in only one point. Also, r is small, small enough to prevent the rest of the curve from breaking into the tube. Therefore, each slice of the tube corresponds uniquely to one point on the curve. The tube is a faithful representation of the curve in space. It is a thickened form of the original path.
The above proof holds, with a few tweaks. Find a δ for each smooth section, then use the least of these. (We assume c consists of finitely many smooth sections, or there is one Δ that will handle all the sections.) Since c is still continuous all the way around, find m, and r, as before. Shrink δ down, so that the polygonal approximation stays within its cylinders, then past the cylinders together along each section. The only catch is the corners.
Actually, this gives me a chance to fix something I glossed over above. Consider the square. If two beveled cylinders meet at the corner, the cylinders extend outward from the corner by sqrt(2) times r. This doesn't seem like a problem, but if the angle is small, a fraction of a degree, the joined cylinders could extend for miles. This goes way beyond r, and allows another section of the curve to slice through our tube. Let's modify the joining process to avoid this. On the inside of a bend, or corner, bevel the two cylinders as usual. On the outside, paste in part of a sphere. Returning to our square, four spherical caps, each 90°, cover the four corners, and close off the cylinders that meet at these corners. Now we don't have to worry about the tube bulging out into space as it bends or turns sharply.
Another tweak is necessary, if the tube is to be a perfect replica of the curve. At the start of the algorithm, we selected δ so that the direction vector did not deviate by more than 1°. This was somewhat arbitrary. If the sharpest corner is θ, for θ > 0, choose δ so that the direction vector does not deviate by more than θ/3. Now, as the cross section pivots around the corner, it sweeps through the first edge, then the vertex, then the next edge. Each slice of the tube still corresponds to a unique point on the curve.
This breaks down when a corner has θ = 0, like the point of a tear drop. The two incident edges could wiggle back and forth, so there is no straight path to the corner. The tube can still be constructed, but there isn't a clean correspondence between slices of the tube and points near the corner. You either have to tolerate this, or assume c has no infinitely sharp corners, or homotope them away, or approach c with a sequence of better behaved curves - depending on context.