Fusee icon indicating copy to clipboard operation
Fusee copied to clipboard

Missing implementations in Fusee.Math

Open ASPePeX opened this issue 6 years ago • 3 comments

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

ASPePeX avatar Jan 29 '20 09:01 ASPePeX

Check which FUSEE-Math classes & methods can be implemented using the latest .NET-Core math libraries System.Math and System.Numerics

griestopf avatar Oct 30 '20 11:10 griestopf

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

Niclas-Cravaack avatar Nov 18 '20 22:11 Niclas-Cravaack

Proposal: Add interfaces which define all needed methods (Add, Subtract, Multiply ect.)

RedImp1470 avatar Aug 25 '21 12:08 RedImp1470