Verfasst am: 11.05.2014, 16:57
Titel: Convhull und Co
Hallo zusammen,
ich soll für eine Projektarbeit u.a. den Arbeitsraum eines Roboters als Punktewolke plotten. Nun sind aber nur die Grenzpunkte der Wolke - Mantelfläche gefragt, sozusagen die Grenze des Arbeitsraumes.
convhull liefert schon mal die äußere Mantelfläche, doch dort wo die Wolke nach innen eingedrückt ist (wo der Roboter sonst mit sich selbst kollidieren würde) erkennt convhull die Mantelfläche nicht.
1. Gibts da eine ergänzende Funktion?
2. Kann man die Punkte, die convhull erkannt hat auch exta ausgeben lassen? (Habe versucht mit
plot3(K(:,1),K(:,2),K(:,3),'b.')
das K auszugeben aber das ergibt keinen kugelförmigen Arbeitsraum vllt müssen die Punkte noch irgendwie transformiert werden ka...)
Das Programm:
Code:
clc; closeall; clearall;
r53_K3=[0;0;1000];
r32_K2=[0;0;1150];
r21_K1=[350;0;675];
hold on
index=1;
for A1=-185:45:185 for A2=0:-25:-135 for A3=-120:45:155
C_KK1=[cosd(A1)sind(A1)0 ;
-sind(A1)cosd(A1)0 ;
001];
C_K1K2=[cosd(85+A2)0cosd(5-A2);
010 ;
cosd(175+A2)0cosd(85+A2)];
C_K2K3=[cosd(A3)0sind(A3);
010 ;
-sind(A3)0cosd(A3)];
%Ortsvektor des Arbeitsbereiches in K- bzw. World-Koordinaten
r_AB = C_KK1*r21_K1 + C_KK1*C_K1K2*r32_K2 + C_KK1*C_K1K2*C_K2K3*r53_K3;
%Arbeitsraum als Punktewolke
plot3(r_AB(1),r_AB(2),r_AB(3),'b.')
%x, y und z-Komponenten der Punkte in der Wolke als Spaltenvektoren
x(index,1)=r_AB(1);
y(index,1)=r_AB(2);
z(index,1)=r_AB(3);
index=index+1;
end end end
logicalvar = true [K,V] = convhull(x,y,z,'simplify', logicalvar) trisurf(K,x,y,z,'facealpha',0.5);
xlabel('X'), ylabel('Y'), zlabel('Z') axis equal;
hold off
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.