Sha256: 362f756a3bb626030302be875d8889bd83116d4e5872cfcdbb50d32f9fd9925e

Contents?: true

Size: 327 Bytes

Versions: 2

Compression:

Stored size: 327 Bytes

Contents

require 'geom3d/point'
require 'geom3d/vector'

module Geom3d
  class Ray
    attr_reader :start, :dir

    def initialize start, dir
      @start = Point.new(start)
      @dir = Vector.new(dir).norm
    end

    def pos t
      @start + t * @dir
    end

    def to_s
      "Ray(#{@start.to_s},#{@dir.to_s}"
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
geom3d-0.1.1 lib/geom3d/ray.rb
geom3d-0.1.0 lib/geom3d/ray.rb