Fusee
Fusee copied to clipboard
Missing implementations in Fusee.Math
This is a collection of missing implementations in Fusee.Math. Pls, add to it if you find more. Also all implementations should be cross checked so that Quaternion and QuaternionD implement the same functionallity (which isn't the case).
Missing implementation and tests:
- [x] double3x3
- [ ] double2x2
- [ ] float 2x2
- [x] int2
- [x] int4
- [ ] int2x2
- [ ] int3x3
- [ ] int4x4
Missing just tests:
- [x] AABBd
- [ ] Curve
- [x] int3
Check which FUSEE-Math classes & methods can be implemented using the latest .NET-Core math libraries System.Math and System.Numerics
| Fusee 4X4 | Sys.Num 4x4 | Kommentar |
|---|---|---|
| Add | Add | das Gleiche |
| Subtract | Subtract | das Gleiche |
| Mult | Multiply | Sys.Numerics gleich kann aber auch Skalar |
| IsInvertable | Invert | Sys.Numerics gibt invertierte Matrix aus als boolean auch true oder false/ IsInvertable kommt bei Fusee zwei mal vor 1341 und 1351 |
| Invert | Invert | Sys.Numerics vereint IsInvertable und Invert |
| InvertAffine | kann ich nicht zuordnen/ ich weis nicht was eine affine Inverse ist genauer prüfen | |
| Transpose | Transpose | Sys.Numerics transponiert die Zeilen und Spalten einer Matrix |
| Transform | Transform | Sys.Numerics bietet entweder die Möglichkeit gleichzeitig auch mit Quaternionen zu rotieren oder es ist zwingend notwendig das habe ich nicht genau verstanden |
| TransformPremult | konnte keine entsprechende Methode finden die Vectoren mit Matrizen multipliziert (vermute aber das ergibt sich durch ein Mulitplikationsoperator von alleine) | |
| float3Transform | Decompose | scheint eine Matrix mit einem Vector3 zu skalieren / weitere prüfung nötig |
| float3 TransformPremult | ||
| float3 TransformPerspective | kann ich nicht zuordnen | |
| float4 TransformPerspective | kann ich nicht zuordnen | |
| Rotation und Translation | Decompose | Translation mit Vector3 möglich/ Decompose scheint eine Rotation um Quaternions zu benötigen |
| GetScale | keine Scale funktion gefunden | |
| Round | Keine Rundungsfunktion gefunden | |
| Float3 | Vector3 | Kommentar |
| Add | Add | das Gleiche |
| Subtract | Subtract | das Gleiche |
| Multiply | Multiply | sowohl skalar als auch Vector mit Vector |
| Divide | Divide | sowohl skalar als auch Vector mit Vector |
| ComponentMin | Min | Sys.Numerics gibt den minimierten Vector zurück |
| ComponentMax | Max | Sys.Numerics gibt den maximierten Vector zurück |
| Min/Max | kann sein dass ich da was missverstanden hab | |
| Clamp | Clamp | das Gleiche |
| Normalize /NormalizeFast | Normalize | das Gleiche/was ist der Unterschied zwischen Normalize und NormalizeFast evtl. genauere Prüfung nötig |
| Dot | Dot | das Gleiche |
| Cross | Cross | das Gleiche |
| Lerp | Lerp | das Gleiche |
| Barycentric | kann ich nicht zuordnen oder nicht vorhanden | |
| CalculateAngle | kann ich nicht zuordnen oder nicht vorhanden | |
| Rotate | kann ich nicht zuordnen oder nicht vorhanden | |
| RotateQuaternion | kann ich nicht zuordnen oder nicht vorhanden |
Proposal: Add interfaces which define all needed methods (Add, Subtract, Multiply ect.)