WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

3D Scannerdaten mit Matlab bearbeiten und Drucken?

 

Guapi1997
Forum-Newbie

Forum-Newbie


Beiträge: 1
Anmeldedatum: 08.07.22
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.07.2022, 08:39     Titel: 3D Scannerdaten mit Matlab bearbeiten und Drucken?
  Antworten mit Zitat      
Moin Leute,

ich hänge leider gerade Bei einem Projekt fest.
Zum Hintergrund:
Ich habe mir einen 3D-Scanner gebaut. Das ganze baut auf dem Time-of-flight
Prinzip auf. Bedeutet ich Scanne das Objekt mit einem Sensor VL6180 Laser Distanzsensor ab, wärend es sich auf einem Drehteller dreht. Mit Matlab bearbeite
ich dann schließlich meine Messdaten so, das ich kartesische Koordinaten erhalte. Diese lass ich mir dann mit surf(); als Surface plotten. Jetzt würde ich das ganze um es mit einem 3D-Drucker drucken zu können als .STL-Datei exportieren. Klappt
auch mit surf2stl();. Nur muss ich jetzt auf quasi den ersten und letzten layer einen Boden bzw. Deckel packen. Mit fill3(); komm ich leider nicht weiter. Weil ich die Koordinaten nur im Plot habe aber nicht in meinen Matrizen mit den Koordinaten.
Wenn ich das habe wollte ich mit surf2solid(); das ganze als Volumen füllen und in
.STL umwandeln. Im Anschluss findet ihr meinen Code. Vielen lieben Dank im Vorraus!

Code:
load census; steps=200;

alpha=[0,18,36,54,72,90,108,126,144,162,180,198,216,234,252,270,288,306,324,342,360,378,396,414,432,450,468,486,504,522,540,558,576,594,612,630,648,666,684,702,720,738,756,774,792,810,828,846,864,882,900,918,936,954,972,990,1008,1026,1044,1062,1080,1098,1116,1134,1152,1170,1188,1206,1224,1242,1260,1278,1296,1314,1332,1350,1368,1386,1404,1422,1440,1458,1476,1494,1512,1530,1548,1566,1584,1602,1620,1638,1656,1674,1692,1710,1728,1746,1764,1782,1800,1818,1836,1854,1872,1890,1908,1926,1944,1962,1980,1998,2016,2034,2052,2070,2088,2106,2124,2142,2160,2178,2196,2214,2232,2250,2268,2286,2304,2322,2340,2358,2376,2394,2412,2430,2448,2466,2484,2502,2520,2538,2556,2574,2592,2610,2628,2646,2664,2682,2700,2718,2736,2754,2772,2790,2808,2826,2844,2862,2880,2898,2916,2934,2952,2970,2988,3006,3024,3042,3060,3078,3096,3114,3132,3150,3168,3186,3204,3222,3240,3258,3276,3294,3312,3330,3348,3366,3384,3402,3420,3438,3456,3474,3492,3510,3528,3546,3564,3582,0,18,36,54,72,90,108,126,144,162,180,198,216,234,252,270,288,306,324,342,360,378,396,414,432,450,468,486,504,522,540,558,576,594,612,630,648,666,684,702,720,738,756,774,792,810,828,846,864,882,900,918,936,954,972,990,1008,1026,1044,1062,1080,1098,1116,1134,1152,1170,1188,1206,1224,1242,1260,1278,1296,1314,1332,1350,1368,1386,1404,1422,1440,1458,1476,1494,1512,1530,1548,1566,1584,1602,1620,1638,1656,1674,1692,1710,1728,1746,1764,1782,1800,1818,1836,1854,1872,1890,1908,1926,1944,1962,1980,1998,2016,2034,2052,2070,2088,2106,2124,2142,2160,2178,2196,2214,2232,2250,2268,2286,2304,2322,2340,2358,2376,2394,2412,2430,2448,2466,2484,2502,2520,2538,2556,2574,2592,2610,2628,2646,2664,2682,2700,2718,2736,2754,2772,2790,2808,2826,2844,2862,2880,2898,2916,2934,2952,2970,2988,3006,3024,3042,3060,3078,3096,3114,3132,3150,3168,3186,3204,3222,3240,3258,3276,3294,3312,3330,3348,3366,3384,3402,3420,3438,3456,3474,3492,3510,3528,3546,3564,3582,0,18,36,54,72,90,108,126,144,162,180,198,216,234,252,270,288,306,324,342,360,378,396,414,432,450,468,486,504,522,540,558,576,594,612,630,648,666,684,702,720,738,756,774,792,810,828,846,864,882,900,918,936,954,972,990,1008,1026,1044,1062,1080,1098,1116,1134,1152,1170,1188,1206,1224,1242,1260,1278,1296,1314,1332,1350,1368,1386,1404,1422,1440,1458,1476,1494,1512,1530,1548,1566,1584,1602,1620,1638,1656,1674,1692,1710,1728,1746,1764,1782,1800,1818,1836,1854,1872,1890,1908,1926,1944,1962,1980,1998,2016,2034,2052,2070,2088,2106,2124,2142,2160,2178,2196,2214,2232,2250,2268,2286,2304,2322,2340,2358,2376,2394,2412,2430,2448,2466,2484,2502,2520,2538,2556,2574,2592,2610,2628,2646,2664,2682,2700,2718,2736,2754,2772,2790,2808,2826,2844,2862,2880,2898,2916,2934,2952,2970,2988,3006,3024,3042,3060,3078,3096,3114,3132,3150,3168,3186,3204,3222,3240,3258,3276,3294,3312,3330,3348,3366,3384,3402,3420,3438,3456,3474,3492,3510,3528,3546,3564,3582]' * (pi/1800);

