物体绕圆形做圆周运动

1.这是个错误的版本,方案1

下半圆,下半圆只要倒一下。y = -开平方(2*RX - X平方),图上画漏了一个X; 然后运动是有卡顿的,所以我换了一个方案。

代码 x能控制横轴的运动速度

复制代码
 var x = 0,y;
        var r = 200;
        var isBack = false;
        var speed = 0.5;
        function render(){
            if(pivot){
                if(!isBack){
                    x = x + speed;
                    y = Math.sqrt(2*r*x -x*x);
                    if(x == 2*r) isBack = true;
                }
                else{
                    isBack = true;
                    x = x - speed;
                    y = -Math.sqrt(2*r*x -x*x);
                    if(x == 0){
                        isBack = false;
                    }
                }
                mesh.position.x = y;
                mesh.position.y = x;
            }
            renderer.clear();
            renderer.render( scene, camera );
        
复制代码

 

2.方案2,逐渐增加角度,计算,x,y轴的值

复制代码
     var x,y;
        var r = 200;
        var deg = 0;
        var speed = 0.01;
        function render(){
            if(pivot){
                deg = deg + speed;
                x = Math.sin(deg)*r;
                y = Math.cos(deg)*r;
                pivot.position.x = x;
                pivot.position.y = y;
            }
            renderer.clear();
            renderer.render( scene, camera );
    }
复制代码

posted on   chenyi4  阅读(537)  评论(0编辑  收藏  举报

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示