Ist es gute Idee Angle
& Distance
struct
zu haben, anstatt nur float
oder double
, das um?Ist es gute Idee Winkel & Distanz Struktur oder Klasse haben
Zum Beispiel in C#, kann ich eine Angle
struct machen, es Methoden wie hätte:
angle.Sin();
angle.Cos();
So kann ich, wenn ich Radiant oder 360 Deg bin mit nicht zu denken.
Und für Distance
, Speed
, ... usw. ich die
gleiche tun können, ist es ein gutes Design dieser Klasse und structs zu bauen?
Eine verallgemeinerte Messklasse, in der Sie die Grade verschiedener Arten von Messungen angeben könnten, wäre nützlich (zB Geschwindigkeit wäre Abstand = 1, Zeit = -1, Masse = 0; Beschleunigung wäre Abstand = 1, Zeit = - 2, Masse = 0, da es in etwas wie m/(sec^2) gemessen wird Gibt es eine solche Bibliothek? – ajb
@ajb: es ist eine Verbesserung, aber das Problem verschwindet nicht: "Winkel" ist ein besonderes case, da kann man sagen, man bekommt 'Sin (Angle)', kann aber nicht 'Sin (Mass)'. Im 3D-Raum gibt es ein Problem mit 'Angle' Addition (oder Multiplikation als Gruppentheorie):' A + B! = B + A' usw. In der Geschäftsroutine haben wir Probleme mit 'Währungs'-Arithmetik: Sie können sagen, * Dollar *, aber nicht summieren * Dollar * und * Euro *. –