Hilfsvariablen als Membervariablen anlegen?
Verfasst: 28.07.2019, 17:01
Hallo zfx'lör :-)
Ich bin gerade dabei meine Kollisionsabfrage auf Vektorgeometrie umzustellen (2D).
Dabei bin ich auf ein paar Dinge gestossen, bei denen ich nie so recht weiss, wie das jetzt am besten umzusetzen ist.
Grundsätzlich stosse ich immer wieder auf die Situation, in welcher ich in einer Memberfunktion Hilfsvariablen definieren muss.
Da stellt sich mir dann immer die Frage, ob man diese Hilfsvariable gleich als Membervariable anglegen soll.
Ich stelle mir vor, ein Vorteil könnte dabei sein (ich weiss nicht ob das zutrifft), dass so eine Hilfsvariable vom Compiler nicht immer wieder gelöscht und neu angelegt werden müsste.
Z. B. verwendet meine Kreaturen-Klasse für die Berechnung des Tempos (Move Methode) zwei Hilfsvariablen vom Typ vector2d.
Auch wenn diese Vektor-Klasse bis auf zwei Variablen des Datentyps "double" (x und y) nur Methoden besitzt, weiss ich nicht, ob das ins Gewicht fallen kann, wenn diese Klassen-Instanzen bei jedem Schlaufendruchlauf neu angelegt werden müssen.
Auf der anderen Seite könnte ein Nachteil sein, dass sich die Klasse durch solche Hilfsvariablen unnötig aufbläht und man zudem aufpassen muss, dass diese immer wieder sauber "resettet" werden und man nicht versehentlich mit veralteten Werten arbeitet.
Gibt es da vielleicht eine Regel oder Richtlinie?
Zudem stehe ich gerade vor dem Problem, wie ich per Geradengleichung den Schnittpunkt (respektive den Skalierungsfaktor) zweier Vektoren berechnen kann.
Mathematisch ja keine grosse Geschichte, doch wenn ich das Gleichungssystem auflöse, gibt es zwei Situationen, in welchen eine Division durch 0 auftreten kann.
Lässt sich dies vielleicht irgendwie elegant lösen? Mich würde euer Ansatz sehr interessieren.
Gruss starcow
Ich bin gerade dabei meine Kollisionsabfrage auf Vektorgeometrie umzustellen (2D).
Dabei bin ich auf ein paar Dinge gestossen, bei denen ich nie so recht weiss, wie das jetzt am besten umzusetzen ist.
Grundsätzlich stosse ich immer wieder auf die Situation, in welcher ich in einer Memberfunktion Hilfsvariablen definieren muss.
Da stellt sich mir dann immer die Frage, ob man diese Hilfsvariable gleich als Membervariable anglegen soll.
Ich stelle mir vor, ein Vorteil könnte dabei sein (ich weiss nicht ob das zutrifft), dass so eine Hilfsvariable vom Compiler nicht immer wieder gelöscht und neu angelegt werden müsste.
Z. B. verwendet meine Kreaturen-Klasse für die Berechnung des Tempos (Move Methode) zwei Hilfsvariablen vom Typ vector2d.
Auch wenn diese Vektor-Klasse bis auf zwei Variablen des Datentyps "double" (x und y) nur Methoden besitzt, weiss ich nicht, ob das ins Gewicht fallen kann, wenn diese Klassen-Instanzen bei jedem Schlaufendruchlauf neu angelegt werden müssen.
Auf der anderen Seite könnte ein Nachteil sein, dass sich die Klasse durch solche Hilfsvariablen unnötig aufbläht und man zudem aufpassen muss, dass diese immer wieder sauber "resettet" werden und man nicht versehentlich mit veralteten Werten arbeitet.
Gibt es da vielleicht eine Regel oder Richtlinie?
Zudem stehe ich gerade vor dem Problem, wie ich per Geradengleichung den Schnittpunkt (respektive den Skalierungsfaktor) zweier Vektoren berechnen kann.
Mathematisch ja keine grosse Geschichte, doch wenn ich das Gleichungssystem auflöse, gibt es zwei Situationen, in welchen eine Division durch 0 auftreten kann.
Lässt sich dies vielleicht irgendwie elegant lösen? Mich würde euer Ansatz sehr interessieren.
Gruss starcow