Class: Zadt::Universe
- Inherits:
-
Object
- Object
- Zadt::Universe
- Defined in:
- lib/zadt/AbstractDataTypes/Geometrics/universe.rb
Instance Attribute Summary collapse
-
#objects ⇒ Object
readonly
Returns the value of attribute objects.
-
#points ⇒ Object
readonly
Returns the value of attribute points.
Class Method Summary collapse
Instance Method Summary collapse
- #add_point(coords) ⇒ Object
- #add_sphere(radius, center) ⇒ Object
- #help ⇒ Object
-
#initialize(num_dim = nil) ⇒ Universe
constructor
A new instance of Universe.
Constructor Details
#initialize(num_dim = nil) ⇒ Universe
Returns a new instance of Universe.
8 9 10 11 12 |
# File 'lib/zadt/AbstractDataTypes/Geometrics/universe.rb', line 8 def initialize(num_dim = nil) @num_dim = num_dim @points = [] @objects = [] end |
Instance Attribute Details
#objects ⇒ Object (readonly)
Returns the value of attribute objects.
7 8 9 |
# File 'lib/zadt/AbstractDataTypes/Geometrics/universe.rb', line 7 def objects @objects end |
#points ⇒ Object (readonly)
Returns the value of attribute points.
7 8 9 |
# File 'lib/zadt/AbstractDataTypes/Geometrics/universe.rb', line 7 def points @points end |
Class Method Details
.distance(pointa, pointb) ⇒ Object
22 23 24 25 26 27 28 |
# File 'lib/zadt/AbstractDataTypes/Geometrics/universe.rb', line 22 def self.distance(pointa, pointb) raise "different dimensions" if pointa.dims != pointb.dims coordinate_distances = Array.new pointa.dims.times {|coord| coordinate_distances[coord] = pointa.coords[coord] - pointb.coords[coord]} sum_of_squares = coordinate_distances.inject(0) {|sum, coord| sum += coord ** 2} return Math.sqrt(sum_of_squares) end |
.help ⇒ Object
14 15 16 |
# File 'lib/zadt/AbstractDataTypes/Geometrics/universe.rb', line 14 def self.help Universe. end |
Instance Method Details
#add_point(coords) ⇒ Object
30 31 32 33 34 35 |
# File 'lib/zadt/AbstractDataTypes/Geometrics/universe.rb', line 30 def add_point(coords) point = Point.new(coords) dim_check(point) @points << point point end |
#add_sphere(radius, center) ⇒ Object
37 38 39 40 41 42 |
# File 'lib/zadt/AbstractDataTypes/Geometrics/universe.rb', line 37 def add_sphere(radius, center) sphere = Sphere.new(radius, center) dim_check(sphere.center) @objects << sphere sphere end |
#help ⇒ Object
18 19 20 |
# File 'lib/zadt/AbstractDataTypes/Geometrics/universe.rb', line 18 def help Universe.help end |