36 lines
795 B
Matlab
36 lines
795 B
Matlab
function plotCylinderSamples(cylinders, options, figID)
|
|
% plot the cylinders on the given field
|
|
% @author: Zhaoyang Lv
|
|
|
|
figure(figID);
|
|
|
|
holdstate = ishold;
|
|
hold on
|
|
|
|
num = size(cylinders, 1);
|
|
|
|
sampleDensity = 120;
|
|
|
|
for i = 1:num
|
|
[X,Y,Z] = cylinder(cylinders{i}.radius, sampleDensity * cylinders{i}.radius * cylinders{i}.height);
|
|
|
|
X = X + cylinders{i}.centroid.x;
|
|
Y = Y + cylinders{i}.centroid.y;
|
|
Z = Z * cylinders{i}.height;
|
|
|
|
cylinderHandle = surf(X,Y,Z);
|
|
set(cylinderHandle, 'FaceAlpha', 0.5);
|
|
hold on
|
|
end
|
|
|
|
axis equal
|
|
axis([0, options.fieldSize.x, 0, options.fieldSize.y, 0, 20]);
|
|
|
|
grid on
|
|
|
|
if ~holdstate
|
|
hold off
|
|
end
|
|
|
|
end
|