2014 dxdy logo

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

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




 
 MatLAB - построить поверхность из того, что есть
Сообщение13.01.2012, 12:53 
Аватара пользователя
Кто может предложить красивый алгоритм, как построить поверхность (например, функцией surf()).
Исходные данные:
три массива $X, Y, Z$, в которых хранятся значения точек на нашей поверхности; массивы достаточно большие (порядка $20000$ точек), и неупорядоченные, то есть может быть что-то типа $[1,5,18,2.3,-0.9, ...]$, но, конечно, $i$-ому значению $X$ соответствует $i$-ое $Y$ и $i$-ое $Z$

 
 
 
 Re: MatLAB - построить поверхность их того, что есть
Сообщение13.01.2012, 13:07 
Аватара пользователя
В сферических координатах попробовать

 
 
 
 Re: MatLAB - построить поверхность их того, что есть
Сообщение13.01.2012, 13:20 
Аватара пользователя
Не понял идею. Допустим, перейду в сферические координаты
Код:
[THETA,PHI,R] = cart2sph(X,Y,Z)

Что мне это даст?

-- Пт янв 13, 2012 13:36:23 --

Если быть точным, то у меня даже массивы вида $3\times\text{много}$ - сгруппированы координаты по 3, образуя треугольнички, поэтому построить двумерную картинку, передавая третье измерение цветом у меня получается, используя
Код:
patch(X,Y,Z)

Но мне хотелось бы иметь поверхность, которую можно покрутить

 
 
 
 Re: MatLAB - построить поверхность их того, что есть
Сообщение13.01.2012, 13:45 
Аватара пользователя
А подмножества (группировка $>3$) "таскать" по сфере можно? Дабы сгруппировать плавные переходы "на глобусе от впадин к горам"?

 
 
 
 Re: MatLAB - построить поверхность их того, что есть
Сообщение13.01.2012, 13:59 
Аватара пользователя
Gravist в сообщении #526399 писал(а):
А подмножества (группировка $>3$) "таскать" по сфере можно?


переставлять числа в массивах можем как нам удобно

 
 
 
 Re: MatLAB - построить поверхность их того, что есть
Сообщение13.01.2012, 14:29 
Аватара пользователя
И что же мешает группировать радиусами $R$ , сглаживая по зонам $\theta , \varphi  $ , да ещё в цвете? Что-то тоже не пойму.
Получим раскрашенное "шишковатое яйцо".

 
 
 
 Re: MatLAB - построить поверхность их того, что есть
Сообщение13.01.2012, 14:41 
Аватара пользователя
конкретный код можете привести? Вот patch(X,Y,Z) дает такую картинку:
http://clip2net.com/s/1tU0j
полученные из 3-х массивов $3\times15600$

Я не хочу шишковатых яиц, я хочу получить поверхность, у которой будет яма в левом нижнем углу.

 
 
 
 Re: MatLAB - построить поверхность их того, что есть
Сообщение13.01.2012, 14:51 
Аватара пользователя
Видел,
photon в сообщении #526421 писал(а):
... я хочу получить поверхность, у которой будет в яма в левом нижнем углу.
Тогда, извините, Вам - к ассам. Мне, рядовому пользователю, не осилить. :oops:

 
 
 
 Re: MatLAB - построить поверхность их того, что есть
Сообщение13.01.2012, 16:16 
Аватара пользователя
ларчик просто открывался... Надо было вместо
Код:
patch(X,Y,Z)
написать
Код:
patch(X,Y,Z,Z)

в первом случае $Z$ определял цвет, во втором - и координату $Z$ и цвет

 
 
 [ Сообщений: 9 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group