Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Nodeの行列分解時の負のスケールの限定対応 #1087

Merged
merged 1 commit into from
Jul 1, 2021

Conversation

ousttrue
Copy link
Contributor

@ousttrue ousttrue commented Jul 1, 2021

#1078

行列式が負であるときに、Xミラーであると決め打ちする。
Yミラー、Zミラー、XYZミラーと区別する方法、あるのだろうか?

@ousttrue ousttrue requested a review from Santarh July 1, 2021 06:07
Copy link
Contributor

@Santarh Santarh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

不完全だけど、ないよりはあったほうが良い処理 ✔️

if (Nearly(m, mmm))
{
return (tt, rr, ss);
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

実際に何種類かのベクトルを乗算してみて、それがすべて合致するもの、とかですかね。

new Vector3(1, 1, 1)
new Vector3(1, 1, -1)
new Vector3(1, -1, 1)
new Vector3(1, -1, -1)
new Vector3(-1, 1, 1)
new Vector3(-1, 1, -1)
new Vector3(-1, -1, 1)
new Vector3(-1, -1, -1)

の 2^3 = 8 種類が合致すれば決められるのではないか

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

回転行列の抽出方法を変える必要があるかもしれない

@ousttrue ousttrue merged commit 17c6140 into vrm-c:master Jul 1, 2021
@infosia
Copy link

infosia commented Jul 4, 2021

行列の分解に関してこちらなど一般的な解決ロジックかと思いますが参考にされていますでしょうか。
https://github.com/g-truc/glm/blob/master/glm/gtx/matrix_decompose.inl#L27

こちらなどシンプルな実装で見やすいと思います。
https://github.com/infosia/cgltf/blob/vrm/vrm/glb2vrm/math.inl#L173

@ousttrue
Copy link
Contributor Author

ousttrue commented Sep 9, 2021

Xミラー、Yミラー、Zミラー、XYZミラーの4択のうち、XYZミラーと決め打ちしているぽい。
Xミラー決め打ちの方がヒット率が高いんでないか。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants