how will i get a mesh in 2d region
조회 수: 8 (최근 30일)
이전 댓글 표시
Hi community,
I need to create a mesh data like in this image, mesh will be cartesian mesh in rectangular part and polar mesh in circular part, how can i do it in matlab?
Any help will be appreciated, thanks.
댓글 수: 2
darova
2020년 1월 1일
Did you try create circular and rectangular part in cartesian system? And then just concantenate matrices?
What have you tried?
답변 (1개)
darova
2020년 1월 2일
I tried to simplify the task (plain rectangle instead of ellipse(cylinder))
Here is what i got
clc,clear
data = load('simple.txt.');
x = data(:,1);
y = data(:,2);
z = data(:,3);
dx = diff(x);
dy = diff(y);
dL = hypot(dx,dy);
[X,Y] = meshgrid([-1 1]);
cla
plot3(x,y,z,'-')
axis equal
hold on
for i = 1:length(x)-1 -4000 % too much rectangles
X1 = X/2; % rectangle width is 1
Y1 = Y*dL(i)/2; % rectangle height is dL
% rotation matrix
R = [dx(i) -dy(i); dy(i) dx(i)]/dL(i);
V = R*[Y1(:) X1(:)]';
X1 = reshape(V(1,:),[2 2])+x(i)+dx(i)/2;
Y1 = reshape(V(2,:),[2 2])+y(i)+dy(i)/2;
Z = [z(i) z(i); z(i+1) z(i+1)];
surf(X1,Y1,Z)
% pause(0.5)
end
hold off
댓글 수: 1
참고 항목
카테고리
Help Center 및 File Exchange에서 Surface and Mesh Plots에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!