View Issue Details

IDProjectCategoryView StatusLast Update
0003607NoesisGUIUnity3Dpublic2024-10-25 10:31
ReporterXaron Assigned Tosfernandez  
PrioritynormalSeveritytweakReproducibilityalways
Status resolvedResolutionfixed 
Product Version3.2.3 
Target Version3.2.5Fixed in Version3.2.5 
Summary0003607: Matrix not invertible issue
DescriptionWe're using Noesis 3.2.3 in our quite big Unity project and had exceptions with non invertible matrices.

We needed to change those lines

  public bool HasInverse {
    get { return Math.Abs(Determinant) >= 0.0001f; }
  }

  public void Invert() {
    float determinant = Determinant;
    if (Math.Abs(determinant) < 0.0001f) {
      throw new InvalidOperationException("Matrix is not Invertible");
    }

to

  public bool HasInverse {
    get { return Math.Abs(Determinant) >= float.Epsilon; }
  }

  public void Invert() {
    float determinant = Determinant;
    if (Math.Abs(determinant) < float.Epsilon) {
      throw new InvalidOperationException("Matrix is not Invertible");
    }

Our map needs to invert some close to singular matrices... We're doing matrix transforms from long/lat (world positions) in meters to screen space, which obviously have very large numbers. Works fine, could be change of course.

Do you think that is a change which could make it into the official next version?
TagsNo tags attached.
PlatformAny

Activities

Xaron

Xaron

2024-08-12 11:08

reporter   ~0009866

Forgot to mention: That code is in Matrix.cs
sfernandez

sfernandez

2024-08-12 12:32

manager   ~0009868

Yes, I think it will be safe to change that code.

Issue History

Date Modified Username Field Change
2024-08-12 11:07 Xaron New Issue
2024-08-12 11:08 Xaron Note Added: 0009866
2024-08-12 12:32 sfernandez Assigned To => sfernandez
2024-08-12 12:32 sfernandez Status new => assigned
2024-08-12 12:32 sfernandez Target Version => 3.2.5
2024-08-12 12:32 sfernandez Note Added: 0009868
2024-10-25 10:31 sfernandez Status assigned => resolved
2024-10-25 10:31 sfernandez Resolution open => fixed
2024-10-25 10:31 sfernandez Fixed in Version => 3.2.5