如何解决MathUtils.euclideanModulo的用途是什么,它与常规模有什么不同?
我对threejs中mathutils的euclideanModulo方法有些困惑。 我已经知道模符号的作用,但是euclideanModulo看起来完全不同。
( ( n % m ) + m ) % m
我尝试查找欧几里得语的语义,但只说了这一点:
关于或表示基于 欧几里得与普通几何体相对应。
有人可以解释吗?我在任何地方都找不到进一步的解释?
解决方法
使用负数时会出现一个有据可查的Javascript模错误。您可以将x % 4
视为一个数字轮:
- 当x从0变为正数时,结果为:
0,1,2,3,...
。 - 当x从0变为负数时,结果为:
0,...
但是在JavaScript中,当您执行-5 % 4
时会得到-1
,这不是正确的答案。它甚至不在可能的答案列表中。怎么可能有负的余数?答案应该是3
。这是正确答案与错误Javascript答案的列表:
1 % 4 = 1 // JS gives you 1
0 % 4 = 0 // JS gives you 0
-1 % 4 = 3 // JS gives you -1
-2 % 4 = 2 // JS gives you -2
-3 % 4 = 1 // JS gives you -3
-4 % 4 = 0 // JS gives you -0
-5 % 4 = 3 // JS gives you -1
为使您的生活更轻松,Three.js为您提供了一个实用程序,可以获取正确的答案来规避此JavaScript错误。 THREE.MathUtils.euclideanModulo(-5,4)
为您提供正确的答案3
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。