Mesh plot of data over a parallelogram grid
14 ビュー (過去 30 日間)
古いコメントを表示
I have a two-dimensional array of numerical values that I am able to create a mesh plot of over a rectangular grid. However, I need a mesh plot of this data over a parallelogram grid instead. The vectors I would like to use to generate this parallelogram are a1 = (1/2,sqrt(3)/2) and a2 = (1/2,-sqrt(3)/2). Is there a way to do this easily? Thank you!
0 件のコメント
回答 (2 件)
KSSV
2018 年 10 月 8 日
% Coordinates of parallelogram
P0 = [0. 0.] ; P1 = [1. 0.5] ;
P2 = [0 1] ; P3 = [1. 1.5] ;
C = [P0 ;P1 ; P3 ; P2 ; P0] ;
figure
patch(C(:,1),C(:,2),'b')
M = 50 ;
t = linspace(0,1,M) ;
% generate grid
L1 = [P0(1)+(P1(1)-P0(1))*t ; P0(2)+(P1(2)-P0(2))*t] ;
L2 = [P2(1)+(P3(1)-P2(1))*t ; P2(2)+(P3(2)-P2(2))*t] ;
% Mesh
N = 20 ;
X = zeros(M,N) ;
Y = zeros(M,N) ;
t = linspace(0,1,N) ;
for i = 1:M
X(i,:) = L1(1,i)+(L2(1,i)-L1(1,i))*t ;
Y(i,:) = L1(2,i)+(L2(2,i)-L1(2,i))*t ;
end
figure
hold on
plot(X,Y,'r')
plot(X',Y','r')
1 件のコメント
rui Zeng
2020 年 8 月 10 日
Thank you KSSV, and by using this method we can extend further to connecting irregular shapes by adding more columns for L1 and L2.
Nitin Phadkule
2021 年 9 月 18 日
編集済み: Nitin Phadkule
2021 年 9 月 18 日
% just sharing if any one needed for 3d points
% filling parallogram between two position vectors,
% can also an be used to plot and find area of vector addition triangle with
% ommision of x3, y3, z3
% p1=[x1 y1 z1]
% p2=[x2 y2 z2]
% P1+p2=[x1+x2 y1+y2 z1+z2]
p1=[1 -2 3]
p2=[2 2 0]
x3=p1(1)+p2(1)%x1+x2
y3=p1(2)+p2(2)%y1+y2
z3=p1(3)+p2(3)%z1+z2
patch( [0 p1(1) x3 p2(1) ], [0 p1(2) y3 p2(2) ], [0 p1(3) z3 p2(3) ],[1 0 .1] ,'FaceAlpha',.5,'EdgeColor','none')
0 件のコメント
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!