Truly Bizarre - The unit tangent and unit normal vectors aren't orthogonal

Click For Summary

Homework Help Overview

The discussion revolves around the properties of unit tangent and unit normal vectors in the context of differential geometry. The original poster is attempting to understand why these vectors are not orthogonal for a specific curve defined parametrically.

Discussion Character

  • Exploratory, Conceptual clarification, Mathematical reasoning

Approaches and Questions Raised

  • Participants explore the definitions and calculations of unit tangent and unit normal vectors, questioning the correctness of the original poster's approach. There is a discussion about the proper definition of the unit normal vector and its relationship to the derivative of the unit tangent vector.

Discussion Status

Some participants have provided alternative definitions for the unit normal vector, suggesting that the original formulation may be incorrect. There is an ongoing examination of the implications of these definitions on the orthogonality of the vectors. The conversation reflects a mix of theoretical agreement and practical challenges with software implementation.

Contextual Notes

Participants express concerns about the limitations of their tools, specifically Mathematica, which may hinder their ability to test and verify their findings. There is also a mention of the theoretical framework being discussed, indicating a focus on the mathematical properties rather than computational execution.

jdinatale
Messages
153
Reaction score
0
OK, this looks like a differential geometry problem, which it is, but at the end of the day I am trying to figure out why the unit normal and unit tangent vectors to a curve aren't orthogonal, so even if you don't know about DG, please respond.

Joseph-2.png


Obviously the two choices for E_1 and E_2 are the unit normal and unit tangent vectors to the curve.

Using Mathematica...

alpha[t_] := {Cos[t], 2 Sin[t]};

alphaprime[t_] := {-Sin[t], 2 Cos[t]};

alphaprimeprime[t_] := {-Cos[t], -2 Sin[t]};

unittangentvector[t_] := alphaprime[t] / Norm[alphaprime[t]];

unitnormalvector[t_] := alphaprimeprime[t] / Norm[alphaprimeprime[t]];

Or by hand...


[itex]\alpha(t) = {Cos(t), 2Sin(t)}[/itex]
[itex]\alpha'(t) = {-Sin(t), 2Cos(t)}[/itex]
[itex]\alpha''(t) = {-Cos(t), -2Sin(t)}[/itex]

However, graphically, the unit tangent and unit normal vectors are far from perpendicular on this curve!

642.png


Here is my mathematica code

VFieldOnCurve2D[dominterval_, CurveEq_, FrameField_, CodomainBox_,
Size_] :=
Module[{a2, b2, Content, IS, DomainPieces, DomainPiece1,
DomainPiece2, CodomainCenter, CodomainWidth, len, EE1, EE2,
ImagePieces, ImagePiece0, ImagePiece1, ImagePiece2},
{a2, b2} = dominterval;
IS = 300;
Content = Mapping12Content[dominterval, CurveEq];
DomainPiece1 = Content[[1]];
DomainPiece2[t_] := Points2D[{{0, t}}, .3];
DomainPieces[t_] :=
Show[DomainPiece1, DomainPiece2[t], ImageSize -> IS/4];

{CodomainCenter, CodomainWidth} = CodomainBox;
len = Length[FrameField];
If[len == 2, EE1 = FrameField[[1]];
EE2 = FrameField[[2]], {EE1} = FrameField];

ImagePiece0 = EmptySpace2DXCenter[CodomainCenter, CodomainWidth];
ImagePiece1 = Content[[2]];
ImagePiece2[t_] :=
If[len == 2, {Vec[CurveEq[t], EE1[t]], Vec[CurveEq[t], EE2[t]]},
Vec[CurveEq[t], EE1[t]] ];
ImagePieces[t_] :=
Show[ImagePiece0, ImagePiece1, ImagePiece2[t], ImageSize -> Size];

t0 = (a2 + b2)/2;
Manipulate[
Row[{DomainPieces[t], ImagePieces[t]}], {{t, t0, "t"}, a2, b2},
SaveDefinitions -> True]


]



alpha[t_] := {Cos[t], 2 Sin[t]};

alphaprime[t_] := {-Sin[t], 2 Cos[t]};

alphaprimeprime[t_] := {-Cos[t], -2 Sin[t]};

unittangentvector[t_] := alphaprime[t] / Norm[alphaprime[t]];

unitnormalvector[t_] := alphaprimeprime[t] / Norm[alphaprimeprime[t]];

