Ich habe schnell numPy überprüft, aber es sieht so aus, als ob man Arrays als Vektoren benutzt? Ich suche nach einem richtigen Vector3-Typ, den ich instanziieren und bearbeiten kann.Gibt es in Python einen Vector3-Typ?
Antwort
ScientificPython hat eine Vector Klasse. Beispiel:
In [1]: from Scientific.Geometry import Vector
In [2]: v1 = Vector(1, 2, 3)
In [3]: v2 = Vector(0, 8, 2)
In [4]: v1.cross(v2)
Out[4]: Vector(-20.000000,-2.000000,8.000000)
In [5]: v1.normal()
Out[5]: Vector(0.267261,0.534522,0.801784)
In [6]: v2.cross(v1)
Out[6]: Vector(20.000000,2.000000,-8.000000)
In [7]: v1*v2 # dot product
Out[7]: 22.0
Ich glaube nicht, dass es irgendeinen Standard gibt (aber ich könnte falsch liegen, ich bleibe mit Python nicht so dicht dran).
Es ist sehr einfach zu implementieren, und Sie möchten vielleicht auf dem numpy Array als Container für sie trotzdem bauen, die Ihnen viele gute (und effiziente) Bits und Stücke.
Danke, aber wäre ich in der Lage, Instanzmethoden dafür zu schreiben? d. h. der Array-Typ lässt mich dies tun: vector.Unitize() –
Was ist das Besondere an Instanzmethoden? Oder benutzerdefinierte Klassen. Dies ist schließlich Python, nicht Java oder C#. Außerdem glaube ich, dass Simon Ihnen empfiehlt, das numpy-Array zu erweitern, was Ihnen Instanzmethoden geben würde, nein? –
- 1. Gibt es in Python einen "ungleich" Operator?
- 2. Gibt es in Python einen logischen Operator?
- 3. Gibt es in Python einen Mehrfachformat-Bezeichner?
- 4. Gibt es in Python einen GEDCOM-Parser?
- 5. Gibt es einen "Mann" für Python?
- 6. Gibt es einen Metaprogrammierungsmusterkatalog für Python?
- 7. Gibt es Funktionen in Python?
- 8. Gibt es einen unterhaltsamen Reiseführer?
- 9. Warum gibt es einen nicht gleich Operator in Python
- 10. Gibt es einen Timeout-Wert für socket.Gethostbyname (Hostname) in Python?
- 11. Gibt es einen Grund, das Zeichenfolgenmodul in Python zu importieren?
- 12. Gibt es einen guten C++ - Code-Beautifier, geschrieben in Python?
- 13. Gibt es in Julia einen Python-artigen Virtualenv?
- 14. Gibt es einen tragbaren Perl?
- 15. gibt es einen Objektkonstruktor in Rebol
- 16. Gibt es einen Identitätskanal?
- 17. Python - Gibt es Graph Digitizer?
- 18. Gibt es in Python ein veränderbares Binärarray?
- 19. Gibt es einen Vorteil bei der Verwendung einer Python-Klasse?
- 20. Gibt es einen Unterschied zwischen cpython und python
- 21. Gibt es einen Python-Wrapper rund um Cron?
- 22. Gibt es einen neuen/aktualisierten Twill?
- 23. Gibt es einen Paketmanager für Java wie easy_install für Python?
- 24. Python: Gibt es einen XML-Parser als Generator?
- 25. Gibt es einen Python MTA (Mail Transfer Agent)
- 26. Gibt es einen kostenlosen Python-Debugger mit Watchpoints?
- 27. Python: Gibt es einen Nachteil für die Verwendung von Fehlerbehandlung?
- 28. Gibt es eine Python-Sprachspezifikation?
- 29. Gibt es tatsächlich Unionstypen in Python?
- 30. Gibt es Web-Server-Module in Python?
Was möchten Sie tun, dass NumPy-Arrays nicht unterstützen? –
Ich möchte einen dedizierten Typ mit Instanzmethoden. –
Beachten Sie, dass die Verwendung eines separaten Objekts für jeden Vektor potenziell ineffizient sein kann, wenn Sie Tausende von Vektoren gleichzeitig bearbeiten. Matrizen aus Vektoren vermeiden dieses Problem, das auch als Vektorisierung bezeichnet wird. Was wohl eine nützlichere Klasse wäre, ist eine "Vektor" -Klasse, die viele Vektoren speichert und Verfahren für z.B. Normalisieren auf einmal etc. –