2013-09-18 4 views
2

Как создать полярный контур в Maxima? Учитывая такое выражение, какПолярный контурный график в Maxima

exp(-r) * cos(phi) 

Я хотел бы построить контуры в плоскости х-у, которые имеют такое же значение выражения во всех точках вдоль контура.

Я попытался

draw3d(cylindrical(exp(-r) * cos(phi), r, 0, 5, phi, 0, 2*%pi), contour=map)) 

но cylindrical участки г в зависимости от г и Фи, а не г как функции г и Фи. Было бы неплохо не преобразовать вручную в декартовы координаты.

ответ

2
contour_plot(exp(-r)*cos(phi), [r,0,2], [phi, 0, 2*%pi], [transform_xy, polar_to_xy], 
[gnuplot_preamble, "set cntrparam levels 10;"]); 

Опция polar_to_xy интерпретирует первые две переменные, как расстояние от оси г и азимутального угла.

0

В чем проблема, используя что-то вроде

draw3d(explicit(20*exp(-x^2-y^2)-10,x,0,2,y,-3,3), 
    contour_levels = 15, 
    contour  = map, 
    surface_hide = true) ; 

Я думаю, что в этом случае straigthforward сделать это.

+0

Итак, вы правы, всегда можно преобразовать в декартовы координаты, а затем построить с использованием 'explicit'. Мне просто интересно, есть ли лучший способ. –

+0

Вы можете спросить непосредственно Марио (программиста Draw Package), может быть, он знает лучший способ. – nicoguaro

Смежные вопросы