2014-10-02 5 views
2

Я пытаюсь построить трехмерную систему координат (X, Y, Z), а затем я хотел бы затенять область в этой трехмерной системе координат с некоторым цветом, например, затенять следующую область, определенную:3d-координаты + оттенок

Z> Y> X

Может ли кто-нибудь помочь?

я сделал следующее, но не могу показаться, чтобы знать, как действовать,

a=0:0.1:10; 
b=0:0.1:10; 
c=0:0.1:10; 
[x,y,z]=meshgrid(a,b,c); 
+0

Нет ofense, но нету пытались что-нибудь. Покажите нам немного усилий! : P –

+0

если бы я знал, как бы, я бы не спросил;) @AnderBiguri – George

+0

Да, я думаю. Но в stackoverflow в целом вам нужно показать, что вы попробовали, чтобы получить некоторую помощь. Кроме того, ваш пост имеет очень мало информации. можете ли вы показать нам хотя бы то, что вы ожидаете получить? –

ответ

0

Ok, так что вы должны быть в состоянии построить объемные данные, то. Лучшее, что вы можете сделать, это скачать vol3d, чтобы достичь этого. Это довольно приятный визуализатор вокселей.

затем:

a=0:0.1:10; 
b=0:0.1:10; 
c=0:0.1:10; 
[x,y,z]=meshgrid(a,b,c); 

shaded_area=false(size(x)); 

% Your rules 

shaded_area=y>x;   % two ways ;). 
shaded_area(z>y)=true; 

% Plot it! 
vol3d('Cdata',shaded_area); 

Однако, как вы triying для построения объемных данных булево Я предлагаю вам использовать эту пару хороших вещей для того, чтобы получить «приятнее» визуализацию, не больше.

vol3d('Cdata',smooth3(uint8(shaded_area),'gaussian')) 
axis([0 length(a) 0 length(b) 0 length(c)]) 
view(122,14) 
axis off 

enter image description here

0

В зависимости от того, что вы называете затенение, это может стать отправной точкой:

Создание 3D-сетки точек и логический 3D массив, удовлетворяющий ваше состояние:

[X,Y,Z] = meshgrid(1:100,1:100,1:100); 
ShadeRegion=(Z > Y).*(Y> X); 

Затем используйте встроенную функцию isosurface:

fv = isosurface(X,Y,Z,ShadeRegion,0.5); 

Вы можете применить пример отображения изоповерхностей доступные в the manual:

p=patch(fv); 
set(p,'FaceColor','red','EdgeColor','none'); 
daspect([1,1,1]) 
view(3); axis tight 
camlight 
lighting gouraud 

Результат:

shaded region

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