使用线性代数移动3D作品中摄像机所看方向
scratch吧
全部回复
仅看楼主
level 12
结合[教程向]如何在SC中实现3D效果 用两个小时学了点线性代数的皮毛...能帮我看看这样能实现吗(现在只能更改水平上看的方向,仰俯角还没想到怎么做)
2022年10月29日 08点10分 1
level 12
加上仰俯角会变得更复杂,先验证这个的正确性吧
2022年10月29日 08点10分 2
level 12
(我才初三啊[泪]
2022年10月29日 08点10分 3
level 12
可见几乎正确,少了一个正负号
2022年10月29日 08点10分 4
吧务
level 15
你得分清楚是以摄像机为原点旋转还是以物体为原点旋转。你标题里是前者,4楼图里是后者
另外就是绕两个以上轴旋转时,欧拉角旋转矩阵可能会出问题,建议用四元数
2022年10月29日 10点10分 5
我这里是固定摄像机,其它所有物体围绕着摄像机旋转投射到屏幕上
2022年10月29日 10点10分
@北泽-咲🍥 因此和图4还是有区别的
2022年10月29日 10点10分
现在想解决的问题是,矩阵旋转有3个旋转角,我只想用两个,水平方向上旋转的角度和仰俯角
2022年10月29日 10点10分
@北泽-咲🍥 那你就只用两个呗,三个旋转矩阵是相互独立的
2022年10月29日 10点10分
level 12
2022年10月29日 12点10分 7
@遧傂鼝 我看了半天才看明白第一张图里OA是OA到xOz平面的投影,第二张图OA就是OA。但你图里就是先绕z旋转beta,再绕y轴旋转alpha
2022年10月31日 08点10分
@遧傂鼝 如果原先A在x轴上的话。
2022年10月31日 08点10分
@遧傂鼝 已经完成了
2022年10月31日 12点10分
level 12
@遧傂鼝 如图,旋转的部分已经完成且经过测试没有问题,现在就是感觉那个广为流传的投影代码有问题(最后一行),画线时如果一个端点在摄像机后(显示.z≤0)就会出问题,感觉这个投射的大方向都不好,所以有什么更好的替代吗
2022年11月01日 13点11分 9
z=0的投影无穷大,z<0的投影与z>0投影关于原点对称,所以你只要特判一下z<=0时不显示(因为此时物体位于摄像机后方)
2022年11月01日 23点11分
@遧傂鼝 如果画线呢,一个端点z小于0
2022年11月02日 12点11分
回复 北泽-咲º :那你只能求出解析式,边画边计算
2022年11月02日 12点11分
@遧傂鼝 哼哼哼啊啊啊啊啊
2022年11月02日 14点11分
1