2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 python_3D_поверхность
Сообщение24.09.2010, 17:26 


03/12/08
111
3Д-поверхность храниться в текстовом файле так:
Код:
-3.5000000000 0.0000000000 2.5000000000
-3.1036274810 0.5294292466 2.3019377358
-3.2096751106 0.9673153668 2.3019377358
-3.5000000000 0.0000000000 2.5000000000

-3.5000000000 0.0000000000 2.5000000000
-3.2096751106 0.9673153668 2.3019377358
-3.3659225510 1.2379438722 2.3019377358
-3.5000000000 0.0000000000 2.5000000000
...

координаты четырех вершин первой площадки, затем второй, и так далее.


Нужно написать скрипт, рисующий поверхность. Моя попытка написать скрипт представлена ниже. Проблема в том, что он рисует что-то не то, например, тестовый эллипсоид

Изображение
Uploaded with **invalid link**


этот же эллипсоид gnuplot строит нормально, но как рамочную поверхность

Изображение
Uploaded with **invalid link**


код: [ скачать ] [ спрятать ]
Используется синтаксис Python
#!/usr/bin/python
import pylab
from mpl_toolkits.mplot3d import Axes3D

from numpy import *
import numpy
import matplotlib

x,y,z = loadtxt('data.txt', usecols=[0,1,2], unpack=True)
print "data from data.txt = ", x,y,z

X, Y = numpy.meshgrid(x,y)
print "X=", X
print "Y=", Y

Z = matplotlib.mlab.griddata(x,y,z,X,Y,interp='nn')

print "Z=", Z

fig = pylab.figure()
axes = Axes3D(fig)
axes.plot_surface(X, Y, Z)
pylab.show()
 

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ 1 сообщение ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group