Отбрасывание объекта в Scala - PullRequest
0 голосов
/ 20 февраля 2019

Я хочу, чтобы мой код напоминал следующий график, на котором человек бросает объект на землю.График напоминает один объект из множества объектов, которые индивидуум будет отбрасывать в измерении z.Начальная скорость равна 10, а начальное расстояние равно 0. Гравитация равна 9,81.Сейчас мы просто будем использовать этот объект.Скорость должна быть установлена ​​перед локацией.Мой код не возвращает правильный вывод.

Вот мой код Scala

class PhysicsVector(val x: Double, val y: Double, val z: Double){
}


class PhysicalObject(var location: PhysicsVector, var velocity: PhysicsVector){
}

class World(var gravity:Double){
var objects: List[PhysicalObject] = List()
}

object Physics {
def updateWorld(earth: World, deltaTime: Double): Unit = {
    val initial = 10.0
    for (i<-earth.objects){
    val zVelocity = -(initial-(earth.gravity*deltaTime))
    val d = 0
    i.velocity = new PhysicsVector(0.0, 0.0, zVelocity)
    i.location = new PhysicsVector(0.0, 0.0 , d + (zVelocity * deltaTime))
    }
}
}

Вот график с формулой Напомним этот график

1 Ответ

0 голосов
/ 20 февраля 2019

Этот код устанавливает местоположение и скорость в одно и то же значение для каждого объекта и для каждого вызова, потому что все ваши вычисления основаны на константах.Вам необходимо прочитать текущую скорость и местоположение объекта и изменить их.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...