# HP Forums

Full Version: Curvature
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Gratitude to Arno K. and rombio for helping me with derivatives and CAS programs.

The following CAS functions calculates the curvature of:

functions, y(x)
polar functions, r(t) (t: Θ)
parametric functions, x(t), y(t)

Let Δα be the angle of rotation angle and Δs is the slight change of distance. Then the radius of curvature is:

K = abs(Δα ÷ Δs) as Δs → 0

And the radius of curvature is the reciprocal of K.

For circles, the radius of curvature is constant. Wankel engines and rotary engines have their pistons traveling in a circle.

Calculating the curvature depends on the form of the function.

Function: y(x)

K = abs( y''(x) ) ÷ (1 + (y'(x))^2) ^(3/2)

Polar: r(t) (t replaces Θ)

K = abs( r(t)^2 + 2 * (r'(t))^2 - r(t) * r''(t) ) ÷ ( r(t)^2 + r'(t)^2 )^(3/2)

Parametric: x(t), y(t)

K = abs( x'(t) * y''(t) - y'(t) * x''(t) ) ÷ ( x'(t)^2 + y'(t)^2 )^(3/2)

r = 1 ÷ K

HP Prime CAS Program: crvfunc

Code:
```#cas crvfunc(y,x):= BEGIN // curvature // function // radius = 1/curvature LOCAL a,b; a:=diff(y,x,2); b:=diff(y,x,1); RETURN ABS(a)/(1+b^2)^(3/2); END; #end```

HP Prime CAS Program: crvpol

Code:
```#cas crvpol(r,t):= BEGIN // curvature // polar (t: θ) // radius = 1/curvature LOCAL a,b,n,d; a:=diff(r,t,2); b:=diff(r,t,1); n:=simplify(r^2+2*b^2-r*a); d:=r^2+b^2; RETURN ABS(n)/(d)^(3/2); END; #end```

HP Prime CAS Program: crvpar

Code:
```#cas crvpar(y,x,t):= BEGIN // curvature // parametric // radius = 1/curvature LOCAL y1,y2,x1,x2,n,d; y2:=diff(y,t,2); y1:=diff(y,t,1); x2:=diff(x,t,2); x1:=diff(x,t,1); n:=simplify(x1*y2-y1*x2); d:=simplify(x1^2+y1^2);  RETURN ABS(n)/(d)^(3/2); END; #end```

Source:

Svirin, Alex Ph.D. "Curvature and Radius of Curvature" Math24 https://math24.net/curvature-radius.html 2022. Last Updated September 12, 2022.
Reference URL's
• HP Forums: https://www.hpmuseum.org/forum/index.php
• :