Построение трёхмерных графиков
Основная команда для построения трёхмарных графиков - plot3d. Рассмотрим технологию построения графиков с использованием интерфейса gnuplot.
Поверхность функции в цветном изображении строится с использованием опции pm3d (рис. 3.8). Пример:
plot3d (atan (-x^2 + y^3/4), [x, -4, 4], [y, -4, 4],
[grid,50,50],[gnuplot_pm3d,true],
[gnuplot_term,ps],
[gnuplot_out_file,"plot31.eps"])$
Рис. 8. График функции двух переменных с окраской поверхности
С использованием этой опции и особенностей программы gnuplot можно построить и изображение линий уровня функции. Пример (рис. 9):
plot3d (cos (-x^2 + y^3/4), [x, -4, 4], [y, -4, 4],
[gnuplot_preamble, "set view map; unset surface"],
[gnuplot_pm3d, true], [grid, 150, 150],
[gnuplot_term,ps],[gnuplot_out_file,"plot32.eps"]);
Рис. 9. График линий уровня функции двух переменных с окраской поверхности
Более строгий результат можно получить, используя стандартный формат функции plot3d. Пример (рис. 10):
(%i4) plot3d (2^(-u^2 + v^2), [u, -3, 3], [v, -2, 2]);
Рис. 10. Простой график функции двух переменных
Для вывода графика в файл всё равно необходимо использовать опции gnuplot (установить терминал gnuplot и имя файлп результата). Необходимая команда:
plot3d (2^(-u^2 + v^2), [u, -3, 3], [v, -2, 2],
[gnuplot_term,ps],[gnuplot_out_file,"plot33.eps"]);
Смена формата графики также возможна за счёт использования опций plot3d. Пример(вывод графики в формате openmath - рис. 11):
(%i6) plot3d (2^(-u^2 + v^2), [u, -3, 3], [v, -2, 2],
[plot_format, openmath]);
Рис. 11. Простой график функции двух переменных
Достоинством данного формата является встроенная возможность сохранения копии графического изображения в файл, редактирования и поворота построенного графика. Функция, для которой строится трёхмерный график, может хадаваться как Maxima или Lisp- функция, лямбда-функция либо выражение Maxima общего вида. При использовании формата plot3d (f, ...) выражение f рассматривается как функция двух переменных. при использовании формата plot3d ([f_1, f_2, f_3], ...), каждая функция (f_1, f_2, f_3) рассматривается как функциея трёх переменных. Пример использования формата plot3d ([f_1, f_2, f_3], ...) (рис. 2): Функция plot3d позволяет строить графики функций, заданных в цилиндрических или сфериче- ских координатах за счёт использования преобразования координат (опция [transform_xy, polar_to_xy] или функция make_transform (vars, fx, fy, fz)). Определённые преимущества обеспечивает формат wxplot (wxplot2d или wxplot3d). Команда построение графика в формате wxMaxima по синтаксису мало отличается от синтаксиса команд plot2d и plot3d. Качество воспроизведения графиков на экране wxMaxima относительно невысокое, но легко, выделив график щелчком мыши, сохранить его в файл (по умолчанию maxout.png). Качество копии в файле намного лучше, чем рисунка в окне wxMaxima.
Рис. 12. График функции, определённой в формате [f_1, f_2, f_3]