Quantcast
Channel: Mein MATLAB Forum - goMatlab.de
Viewing all articles
Browse latest Browse all 28441

Convhull und Co

$
0
0
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: clc; close all; clear all; 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 ; 0 0 1]; C_K1K2=[cosd(85+A2) 0 cosd(5-A2); 0 1 0 ; cosd(175+A2) 0 cosd(85+A2)]; C_K2K3=[cosd(A3) 0 sind(A3); 0 1 0 ; -sind(A3) 0 cosd(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,'facealph ...

Viewing all articles
Browse latest Browse all 28441

Latest Images

Trending Articles