radius=[276,274,278,276,270,268,276,278,272,282,282,280,290,278,276,272,284,280,282,268,280,270,282,274,286,286,270,284,282,284,286,274,276,288,282,286,280,282,288,278,288,286,290,294,296,280,286,294,288,288,288,286,286,290,292,292,306,290,300,302,284,302,292,292,292,294,304,286,286,290,298,310,294,304,306,292,296,300,296,298,300,300,304,312,308,304,308,310,296,300,294,298,294,312,298,294,300,312,306,300,304,306,302,304,308,302,312,300,300,308,304,300,306,292,290,300,302,290,288,298,300,296,298,298,308,312,298,298,296,298,292,298,300,298,284,300,294,288,290,294,284,288,302,292,296,302,298,282,290,288,278,288,280,286,294,284,300,284,298,282,274,280,298,280,278,280,282,272,280,282,278,274,278,280,266,282,284,274,276,274,276,276,288,274,270,274,278,280,274,270,274,280,276,272,276,282,278,284,284,284,284,270,274,266,274,286,282,276,270,286,286,276,282,278,270,270,278,280,276,274,270,276,282,270,280,292,288,276,274,282,280,280,282,286,290,276,286,282,292,284,300,286,290,290,294,286,288,290,290,294,298,290,296,284,282,288,286,294,294,292,294,296,296,300,298,292,296,302,302,296,296,298,300,292,306,296,300,292,286,300,294,298,294,298,312,304,300,294,302,298,298,296,290,300,298,296,302,298,294,300,304,298,308,292,302,300,296,298,300,302,300,294,292,302,298,298,300,294,292,302,296,296,290,302,304,298,304,300,296,298,296,288,298,288,296,298,300,288,296,286,290,288,292,292,298,288,294,286,280,292,288,290,284,282,282,286,286,290,288,288,286,294,290,282,280,280,282,286,278,276,270,272,280,276,276,278,280,274,278,276,276,278,278,286,278,274,280,278,274,272,276,276,266,272,276,272,274,270,274,282,268,264,256,262,264,258,266,258,256,262,256,258,248,270,272,260,264,268,264,262,268,260,260,264,262,260,260,268,272,264,262,258,268,270,268,272,280,266,270,262,278,282,280,268,268,268,280,274,292,286,292,276,290,296,292,286,290,290,290,288,284,290,282,282,278,290,280,290,286,284,284,292,286,290,298,298,310,302,292,298,296,306,292,286,284,274,274,274,276,272,280,274,276,278,280,284,290,280,272,280,286,284,276,272,284,280,274,270,278,280,286,284,286,286,282,282,286,280,290,274,284,272,274,274,266,270,270,276,272,272,266,264,262,278,272,268,274,278,270,278,266,276,274,272,266,278,264,272,258,272,274,266,266,276,272,274,270,276,268,264,266,270,274,270,282,264,272,266,274,284,266,266,278,260,272,270,248,266,260,274,256,254,254,264,272,258,250,266,250,264,262,254,260,256,266,266,262,252,254,258]' * (1/10);

height=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]';

H=length(height)/steps;

alpha2=zeros(H,steps);

radius2=zeros(H,steps);

height2=zeros(H,steps);

g=zeros(H,steps);

alpha3=zeros(H,steps+1);

radius3=zeros(H,steps+1);

height3=zeros(H,steps+1);

p=0.95;

xxi=(0:2*pi/steps:(2*pi-(2*pi/steps)));

for i=1:H

for j=1:steps

alpha2(i,j)=alpha(j+(i-1)*steps,1);

radius2(i,j)=radius(j+(i-1)*steps,1);

height2(i,j)=height(j+(i-1)*steps,1);

end

end

for i=1:1:H

g(i,:)=csaps(alpha2(i,:), radius2(i,:), p, xxi);

end

alpha3(:,steps+1)=alpha2(:,1);

radius3(:,steps+1)=g(:,1);

height3(:,steps+1)=height2(:,1);

for i=1:H

for j=1:steps

alpha3(i,j)=alpha2(i,j);

radius3(i,j)=g(i,j);

height3(i,j)=height2(i,j);

end

end

[x,y,z]=pol2cart(alpha3,radius3,height3);

surf (x,y,z)

hold on

%%fill3(x(size(z,1),:,:), y(size(z,1),:,:),z(size(z,1),:,:),'r');
%%fill3(x(1,:,:), y(1,:,:),z(1,:,:),'k');

surf2stl('test.stl',x,y,z);
 
Private Nachricht senden Benutzer-Profile anzeigen


steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.022
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2023b
     Beitrag Verfasst am: 10.07.2022, 21:50     Titel:
  Antworten mit Zitat      
Hallo,

du kannst dir über
Code:
die Daten des Patches in den Workspace holen und damit weiterarbeiten. Die Patch Properties ermöglichen dir dann Zugriff auf die Daten über z.B.
Code:
p.Faces
% oder
p.Vertices


Ich hoffe, dass hilft dir weiter.

Viele Grüße
Steve
_________________

>> I told me to.

____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

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.