BoundingOrientedBox::CreateFromPoints solver suffers from numeric problems
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 38/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Ferma
- Stack tecnologico
- cpp
- Ambito
- computer-graphics
Direzione di ricerca
Parti da BoundingOrientedBox::CreateFromPoints e dal relativo helper SolveCubic, quindi riproduci il problema di precisione segnalato su matrici simmetriche 3x3 a valori reali. Confronta il comportamento attuale del risolutore cubico con il precondizionamento o il metodo iterativo specializzato suggeriti nell’issue; il lavoro è completato quando tutti e tre gli autovalori vengono calcolati in modo robusto nonostante la precisione di float.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Report from Dave Eberly about problems with the oriented box SolveCubic helper function.
The SolveCubic is called to compute the eigenvalues of a real-valued symmetric 3x3 matrix. Such matrices ALWAYS have 3 real eigenvalues, so SolveCubic is returning a theoretically incorrect result. The problem has to do with the precision of 'float' numbers. The cubic-solver approach can be made more robust by preconditioning the matrix.
Root finding using the closed-form algebraic equations for low-degree polynomials is known to be numerically ill conditioned. It is better to use iterative methods. For 3x3 symmetric matrices, a specialized iterative method can be very fast, extremely accurate, and robust.
- Lingua principale
- C++
- Stelle
- 1.8k
- Fork
- 262
- Merge medio
- 3g 12h
- PR unite (30g)
- 5
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di microsoft/DirectXMath
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 58/100
microsoft/DirectXMath#346 ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 68/100
microsoft/DirectXMath#342 ·
-
enhancement
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
microsoft/DirectXMath#328 ·
-
simplemath
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
microsoft/DirectXMath#327 · 1 commento ·
-
Project feedback Aperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 20/100
microsoft/DirectXMath#326 · 2 commenti ·
Tutte le issue di microsoft/DirectXMath
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
google/libultrahdr#485 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
godotengine/godot#123776 ·
-
bug
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 60/100
-
good first issue
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
-
good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
ros2/common_interfaces#344 ·