Start by storing the definition of the curve we’re working with in a variable. Subsequently, we can get at the entire definition just by using the variable’s name.

r = { Sqrt[3]*Cos[t], Cos[t], 2*Sin[t] }

r

This plot visually shows that the curve seems to be a circle, as claimed. Rotate the plot to see how the circle is angled relative to the axes.

ParametricPlot3D[ r, {t, 0, 2*Pi}, AxesLabel->{"X","Y","Z"}]

To find curvature, we’ll use the “magnitude of T prime over magnitude of r prime” formula. Start collecting the values we need in that formula by finding r prime.

rPrime = D[ r,t ]

Find the magnitude of r prime. Mathematica often has trouble simplifying such magnitudes, seemingly because it wants to keep open the possibility that variables represent complex numbers as well as real ones. In such cases, you may need to simplify Mathematica’s answer for yourself. Here we did that by realizing that for real values, the “Abs” isn’t necessary, at which point “4 Cos[t]^2 + 4 Sin[t]^2” simplifies to 4, since cosine squared plus sine squared is 1. Then the square root of 4 is just 2.

magRPrime = Norm[ rPrime ]

magRPrime = 2

magRPrime

Once we know r prime and its magnitude, calculate the unit tangent.

unitT = rPrime / magRPrime

The derivative of the unit tangent, and its magnitude, are the remaining things we need for calculating curvature. Once again we can simplify the magnitude of the derivative by hand, although Mathematica was helpful for putting the derivative in a form that was easy to simplify by hand.

tPrime = D[ unitT, t ]

magTPrime = Norm[ tPrime ]

magTPrime =1

At last, calculate curvature.

kappa = magTPrime / magRPrime

Having the derivative of the unit tangent and its magnitude, finding the principal unit normal just takes one more step.

unitN = tPrime / magTPrime

We can verify that the principal unit normal really is orthogonal to the unit tangent.

unitN . unitT