     @x *= rs
     @y *= rs
     @z *= rs
-
     return @
 
   norm: ->

        @z = z

  set: (x, y, z) ->
    switch arguments.length
      when 1
        vec = x
        @x = vec.x
        @y = vec.y
        @z = vec.z

      else
        @x = x
        @y = y
        @z = z

    return @


    @x = -@x
    @y = -@y
    @z = -@z
    return @

  add: (vec) ->
    @x += vec.x
    @y += vec.y
    @z += vec.z
    return @

  subtract: (vec) ->
    @x -= vec.x
    @y -= vec.y
    @z -= vec.z
    return @

  multiply: (s) ->
    @x *= s
    @y *= s
    @z *= s
    return @

  divide: (s) ->
