# Plot a space curve and its curvature

The vector is < te^t, e^-t, Sqrt [2]t >, where -5 <= t <= 5 I have to plot the space curve and its curvature function k(t).

I already found the curvature, but do not know how to plot the space curve and its curvature function.

Curvature is:

Sqrt[2 E^(-2 t) + (3 + 2 t)^2 + (2 Sqrt[2] E^t + Sqrt[2] E^t t)^2]/[(2 + E^(-2 t) + (E^t + E^t t)^2)^(3/2)]


ArcCurvature is already built-in to Mathematica, so there is no need to compute curvature manually:

f[t_] := {t Exp[t], Exp[-t], Sqrt[2] t}
Simplify@ArcCurvature[f[t], t]
Plot[%, {t, -3, 3}]
ParametricPlot3D[f[t], {t, -1, 1}]


which produces

$$\kappa(t)=\frac{e^{2 t} \sqrt{2 e^{4 t} (t+2)^2+e^{2 t} (2 t+3)^2+2}}{\left(e^{4 t} (t+1)^2+2 e^{2 t}+1\right)^{3/2}}$$

fun = {u E^u, E^-u, Sqrt[2] u};

cur = Sqrt[2/E^(2*u) + (3 + 2*u)^2 + (2*Sqrt[2]*E^u + Sqrt[2]*E^u*u)^2]/
(2 + E^(-2*u) + (E^u + E^u*u)^2)^(3/2);

plo = Plot[cur, {u, -5, 5}, PlotRange -> All]


range = Last[PlotRange /. AbsoluteOptions[plo, PlotRange]];

ParametricPlot3D[fun, {u, -5, 5},
BoxRatios -> 1,
ColorFunction -> Function[{x, y, z, u, v},
ColorData["Rainbow"][Rescale[cur, range]]],
ColorFunctionScaling -> False,
PlotStyle -> Thickness[0.015]]


Just collecting and presenting information already on the page:

Clear["Global*"];
r[u_] := {u E^u, E^-u, Sqrt[2] u}
ac = ArcCurvature[r[u], u] // Simplify;
max = NMaximize[ac, u];

barlegend = BarLegend[{"Rainbow", {0, First@max}}
, LegendMarkerSize -> 160
, LegendLabel -> "Arc Curvature"
, LabelStyle -> {Black, 12}
];

Row@{ParametricPlot3D[{r[u]}
, {u, -3, 3}
, PlotStyle -> AbsoluteThickness[4]
, ColorFunction -> (Function[{x, y, z, u, v}
, ColorData[{"Rainbow", {0, First@max}}][ac]])
, ColorFunctionScaling -> False
, BoxRatios -> {1, 1, 1}
, ImageSize -> 300
, PlotLabel -> "Space Curve highlighting Arc Curvature"
, AxesLabel -> {x, y, z}
, LabelStyle -> {Black, 12}
]
, Plot[ac, {u, -3, 3}
, PlotRange -> All
, ColorFunction -> "Rainbow"
, ImageSize -> 300
, PlotLabel -> Style["Arc Curvature", "Arial", Black, 14]
, AxesLabel -> TraditionalForm /@ {"u", "κ[u]"}
, LabelStyle -> {Black, 12}
]
, Spacer[20]
, barlegend
}
`