我确信在我的three.js基础知识中有一些简单而又缺失的东西.
我总是看着用户的鼠标光标.我有它的工作基于先生的帖子.doob,但我不确定为什么/它如何工作.有人可以向我解释将屏幕坐标转换为场景空间位置背后的数学.以下是我的工作示例.我理解标准化鼠标位置,但为什么我们(*2-1)和 - (*2 + 1)?
window.addEventListener('mousemove', function(e){
var mouse3D = new THREE.Vector3(
( event.clientX / window.innerWidth ) * 2 - 1,
- ( event.clientY / window.innerHeight ) * 2 + 1,
0.5 );
pupil.lookAt(mouse3D);
})
Run Code Online (Sandbox Code Playgroud)
TIA为您解释!对此,我真的非常感激.
嘿,非常感谢你的时间!我无法理解音频编码教科书中语句的语法.在一个示例中,存在如下的打印功能
printf("%d semitones up or %d semitones down\n", interval,
interval ? 12-interval : 0 );
Run Code Online (Sandbox Code Playgroud)
我不理解的部分是条件运算符,或"?".看起来我应该把它读作"如果间隔不等于0,间隔= 12 - 间隔",但这里的语法似乎很奇怪.我习惯于条件运算符是一个更加充实的语句,如:
a = b > c ? b : c;
Run Code Online (Sandbox Code Playgroud)
"如果b大于c,则a = b;否则a = c"
有人可以指出我的任何其他参考,或解释更多关于这种语法?我找不到类似的例子.