| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- package main
- import (
- "fmt"
- "time"
- )
- // Calculate the velocity (force/mass)
- func calcVelocity(m int64, f int64) float64 {
- //fmt.Println(float64(f) / float64(m))
- acceleration := float64(f) / float64(m)
- return acceleration
- }
- func main() {
- // Block center (in mm)
- var x int64
- var y int64
- var z int64
- // Velocity (mm/s)
- var v float64
- // Block mass (in kg)
- var mass int64
- // Force (Newton)
- //var force int
- // Initialize values
- x = 0
- y = 0
- z = 0
- v = 0
- mass = 24
- //force = 10
- // Array of force applied
- force := []int{0, -1, -1, -2, -1, -1, 0, 0, 0, 0, 0}
- for i, f := range force {
- fmt.Printf("Gonna divide %d by %d\n", f, mass)
- v = v + calcVelocity(mass, int64(f))
- fmt.Printf("Frame %d: velocity: %f (m/s)\n", i, v)
- x = x + int64(v*1000)
- fmt.Printf(" Pos: %d x %d x %d\n", x, y, z)
- time.Sleep(1 * time.Second)
- }
- }
|