4

У меня установлена Ubuntu 10.10, и мне нужно построить 3D-графику.

Я установил несколько бесплатных приложений, доступных в репозитории, таких как QtiPlot и GNU Octave. Я обнаружил и создал следующую графику. Гауссова функция

Теперь я должен показать на том же графике положение результатов моего эксперимента, которые состоят из элементов с тремя параметрами: координаты X, Y и Z, которые были рассчитаны с помощью той же функции, что и на рисунке выше.

Есть идеи сделать это? Будет лучше, если вы предложите решение в бесплатных приложениях, потому что есть несколько проприетарных приложений, таких как Maple или MATLAB.

ОБНОВЛЕНИЕ 1

Окончательный результат должен быть примерно таким:

альтернативный текст

3 ответа3

0

Посмотрите на matplotlib от sourceforge.
Существует простое расширение для 3D-графики - mplot3d.

Набор инструментов mplot3d добавляет простые возможности трехмерного построения к matplotlib, предоставляя объект оси, который может создавать 2-мерную проекцию трехмерной сцены. В конце он создает список 2d строк и патчей, которые рисуются обычным кодом matplotlib. Следовательно, полученный график будет выглядеть так же, как и обычные 2d графики.

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

0

Есть PLplot в sourceforge.
Вот ясная ссылка.
Я не использовал его и не проверял стабильность Maverick .

0

Вы можете использовать gnuplot для создания векторных трехмерных графиков. Вот один пример, взятый из демонстраций трехмерной поверхности из gnuplot 4.6:

С помощью соответствующего скрипта для генерации сюжета:

#
# $Id: surface1.dem,v 1.11 2004/09/17 05:01:12 sfeam Exp $
#
set samples 21
set isosample 11
set xlabel "X axis" offset -3,-2
set ylabel "Y axis" offset 3,-2
set zlabel "Z axis" offset -5
set title "3D gnuplot demo"
set label 1 "This is the surface boundary" at -10,-5,150 center
set arrow 1 from -10,-5,120 to -10,0,0 nohead
set arrow 2 from -10,-5,120 to 10,0,0 nohead
set arrow 3 from -10,-5,120 to 0,10,0 nohead
set arrow 4 from -10,-5,120 to 0,-10,0 nohead
set xrange [-10:10]
set yrange [-10:10]
splot x*y

Если вы посмотрите документацию gnuplot , есть несколько способов рисования сфер.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .