Probleme mit Koordinatencheck
Verfasst: Donnerstag 20. März 2008, 11:42
Ich versuche das ganze mal vereinfacht zu beschreiben. Ich habe als Vorgabe Objekte, welche aus beliebig vielen Punkten bestehen können und ich habe über eine Selektionsmenge beliebig viele Punkte ausgewählt.
Das Ziel besteht darin eine Prüfung zu implementieren die folgendes macht:
- die Punkte aus der Selektionsmenge sollen in x,y,z auf Übereinstimmung aller Punkte der Objekte überprüft werden
- bei Übereinstimmung in mind. 3 Punkten in x,y,z gilt das Objekt als identifiziert
meine Idee war zunächst die Selektionspunkte in x,y,z Form in eine Liste zu schreiben. Der Name der Punkte usw. spielt an dieser Stelle keine Rolle.
die Objektmenge ist durch op beschrieben und die einzelnen Koordinaten bekommt man durch (op_x = X-Koordinaten aller A-Koordinaten der X-ten Punkte der Objektmenge):
wobei durch A - x,y,z angegeben werden und durch X der x-te Punkt der Objektes. Die Anzahl der Punkte eines Objektes ist zwar definiert aber nicht direkt abzufragen. Stattdessen wird 'None' zurückgeliefert wenn es der X-ten Punkt nicht gibt.
indentified_point_ ist ein ziemlich unpassendes Schlüsselwort, kann aber nicht geändert werden, also nicht davon irritieren lassen.
Und genau da liegt mein Problem ich habe keinen Plan wie ich a) einen effektiven Objektpunktgenerator baue und b) wie ich eine Möglichst lineare Prüfung hinbekomme da es sich um große Datenmengen handeln kann. Ich hoffe da blickt jemand durch.
MfG
Das Ziel besteht darin eine Prüfung zu implementieren die folgendes macht:
- die Punkte aus der Selektionsmenge sollen in x,y,z auf Übereinstimmung aller Punkte der Objekte überprüft werden
- bei Übereinstimmung in mind. 3 Punkten in x,y,z gilt das Objekt als identifiziert
meine Idee war zunächst die Selektionspunkte in x,y,z Form in eine Liste zu schreiben. Der Name der Punkte usw. spielt an dieser Stelle keine Rolle.
Code: Alles auswählen
sel_menge = [[p.get('x'), p.get('y'), p.get('z')] for p in sel_points]
Code: Alles auswählen
op_Ax= [opoint.get('indentified_point_%s'%A, X) for opoint in op]
indentified_point_ ist ein ziemlich unpassendes Schlüsselwort, kann aber nicht geändert werden, also nicht davon irritieren lassen.
Und genau da liegt mein Problem ich habe keinen Plan wie ich a) einen effektiven Objektpunktgenerator baue und b) wie ich eine Möglichst lineare Prüfung hinbekomme da es sich um große Datenmengen handeln kann. Ich hoffe da blickt jemand durch.
MfG