[Java] [OpenGL ES3.2] 环绕相机

[Java] [OpenGL ES3.2] 环绕相机,第1张

[Java] [OpenGL ES3.2] 环绕相机 代码
public Camera setOrbit(float angleX,float angleY,float distance) {
        float y = (float)Math.sin(Math.toRadians(angleY)) * distance;
        float h = (float)Math.cos(Math.toRadians(angleY)) * distance;
        
        float x = (float)Math.sin(Math.toRadians(angleX)) * h;
        float z = (float)Math.cos(Math.toRadians(angleX)) * h;
        
        mPosition = new Float3(x,y,z);
        return this;
    }
思路

一开始的时候是x=sin(angleX),y=sin(angleY),z=cos(angleX),发现Y轴的视野上不去,于是改变思路
通过sin和cos求出y以及x,z轴上的斜边h,再分别乘上angleX的sin和cos,得到x,z坐标

p.s.h是BC的值

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5712777.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-17
下一篇2022-12-18

发表评论

登录后才能评论

评论列表(0条)

    保存