func (physics *Physics) SetAcceleration(force float64, axis Axis) {
	switch axis {
	case X:
		physics.accel.x = force
	case Y:
		physics.accel.y = force
	}
}
SetAcceleration sets the acceleration of the Physics object on the specified
axis.
package paunch
import (
	"math"
)
type physicsPoint struct {
	x, y float64
}
type force struct {
	magnitude physicsPoint
	active    bool
}
type Physics struct {
	Movers []Mover
	accel    physicsPoint
	maxAccel physicsPoint
	minAccel physicsPoint
	friction physicsPoint
	usingMaxAccel map[Axis]bool
	usingMinAccel map[Axis]bool
	forces        map[string]force
}
func NewPhysics() *Physics {
	physics := &Physics{}
	physics.usingMaxAccel = make(map[Axis]bool)
	physics.usingMinAccel = make(map[Axis]bool)
	physics.forces = make(map[string]force)
	return physics
}
func (physics *Physics) AddForce(name string, forceX, forceY float64) {
	physics.forces[name] = force{physicsPoint{forceX, forceY}, false}
}
func (physics *Physics) EnableForce(name string) {
	if _, ok := physics.forces[name]; ok {
		physics.forces[name] = force{physics.forces[name].magnitude, true}
	}
}
func (physics *Physics) DisableForce(name string) {
	if _, ok := physics.forces[name]; ok {
		physics.forces[name] = force{physics.forces[name].magnitude, false}
	}
}
func (physics *Physics) DeleteForce(name string) {
	delete(physics.forces, name)
}
func (physics *Physics) Move(x, y float64) {
	for _, val := range physics.Movers {
		val.Move(x, y)
	}
}
func (physics *Physics) SetPosition(x, y float64) {
	if len(physics.Movers) == 0 {
		return
	}
	xDisp, yDisp := physics.Movers[0].Position()
	xDisp = x - xDisp
	yDisp = y - yDisp
	for _, val := range physics.Movers {
		val.Move(xDisp, yDisp)
	}
}
func (physics *Physics) Position() (x, y float64) {
	if len(physics.Movers) == 0 {
		return 0, 0
	}
	return physics.Movers[0].Position()
}
func (physics *Physics) Acceleration() (float64, float64) {
	return physics.accel.x, physics.accel.y
}
func (physics *Physics) Accelerate(forceX, forceY float64) {
	physics.accel.x += forceX
	physics.accel.y += forceY
}