類別 IRB::Vec

屬性

x[R]
y[R]
z[R]

公開類別方法

new(x, y, z) 按一下以切換來源
# File lib/irb/easter-egg.rb, line 6
def initialize(x, y, z)
  @x, @y, @z = x, y, z
end

公開實例方法

cross(other) 按一下以切換來源
# File lib/irb/easter-egg.rb, line 20
def cross(other)
  ox, oy, oz = other.x, other.y, other.z
  Vec.new(@y*oz-@z*oy, @z*ox-@x*oz, @x*oy-@y*ox)
end
dot(other) 按一下以切換來源
# File lib/irb/easter-egg.rb, line 16
def dot(other)
  @x*other.x + @y*other.y + @z*other.z
end
normalize() 按一下以切換來源
# File lib/irb/easter-egg.rb, line 25
def normalize
  r = Math.sqrt(self.dot(self))
  Vec.new(@x / r, @y / r, @z / r)
end
sub(other) 按一下以切換來源
# File lib/irb/easter-egg.rb, line 12
def sub(other)
  Vec.new(@x - other.x, @y - other.y, @z - other.z)
end