How to plot DiscreteGeometry objects

조회 수: 3 (최근 30일)
James Kempton
James Kempton 2020년 1월 4일
편집: James Kempton 2020년 1월 5일
In the workspace attached I have a table (opFrame_table), one variable of which is XYZ, each row of this variable representing XYZ data for the centre of the top face of a cylinder.
I have created DiscreteGeometry objects for each row (and therefore cylinder) using multicylinder, and am attempting to plot them using pdegplot. Here is the code:
%% Generate cylinders from markers
R=150;
H=NaN(height(opFrame_table),1);
model=cell(height(opFrame_table),1);
for i=1:height(opFrame_table)
H(i)=opFrame_table.XYZ(i,3);
gm=multicylinder(R,H(i));
model{i}=createpde;
model{i}.Geometry=gm;
pdegplot(model{i})
hold on
end
The result is the figure below (with the .fig file attached):
cylinder.jpg
As you can see only one of the objects is plotted. The position of the object within the coordinate system is also somewhat unrelated to the original XYZ variable data. Each edge of the cylinder is composed of a series of points with X, Y and Z coordinates, however, only the Z data is the same as the original XYZ variable data. Three questions therefore:
  1. How are you able to plot multiple cylinders in the same plot?
  2. How can you access the X, Y and Z coordinates of the edge points of the cylinders?
  3. How can I change the position of the cylinders in the plot?

답변 (1개)

Ravi Kumar
Ravi Kumar 2020년 1월 5일
Looks like you are overwriting the plot in a loop. If you want to plot multiple figures then you insert: figure command before pdegplot:
...
figure
pdegplot(model{i})
...
  댓글 수: 1
James Kempton
James Kempton 2020년 1월 5일
편집: James Kempton 2020년 1월 5일
Rather than plotting multiple figures, I would like to plot multiple of the DiscreteGeometry objects (in this case, cylinders) on the same figure. I thought using the hold on command in the above loop would be sufficient but it seems not to be.

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Geometry and Mesh에 대해 자세히 알아보기

제품


릴리스

R2018b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by