func (vec Vec3) unitVec() Vec3 {
	l := vec.len()
	if l == 0 {
		return vec
	}
	return Vec3{float32(float64(vec[0]) / l), float32(float64(vec[1]) / l), float32(float64(vec[2]) / l)}
}
unitVec returns vec multiplied by 1/vec.Len(), so its new length is 1. If the vector is empty, it is returned as such.
package stl
import (
	"math"
)
type Vec3 [3]float32
var vec3Zero = Vec3{0, 0, 0}
func (vec Vec3) len() float64 {
	return math.Sqrt(float64(vec[0]*vec[0] + vec[1]*vec[1] + vec[2]*vec[2]))
}