Skip to content

Commit 297bbbf

Browse files
committed
plot_slices
Add plot_slices.m
1 parent f917c5d commit 297bbbf

File tree

2 files changed

+61
-0
lines changed

2 files changed

+61
-0
lines changed

plot_slices_2D.m

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
function []= plot_slices_2D(Crossing_Point_of_All_Slices,Number_of_Slice,delay)
2+
% 动态绘制二维截面轮廓
3+
%hold on保持连续绘图
4+
hold on
5+
Crossing_Point_of_each_Slice = Crossing_Point_of_All_Slices{Number_of_Slice}; % 通过for循环 逐个提取元胞子矩阵 到矩阵Crossing_Poin_of_each_Slice中
6+
if delay >0 %判断是,进行延时绘图操作
7+
if ~isempty(Crossing_Point_of_each_Slice)
8+
for j = 1:size(Crossing_Point_of_each_Slice,1)-1 % size(mlst_all,1)表示元胞子矩阵的行数
9+
% plot3(X1,Y1,Z1,LineSpec)在三维空间绘制一个或者多个曲线。
10+
% 这些线条穿过坐标为 X1、Y1 和 Z1 的元素的点。X1、Y1 和 Z1 的值可以是数值、日期时间、持续时间或类别值。
11+
% LineSpec控制线形和颜色
12+
plot(Crossing_Point_of_each_Slice(j:j+1,1),Crossing_Point_of_each_Slice(j:j+1,2),'k','LineWidth',0.1)
13+
% pause()表示绘制延时,函数的输入参数已经进行了定义s
14+
pause(delay)
15+
16+
end
17+
end
18+
% [Crossing_Poin_of_each_Slice(:,1),Crossing_Poin_of_each_Slice(:,2)]表示相交线的顶点的XY坐标值
19+
% plot3()中的第三个变量是Z轴方向切平面的坐标值
20+
else %判断否,不进行延时绘图操作,计算完成后一次性将图形全部显示
21+
if ~isempty(Crossing_Point_of_each_Slice)
22+
plot(Crossing_Point_of_each_Slice(:,1),Crossing_Point_of_each_Slice(:,2),'k','LineWidth',0.1)
23+
end
24+
end
25+
end

plot_slices_3D.m

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
function []= plot_slices_3D(Crossing_Point_of_All_Slices, z_slices,delay)
2+
% 动态或静态绘制三维截面轮廓
3+
% Crossing_Point_of_All_Slices 元胞矩阵的每一个元胞都含有该层切片的所有节点(XY坐标值)数据
4+
% Crossing_Point_of_All_Slices 的元胞个数等于切片层数 ,Crossing_Point_of_All_Slices是一维行向量
5+
% 该函数用于绘制slice_stl_create_path函数计算所得的所有点通过轨迹线表示出切片层的轮廓
6+
% 设定 delay值 可以通过延时,调整绘图速度
7+
% Crossing_Point_of_All_Slices{i}元胞数组表示所有交点的坐标值
8+
% size(Crossing_Point_of_All_Slices,2)表示元胞矩阵中元胞的个数,即切片层的总个数
9+
% Crossing_Poin_of_each_Slice 表示每个切片层的所有交点坐标值(X,Y)
10+
hold on;
11+
for i = 1: size(Crossing_Point_of_All_Slices,2)
12+
13+
Crossing_Point_of_each_Slice = Crossing_Point_of_All_Slices{i}; % 通过for循环 逐个提取元胞子矩阵 到矩阵Crossing_Poin_of_each_Slice中
14+
if delay >0 %判断是,进行延时绘图操作
15+
if ~isempty(Crossing_Point_of_each_Slice)
16+
for j = 1:size(Crossing_Point_of_each_Slice,1)-1 % size(mlst_all,1)表示元胞子矩阵的行数
17+
% plot3(X1,Y1,Z1,LineSpec)在三维空间绘制一个或者多个曲线。
18+
% 这些线条穿过坐标为 X1、Y1 和 Z1 的元素的点。X1、Y1 和 Z1 的值可以是数值、日期时间、持续时间或类别值。
19+
% LineSpec控制线形和颜色
20+
plot3(Crossing_Point_of_each_Slice(j:j+1,1),Crossing_Point_of_each_Slice(j:j+1,2),ones(2,1)*z_slices(i),'k','LineWidth',0.1)
21+
% pause()表示绘制延时,函数的输入参数已经进行了定义s
22+
pause(delay)
23+
end
24+
end
25+
% [Crossing_Poin_of_each_Slice(:,1),Crossing_Poin_of_each_Slice(:,2)]表示相交线的顶点的XY坐标值
26+
% plot3()中的第三个变量是Z轴方向切平面的坐标值
27+
else %判断否,不进行延时绘图操作,计算完成后一次性将图形全部显示
28+
if ~isempty(Crossing_Point_of_each_Slice)
29+
plot3(Crossing_Point_of_each_Slice(:,1),Crossing_Point_of_each_Slice(:,2),ones(size(Crossing_Point_of_each_Slice,1),1)*z_slices(i),'k','LineWidth',0.1)
30+
end
31+
end
32+
end
33+
34+
end
35+
36+

0 commit comments

Comments
 (0)