BlueQuartzSoftware / BlueQuartzSoftware/DREAM3D

getFZQuat is incorrect for boundary cases in cubic high symmetry

Open
#458 2 comments 0 reactions 0 assignees View on GitHub
Bug
Dominant language
C++
Stars
189
Forks
78
PR merge metrics
No merged PRs in 30d

Description

getFZQuat calles _calcQuatNearestOrigin for cubic high. _calcQuatNearestOrigin tracks only the w component of quaternions but should consider their x, y, and z components in some cases. For example [-0.29756, -0.27070, 0.29756, 0.86582] rotated by [0.5, 0.5, -0.5, 0.5] is [0.29756, 0.29756, -0.27070, 0.86582]. Both the original and rotated quat should return the same value for getFZQuat but instead both return themselves since the identity quat is first on the symmetry operator list. To correct this the axis components should be checked when 2 quats have the same w component. The same applies to _calcRodNearestOrigin.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.