Maple: Как преобразовать цилиндрические координаты в декартовы? - PullRequest
0 голосов
/ 18 мая 2011

Мы получаем некоторое выражение в Цилиндрические координаты (r, ϕ, z) вроде: expr := r*z^2*sin((1/3)* ϕ ) нам нужно преобразовать его в Декартовы координаты и затем обратно вЦилиндрические координаты.Как это сделать?

Итак, я нашел что-то вроде этого: eval(expr, {r = sqrt(x^2+y^2), z = z, ϕ = arctan(y, x)}) но это кажется неправильным, как исправить это и как сделать eval для преобразования обратных слов из декартового в цилиндрический?

ϕ == ϕ

Поэтому я пытаюсь:

R := 1; 

H := h; 

sigma[0] := sig0;

sigma := sigma[0]*z^2*sin((1/3)*`ϕ`);

toCar := eval(sigma, {r = sqrt(x^2+y^2), z = z, `ϕ` = arctan(y, x)});

toCyl := collect(eval(toCar, {x = r*cos(`ϕ`), y = r*sin(`ϕ`), z = z}), `ϕ`)

Это выглядит близко к истине, но выглядит: enter image description here

почему arctan(r*sin( ϕ), r*cos( ϕ )) не отображается как ϕ?

На самом деле это только начало забавного времени для меня, потому что мне также нужно вычислить

Q := int(int(int(toCar, x = 0 .. r), y = 0 .. 2*Pi), z = 0 .. H)

и вернуть его обратно вЦилиндрические координаты ...

1 Ответ

2 голосов
/ 18 мая 2011
simplify(toCyl) assuming r>=0, `&varphi;`<=Pi, `&varphi;`>-Pi;

Примечание

arctan(sin(Pi/4),cos(Pi/4));
                          1   
                          - Pi
                          4   

arctan(sin(Pi/4 + 10*Pi),cos(Pi/4 + 10*Pi));
                          1   
                          - Pi
                          4   

arctan(sin(-7*Pi/4),cos(-7*Pi/4));
                          1   
                          - Pi
                          4   

arctan(sin(-15*Pi/4),cos(-15*Pi/4));
                          1   
                          - Pi
                          4   


arctan(sin(-Pi),cos(-Pi));
                           Pi

K:=arctan(r*sin(Pi/4),r*cos(Pi/4));
                      arctan(r, r)

simplify(K) assuming r<0;
                           3   
                         - - Pi
                           4   

simplify(K) assuming r>0;
                          1   
                          - Pi
                          4   

Как только вы преобразуете из цилиндрического в прямоугольное, любая информация о том, сколько раз исходный угол "мог обернуться вокруг (после -Pi), теряется.

Таким образом, вы не восстановите исходный &varphi;, если он не был в (-Pi, Pi]. Если вы скажете Maple, что это так (вместе с r> -0, чтобы он знал, какая полуплоскость), используя предположения, тогда это может упростить до того, что вы ожидаете.

...