Code wiederholt durchführen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Herzdame2608
User
Beiträge: 62
Registriert: Donnerstag 18. Juni 2020, 12:04

Hallo ihr Lieben,

ich habe folgenden Code:

Code: Alles auswählen

wall = o3d.geometry.PointCloud()
wall.points = o3d.utility.Vector3dVector(results[6][1])

box = wall.get_axis_aligned_bounding_box()
box.color = (1,0,0)

o3d.visualization.draw_geometries([wall, box])
Ich würde gerne diesen Code für alle results[X],[1] durchlaufen lassen, also zuerst für results[0][1], dann results[1][1] usw.

Kann mir jemand dabei helfen?
Vielen Dank schonmal
Sirius3
User
Beiträge: 17711
Registriert: Sonntag 21. Oktober 2012, 17:20

dafür benutzt man eine for-Schleife:

Code: Alles auswählen

for result in results:
    wall = o3d.geometry.PointCloud()
    wall.points = o3d.utility.Vector3dVector(result[1])

    box = wall.get_axis_aligned_bounding_box()
    box.color = (1,0,0)

    o3d.visualization.draw_geometries([wall, box])
Herzdame2608
User
Beiträge: 62
Registriert: Donnerstag 18. Juni 2020, 12:04

Vielen Dank für die schnelle Antwort, das hatte ich schon so versucht, das Problem ist jedoch, dass ich irgendwie nicht alle Variablen der verschiedenen Bounding Boxes abrufen kann, sondern, dass nur eine gespeichert wird. Ich brauche von jeder Box max_bound und min_bound Koordinaten.
Benutzeravatar
sparrow
User
Beiträge: 4164
Registriert: Freitag 17. April 2009, 10:28

Ich verstehe deinen Betrag icht. Was heißt denn "ich [kann] irgendwie icht alle Variablen der verschiedenen Bounding Boxes abrufen"?
Stehen die in der Variablen "box"? Box wird natürlich in der Schleife immer wieder überschrieben. Wenn du die nach der Schleife brauchst, musst du sie in eine entsprechende Datenstruktur passen. Also vielleicht vorher eine Liste definieren und die "box"-Instanzen dort hinein packen.
Antworten