E1[t_] = unitnormalvector[t];
E2[t_] = unittangentvector[t];


DomainInterval = {0, 2 \[Pi]};
initvalue = 0;
CodomainBox = {Origin2D, 2};
Size = 400;
VFieldOnCurve2D[DomainInterval, alpha, {E1, E2}, CodomainBox, Size]
 
Physics news on Phys.org
The unit normal isn't alphaprimeprime[t] / Norm[alphaprimeprime[t]]. It's the derivative of the UNIT tangent vector divided by the norm of the derivative of the UNIT tangent vector. alphaprime isn't UNIT.
 
Last edited:
Dick said:
The unit normal isn't alphaprimeprime[t] / Norm[alphaprimeprime[t]]. It's the derivative of the UNIT tangent vector divided by the norm of the derivative of the UNIT tangent vector. alphaprime isn't UNIT.

Thanks, and that would seem to do the trick, but mathematica is hating me right now. Any ideas what's going on? Here is the newly defined unit normal vector

alpha[t_] := {Cos[t], 2 Sin[t]};

alphaprime[t_] := {-Sin[t], 2 Cos[t]};

alphaprimeprime[t_] := {-Cos[t], -2 Sin[t]};

unittangentvector[t_] := alphaprime[t] / Norm[alphaprime[t]];

unitnormalvector[t_] :=
unittangentvector'[t] / Norm[unittangentvector'[t] ];

E1[t_] = unitnormalvector[t];
E2[t_] = unittangentvector[t];


failure.png



Implementation

VFieldOnCurve2D[dominterval_, CurveEq_, FrameField_, CodomainBox_,
Size_] :=
Module[{a2, b2, Content, IS, DomainPieces, DomainPiece1,
DomainPiece2, CodomainCenter, CodomainWidth, len, EE1, EE2,
ImagePieces, ImagePiece0, ImagePiece1, ImagePiece2},
{a2, b2} = dominterval;
IS = 300;
Content = Mapping12Content[dominterval, CurveEq];
DomainPiece1 = Content[[1]];
DomainPiece2[t_] := Points2D[{{0, t}}, .3];
DomainPieces[t_] :=
Show[DomainPiece1, DomainPiece2[t], ImageSize -> IS/4];

{CodomainCenter, CodomainWidth} = CodomainBox;
len = Length[FrameField];
If[len == 2, EE1 = FrameField[[1]];
EE2 = FrameField[[2]], {EE1} = FrameField];

ImagePiece0 = EmptySpace2DXCenter[CodomainCenter, CodomainWidth];
ImagePiece1 = Content[[2]];
ImagePiece2[t_] :=
If[len == 2, {Vec[CurveEq[t], EE1[t]], Vec[CurveEq[t], EE2[t]]},
Vec[CurveEq[t], EE1[t]] ];
ImagePieces[t_] :=
Show[ImagePiece0, ImagePiece1, ImagePiece2[t], ImageSize -> Size];

t0 = (a2 + b2)/2;
Manipulate[
Row[{DomainPieces[t], ImagePieces[t]}], {{t, t0, "t"}, a2, b2},
SaveDefinitions -> True]


]



alpha[t_] := {Cos[t], 2 Sin[t]};

alphaprime[t_] := {-Sin[t], 2 Cos[t]};

alphaprimeprime[t_] := {-Cos[t], -2 Sin[t]};

unittangentvector[t_] := alphaprime[t] / Norm[alphaprime[t]];

unitnormalvector[t_] :=
unittangentvector'[t] / Norm[unittangentvector'[t] ];

E1[t_] = unitnormalvector[t];
E2[t_] = unittangentvector[t];


DomainInterval = {0, 2 \[Pi]};
initvalue = 0;
CodomainBox = {Origin2D, 2};
Size = 400;
VFieldOnCurve2D[DomainInterval, alpha, {E1, E2}, CodomainBox, Size]
 
Not really, sorry. It looks right. But I haven't done Mathematica since other people stopped paying for it for me. It's really expensive and unfree. So I can't test that in any detail.
 
Dick said:
Not really, sorry. It looks right. But I haven't done Mathematica since other people stopped paying for it for me. It's really expensive and unfree. So I can't test that in any detail.

Well, at least theoretically, would you agree that my choice of E1 and E2 provide a frame field on the curve?
 
Sure. The unit tangent T points along your curve. T' must be perpendicular to that. Just differentiate T.T=1. It's got to work, right?