thewhiteshadow Geschrieben 4. August 2019 Melden Share Geschrieben 4. August 2019 Hallo, aus Anlass eines Projekts von mir war ich auf der Suche nach einer Implementierung der Vector Klassen mit doubles. Was ich gefunden hab war brauchbar, aber alles Andere als Vollständig. Also hab ich das Projekt kurzerhand geforkt und überarbeitet da das Original-Projekt offenbar nicht mehr gepflegt wird. Insbesondere einen Drawer, der zu den vorhandenen Klassen passt. https://github.com/TheWhiteShadow3/vector3d Falls jemand hier noch eine Verbesserung sieht oder etwas fehlt, darf er gerne bescheid geben oder einen Pull-Request stellen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Sascha Geschrieben 4. August 2019 Melden Share Geschrieben 4. August 2019 Sieht echt gut aus. Das wirklich einzigen Sachen, die ich gerade gesehen habe: Statt der Methode "Rotated" hat Unity bei Vector3 einfach einen Multiplikations-Operator. Da das Paket ansonsten (schönerweise) dasselbe Interface wie Vector3 benutzt, fände ich es ganz gut, wenn das hier auch so wäre. Bei ToString wäre es cool, wenn da ein Hinweis wäre, dass es sich um einen Vector3d und keinen Vector3 handelt. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
thewhiteshadow Geschrieben 6. August 2019 Autor Melden Share Geschrieben 6. August 2019 Danke für das Feedback. Zu 1: Hab ich wirklich versucht, aber dafür müsste ich die quaternion Klasse erweitern, das geht aktuell aber nicht mit Operatoren. Also '*' überladen oder ein cast. Quaternion arbeitet intern oft schon mit double, wenn man sich hier mal den decompilierten code anguckt. Zudem massiv nativ calls. Nachbauen macht da keinen Spaß. Ich könnte höchstens den * für Vector3d überlagern, was mathematisch aber auch nicht korrekt wäre. Die double Vector Klassen sind mMn. auch bei simple Richtungs-Transformation falsch angelegt. Ich benötige sie für eine Schnitt-Punkt Berechnung die bei float zu viel Rundungsfehler erzeugt. zu 2: Hab ich kurz überlegt, aber mir dann gedacht, dass ich beim Debuggen eigentlich meist egal ist, was das für eine Klasse ist, sondern einfach nur die Werte interessieren. Und das wird ja auch bei Vector2 und Vector3 gemacht. Ich hab mich da stark am deren Aussehen gehalten. Auch bei dem Drawer hab ich mich bemüht, dass der exakt gleich ausschaut. Wem es nicht gefällt. Source Code ist frei (public domain). Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
runner78 Geschrieben 10. September 2019 Melden Share Geschrieben 10. September 2019 Unity hat in deren Unity.Mathematics Paket auch unterstützung von double Vektoren "double2", "double3", "double4" Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.