determine unit outward normal vector on a curve

4.5k Views Asked by At

It is necessary for me to find unit outward normal vector for the curve:

$$\gamma=(x(t),y(t))$$

where $$x(t)=(0.6)\cos(t)-(0.3)\cos(3t)$$ and $$y(t)=(0.7)\sin(t)+(0.07)\sin(7t)+(0.1)\sin(3t)$$ I know how to find unit outward normal vector for this: using

$$T=\frac{\gamma'(t)}{||\gamma(t)||},\;\text{ so }\,N=\frac{T'(t)}{||T(t)||}$$

but my problem is that I do not have $t$. Just I have $x(t)$ and $y(t)$. How could I find $t$ or $N$ without need to $t$.

Is there any command in MATLAB or MAPLE to this?

3

There are 3 best solutions below

2
On

Since your curve is in the plane, you can find the normal vector without differentiating. If the components of the unit tangent vector are $(a,b)$ then the components of a unit normal are $(-b,a)$. "Outward" doesn't really make sense until you have a closed curve, and involves global considerations.

5
On

$$ \gamma'(t) = (-\sin(t) + 1.5 \sin(3t), \cos(t)+7\cos(7t)+3\cos(3t))\\ \| \gamma'(t) \| = \sqrt{(-\sin(t) + 1.5 \sin(3t))^2, (\cos(t)+7\cos(7t)+3\cos(3t))^2} $$ In general, for a vector $(a, b)$ in the plane, $(-b, a)$ is perpendicular to it.

So your normal vector is $$ N(t) = \frac{\pm (-\cos(t)-7\cos(7t)-3\cos(3t), -\sin(t) + 1.5 \sin(3t))}{\| \gamma'(t) \|} $$

To choose the sign, you may want to make it point in the direction that has a positive dot product with $T'$; to do so by differentiating the quotient that defines $T$ would be a pain in the neck, but fortunately, you can merely make your nromal vector point in the direction that has positive dot product with $\gamma''$, since $T'$ ends up being a linear combination of this and a vector in the $T$ direction, which will not affect the dot product. So:

Compute $$ s = (-\cos(t)-7\cos(7t)-3\cos(3t), -\sin(t) + 1.5 \sin(3t)) \cdot (-\cos(t)+4.5\cos(3t), -\sin(t)-49\sin(7t)-9\sin(3t)) $$ and if $s$ is positive, select the "+" choice in the $\pm$ formula I gave you above.

If $s$ changes sign as a function of $t$, then the means that the curve has an inflection, and there's no way to continuously choose the normal vector to be on the "concave" side of the curve.

0
On

This problem [restated as : Given a point, $(x_0, y_0)$ on the given curve, compute the unit normal to the curve at $(x_0, y_0)$.] cannot be solved. Why? Because there might be two distinct normal lines to the curve at $(x_0, y_0)$. The following picture shows this: enter image description here

At points where the plot intersects itself, there are two distinct normals, so any unambiguous formula in terms of $(x_0, y_0)$ will give at most one...which means it's wrong, (esp. if the other one is the one you wanted).

Pretty plot, though.