Sunday, March 5, 2017

HP Prime: Parabolic Coordinates



HP Prime:  Parabolic Coordinates



The Formulas

The relationship and conversion factors between parabolic coordinates (μ, v, ϕ) and rectangular coordinates (x, y, z) are as follows:

x = μ * v * cos ϕ
y = μ * v * sin ϕ
z = 1/2 * (μ^2 – v^2)

ϕ = atan(y/x)
v = √( -z + √(x^2 + y^2 + z^2))
μ = √( 2*z + v^2)
(note the sequence)

where μ ≥ 0 and v ≥ 0

Derivation

The formulas to find the rectangular coordinates are given.  We can derive the formulas for the parabolic coordinates by the following:

Assume that μ > 0 and v > 0 (neither are zero).  Then:

x = μ * v * cos ϕ  
y = μ * v * sin ϕ
x / y = (μ * v * cos ϕ)/( μ * v * sin ϕ)
x / y = 1 / tan ϕ
y / x = tan ϕ
ϕ = atan (y / x)

Express μ in terms of z:

z = 1/2 * (μ^2 – v^2)
2 * z = μ^2 – v^2
μ^2 = 2*z + v^2

Since μ is positive, only the positive square root is considered:
μ = √(2*z + v^2)

Can we find an expression for v?  If we can, we have found our formulas:

x = μ * v * cos ϕ

Square both sides:
x^2 = μ^2 * v^2 * cos^2 ϕ    (I)

Note that for a given variable w, cos(atan w) = 1 / √(w^2 + 1)
In this case, w = y/x or:
cos^2 ϕ
= (cos (atan ϕ))^2
= √(1 / ((y/x)^2 + 1))^2
= 1 / ((y/x)^2 + 1)
= x^2 / x^2 * 1 / ((y/x)^2 + 1)
= x^2 / (x^2 + y^2)

Back to (I):
x^2 = μ^2 * v^2 * cos^2 ϕ    (I)
‘x^2 = (2*z + v^2) * v^2 * x^2 / (x^2 + y^2)

Assuming x≠0, divide both sides by x^2:
1 = (2*z + v^2) * v^2 * 1 / (x^2 + y^2)
1 = (2*z*v^2 + v^4) * 1/(x^2 + y^2)
0 = 1/(x^2 + y^2) * v^4 + (2*z)/(x^2 + y^2) * v^2 – 1

Here we have a quadratic equations in the form of Av^4 + Bv^2 + C = 0 where:
A = 1/(x^2 + y^2)
B = (2*z)/(x^2 + y^2)
C = -1

The solution is v^2 = (-B + √(B^2 – 4*A*C)/(2*A).  Remember that v > 0, so only positive roots will be considered.  Then:
-B/(2*A)  = -(2*z)/(x^2 + y^2) * (x^2 + y^2)/2 = -z


And:
B^2 – 4*A*C = (4*z^2 + 4*(x^2 + y^2))/(x^2 + y^2)^2
√( B^2 – 4*A*C) = 2 * √(x^2 + y^2 + z^2)/(x^2 + y^2)
√( B^2 – 4*A*C)/(2*A) = √(x^2 + y^2 + z^2)

Hence:
v^2 = -z + √(x^2 + y^2 + z^2)
v = √(-z + √(x^2 + y^2 + z^2))

HP Prime Program PBC2REC (Parabolic to Rectangular)

EXPORT PBC2REC(u,v,φ)
BEGIN
// Parabolic to Rectangular
// u≥0, v≥0, 0≤φ<2π
// EWS 2017-02-28
LOCAL x:=u*v*COS(φ);
LOCAL y:=u*v*SIN(φ);
LOCAL z:=1/2*(u^2-v^2);
RETURN {x,y,z};
END;

HP Prime Program REC2PBC (Rectangular to Parabolic)

EXPORT REC2PBC(x,y,z)
BEGIN
// Rectangular to Parabolic
// u≥0, v≥0, 0≤φ<2π
// EWS 2017-02-28
LOCAL φ:=ATAN(y/x);
LOCAL v:=√(−z+√(x^2+y^2+z^2));
LOCAL u:=√(2*z+v^2);
RETURN {u,v,φ};
END;

Examples (angles are in radians)

μ = 1, v = 3, ϕ = 0.4
Result:  x ≈ 2.76318, y ≈ 1.16826, z = -4

x = 1.69042, y = 7.9006. z = -2.76432
Result:  μ ≈ 2.40311, v ≈ 3.36208, ϕ ≈ 1.36000

Source:
P. Moon and D.E. Spencer.  Field Theory Handbook:  Including Coordinate Systems Differential Equations and Their Solutions.  2nd ed. Springer-Verlag:  Berlin, Heidelberg, New York.  1971.  ISBN 0-387-02732-7

This blog is property of Edward Shore, 2017.

Solving Simple Arcsine and Arccosine Equations

  Solving Simple Arcsine and Arccosine Equations Angle Measure This document will focus on angle measurement in degrees. For radia...