物体绕圆形做圆周运动

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 );
    }
原文地址:https://www.cnblogs.com/chenyi4/p/12482594.html