KITASENJU DESIGN BLOG

memo, html, javascript, unity

オレオレ 極座標変換

rectangular/polar coord 

    void Update()
    {
        
        var vv = transform.position;

        var amp = vv.magnitude;
        var radX = (-Mathf.Atan2(vv.z,vv.x) + Mathf.PI/2f);
        var radY = Mathf.Asin(vv.y/amp);

        //適当に変える。
        //radX+=offsetX;
        //radY+=offsetY;

        var xx = amp * Mathf.Sin( radX) * Mathf.Cos(radY);
        var yy = amp * Mathf.Sin( radY);
        var zz = amp * Mathf.Cos( radX ) * Mathf.Cos(radY);

        transform.position = new Vector3(xx,yy,zz);

    }
"FOOTER"