球从倾斜表面反弹

时间:2018-01-29 04:15:38

标签: java physics

我正在写一个游戏,其中一个球从玩家绘制的线条反弹。我不确定我应该怎么做碰撞的物理学。我有检测部分,但计算新的反射角度,速度,速度方向(负与正),这些类型的东西对我来说有点混乱。这是我到目前为止碰撞的内容,但它确实无法正常工作

public void calculateCollision(ArrayList<Line> lines) {
    Line line = GroundContact(lines);
    if(line!=null ) {
        System.out.println("Processing Collision");
        double newAngle = 0;
        double oldAngle =velocity.getAngle();
        newAngle = 2*line.getAngle()-velocity.getAngle();
        if(line.getAngle()<0 && velocity.getAngle()>0) {
            newAngle = 180+(2*line.getAngle()-velocity.getAngle());
        }
        velocity.setvX(Math.sqrt(Math.abs((Math.pow(velocity.getSum(), 2))*Math.cos(newAngle*Math.PI/180))));
        velocity.setvY(-0.1*Math.sqrt(Math.abs((Math.pow(velocity.getSum(), 2))*Math.sin(newAngle*Math.PI/180))));

0 个答案:

没有答案