2017-06-06 2 views
0

enter image description hereMATLABは:私はscatter3が垂直正方形を描くことができる知っている水平正方形

h1 = scatter3(X_Horiz,Y_Horiz,Z_Horiz,200,'s','filled',... 
          'MarkerEdgeColor','b','MarkerFaceColor',[0 .75 .75]); 
hold on; 

h2 = scatter3(X_Vert,Y_Vert,Z_Vert,200,'s','filled',... 
          'MarkerEdgeColor','g','MarkerFaceColor',[0 .75 .75]); 
hold on; 

を描画するscatter3を使用して、しかし、私は、光赤色二つのインタフェースと平行な水平方向の四角形を描きたいです。私は回転機能を試してみますが、動作しません。

答えて

1

サイドの長さを指定することで、自分の四角形を描くことができます。以下のようにしてもかまいません。

function myscatter3() 
N = 10 ; 
data = rand(N,2) ; 
x = data(:,1) ; y = data(:,2) ; z = zeros(size(x)) ; 

dx = 0.05 ; 
figure 
hold on 
for i = 1:N 
    coor = MakeSquare(x(i),y(i),dx) ; 
    patch(coor(:,1),coor(:,2),coor(:,3),'w','edgecolor','k') ; 
end 
view(3)  
end 

function coor = MakeSquare(x,y,dx) 

coor = zeros(4,3) ; 

coor(1,:) = [x-dx/2,y-dx/2,0] ; 
coor(2,:) = [x+dx/2,y-dx/2,0] ; 
coor(3,:) = [x+dx/2,y+dx/2,0] ; 
coor(4,:) = [x-dx/2,y+dx/2,0] ; 
end 

このコードは微調整できます。 xy平面に四角形を描きます。それはどの平面にも一般化できる。

関連する問題