mageo 0.0.3 → 0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/CHANGES +4 -1
- data/Gemfile +7 -6
- data/VERSION +1 -1
- data/lib/mageo/vector3d.rb +8 -0
- data/lib/mageo/vector3dinternal.rb +1 -1
- data/mageo.gemspec +94 -0
- data/test/test_axes.rb +26 -27
- data/test/test_vector3d.rb +10 -0
- metadata +51 -53
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: e458e481b07d168af7f29fe897a0fa5c2c11345f
|
4
|
+
data.tar.gz: d06d0913c058a03240fb93358f65e1030755cca2
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 63da0da7ccbe22eff0fa71d99805df528e124cf6a92b4b8626e593d7c1db72e960c0d6d6c0c7eeafdcecf0cf8afe8327b1bf7aab4b9ffbedb6162ef9e408ea8e
|
7
|
+
data.tar.gz: 2b091abcb8f97c0e0f681d09351f7846988792888aa32b821afb4e89cdc018e5d34e0cf0a4516d0d27a3bfc93fa6828b04d74d25ec408e230747ffe73ae6beb8
|
data/CHANGES
CHANGED
@@ -1,6 +1,9 @@
|
|
1
1
|
= mageo changelog
|
2
2
|
|
3
|
-
== Master (for 0.0.
|
3
|
+
== Master (for 0.0.5)
|
4
|
+
|
5
|
+
== Version (for 0.0.4) [2016-03-11] released
|
6
|
+
* Mageo::Vector3D#midpoint is added
|
4
7
|
|
5
8
|
== Version (for 0.0.3) [2014-08-30] released
|
6
9
|
* Mageo::Vector3D#to_v3di is changed not to need an argument.
|
data/Gemfile
CHANGED
@@ -6,10 +6,11 @@ source "http://rubygems.org"
|
|
6
6
|
# Add dependencies to develop your gem here.
|
7
7
|
# Include everything needed to run rake, tests, features, etc.
|
8
8
|
group :development do
|
9
|
-
gem "
|
10
|
-
gem "
|
11
|
-
gem "
|
12
|
-
gem "
|
13
|
-
gem "
|
14
|
-
gem "
|
9
|
+
gem "test-unit", "~> 3.1"
|
10
|
+
gem "rdoc", "~> 4.2"
|
11
|
+
gem "bundler", "~> 1.11"
|
12
|
+
gem "jeweler", "~> 2.0"
|
13
|
+
gem "simplecov", "~> 0.11"
|
14
|
+
gem "builtinextension", "~> 0.1"
|
15
|
+
gem "malge", "~> 0.0"
|
15
16
|
end
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.4
|
data/lib/mageo/vector3d.rb
CHANGED
@@ -98,6 +98,10 @@ class Mageo::Vector3D < Vector
|
|
98
98
|
self.angle_radian(vec0, vec1) * (180.0 / Math::PI)
|
99
99
|
end
|
100
100
|
|
101
|
+
def self.midpoint(vec1, vec2)
|
102
|
+
(vec1.to_v3d + vec2.to_v3d)/2.0
|
103
|
+
end
|
104
|
+
|
101
105
|
# Instance methods
|
102
106
|
|
103
107
|
def [](index)
|
@@ -236,4 +240,8 @@ class Mageo::Vector3D < Vector
|
|
236
240
|
tmp.rotate_axis!(axis, radian)
|
237
241
|
tmp
|
238
242
|
end
|
243
|
+
|
244
|
+
def midpoint(other)
|
245
|
+
self.class.midpoint(self, other)
|
246
|
+
end
|
239
247
|
end
|
data/mageo.gemspec
ADDED
@@ -0,0 +1,94 @@
|
|
1
|
+
# Generated by jeweler
|
2
|
+
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
+
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
|
+
# -*- encoding: utf-8 -*-
|
5
|
+
# stub: mageo 0.0.4 ruby lib
|
6
|
+
|
7
|
+
Gem::Specification.new do |s|
|
8
|
+
s.name = "mageo"
|
9
|
+
s.version = "0.0.4"
|
10
|
+
|
11
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
12
|
+
s.require_paths = ["lib"]
|
13
|
+
s.authors = ["ippei94da"]
|
14
|
+
s.date = "2016-03-10"
|
15
|
+
s.description = "MAth GEOmetry library to deal with 2 and 3 dimensional spaces.\n Cartesian and internal coordinate systems can be used.\n This includes besic objects in 3 dimensional space.\n "
|
16
|
+
s.email = "ippei94da@gmail.com"
|
17
|
+
s.extra_rdoc_files = [
|
18
|
+
"LICENSE.txt",
|
19
|
+
"README.rdoc"
|
20
|
+
]
|
21
|
+
s.files = [
|
22
|
+
".document",
|
23
|
+
"CHANGES",
|
24
|
+
"Gemfile",
|
25
|
+
"LICENSE.txt",
|
26
|
+
"README.rdoc",
|
27
|
+
"Rakefile",
|
28
|
+
"VERSION",
|
29
|
+
"lib/mageo.rb",
|
30
|
+
"lib/mageo/axes.rb",
|
31
|
+
"lib/mageo/cylinder.rb",
|
32
|
+
"lib/mageo/octahedron.rb",
|
33
|
+
"lib/mageo/polar2d.rb",
|
34
|
+
"lib/mageo/polar3d.rb",
|
35
|
+
"lib/mageo/polyhedron.rb",
|
36
|
+
"lib/mageo/segment.rb",
|
37
|
+
"lib/mageo/sphere.rb",
|
38
|
+
"lib/mageo/tetrahedron.rb",
|
39
|
+
"lib/mageo/triangle.rb",
|
40
|
+
"lib/mageo/vector.rb",
|
41
|
+
"lib/mageo/vector3d.rb",
|
42
|
+
"lib/mageo/vector3dinternal.rb",
|
43
|
+
"mageo.gemspec",
|
44
|
+
"test/helper.rb",
|
45
|
+
"test/test_axes.rb",
|
46
|
+
"test/test_cylinder.rb",
|
47
|
+
"test/test_octahedron.rb",
|
48
|
+
"test/test_polar2d.rb",
|
49
|
+
"test/test_polar3d.rb",
|
50
|
+
"test/test_polyhedron.rb",
|
51
|
+
"test/test_segment.rb",
|
52
|
+
"test/test_sphere.rb",
|
53
|
+
"test/test_tetrahedron.rb",
|
54
|
+
"test/test_triangle.rb",
|
55
|
+
"test/test_vector.rb",
|
56
|
+
"test/test_vector3d.rb",
|
57
|
+
"test/test_vector3dinternal.rb"
|
58
|
+
]
|
59
|
+
s.homepage = "http://github.com/ippei94da/mageo"
|
60
|
+
s.licenses = ["MIT"]
|
61
|
+
s.rubygems_version = "2.5.1"
|
62
|
+
s.summary = "MAth GEOmetry library to deal with 2 and 3 dimensional spaces."
|
63
|
+
|
64
|
+
if s.respond_to? :specification_version then
|
65
|
+
s.specification_version = 4
|
66
|
+
|
67
|
+
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
68
|
+
s.add_development_dependency(%q<test-unit>, ["~> 3.1"])
|
69
|
+
s.add_development_dependency(%q<rdoc>, ["~> 4.2"])
|
70
|
+
s.add_development_dependency(%q<bundler>, ["~> 1.11"])
|
71
|
+
s.add_development_dependency(%q<jeweler>, ["~> 2.0"])
|
72
|
+
s.add_development_dependency(%q<simplecov>, ["~> 0.11"])
|
73
|
+
s.add_development_dependency(%q<builtinextension>, ["~> 0.1"])
|
74
|
+
s.add_development_dependency(%q<malge>, ["~> 0.0"])
|
75
|
+
else
|
76
|
+
s.add_dependency(%q<test-unit>, ["~> 3.1"])
|
77
|
+
s.add_dependency(%q<rdoc>, ["~> 4.2"])
|
78
|
+
s.add_dependency(%q<bundler>, ["~> 1.11"])
|
79
|
+
s.add_dependency(%q<jeweler>, ["~> 2.0"])
|
80
|
+
s.add_dependency(%q<simplecov>, ["~> 0.11"])
|
81
|
+
s.add_dependency(%q<builtinextension>, ["~> 0.1"])
|
82
|
+
s.add_dependency(%q<malge>, ["~> 0.0"])
|
83
|
+
end
|
84
|
+
else
|
85
|
+
s.add_dependency(%q<test-unit>, ["~> 3.1"])
|
86
|
+
s.add_dependency(%q<rdoc>, ["~> 4.2"])
|
87
|
+
s.add_dependency(%q<bundler>, ["~> 1.11"])
|
88
|
+
s.add_dependency(%q<jeweler>, ["~> 2.0"])
|
89
|
+
s.add_dependency(%q<simplecov>, ["~> 0.11"])
|
90
|
+
s.add_dependency(%q<builtinextension>, ["~> 0.1"])
|
91
|
+
s.add_dependency(%q<malge>, ["~> 0.0"])
|
92
|
+
end
|
93
|
+
end
|
94
|
+
|
data/test/test_axes.rb
CHANGED
@@ -150,34 +150,7 @@ class TC_Axes < Test::Unit::TestCase
|
|
150
150
|
assert_in_delta( 0.0, @a35.to_a[2][0], $tolerance )
|
151
151
|
assert_in_delta( 0.0, @a35.to_a[2][1], $tolerance )
|
152
152
|
assert_in_delta( 1.0, @a35.to_a[2][2], $tolerance )
|
153
|
-
end
|
154
153
|
|
155
|
-
def test_paren # []
|
156
|
-
assert_equal( Vector, @a31[0].class )
|
157
|
-
assert_equal( Vector, @a31[1].class )
|
158
|
-
assert_equal( Vector, @a31[2].class )
|
159
|
-
assert_in_delta( 1.0, @a31[0][0], $tolerance )
|
160
|
-
assert_in_delta( 0.0, @a31[0][1], $tolerance )
|
161
|
-
assert_in_delta( 0.0, @a31[0][2], $tolerance )
|
162
|
-
assert_in_delta( 0.0, @a31[1][0], $tolerance )
|
163
|
-
assert_in_delta( 1.0, @a31[1][1], $tolerance )
|
164
|
-
assert_in_delta( 0.0, @a31[1][2], $tolerance )
|
165
|
-
assert_in_delta( 0.0, @a31[2][0], $tolerance )
|
166
|
-
assert_in_delta( 0.0, @a31[2][1], $tolerance )
|
167
|
-
assert_in_delta( 1.0, @a31[2][2], $tolerance )
|
168
|
-
end
|
169
|
-
|
170
|
-
def test_each
|
171
|
-
i = 0
|
172
|
-
@a31.each { |vec|
|
173
|
-
assert_equal( @a31[i], vec )
|
174
|
-
i += 1
|
175
|
-
}
|
176
|
-
|
177
|
-
assert_raise( NoMethodError ) { @a31.map{ |vec| vec * 2.0 } }
|
178
|
-
end
|
179
|
-
|
180
|
-
def test_to_a
|
181
154
|
t = @a10.to_a
|
182
155
|
assert_equal(Array, t.class)
|
183
156
|
assert_equal([[1.0]], t)
|
@@ -204,5 +177,31 @@ class TC_Axes < Test::Unit::TestCase
|
|
204
177
|
assert_equal(Array, t.class)
|
205
178
|
assert_equal( [ [0.5, 0.5, 0.0], [0.5, 0.0, 0.5], [0.0, 0.5, 0.5] ] , t)
|
206
179
|
end
|
180
|
+
|
181
|
+
def test_paren # []
|
182
|
+
assert_equal( Vector, @a31[0].class )
|
183
|
+
assert_equal( Vector, @a31[1].class )
|
184
|
+
assert_equal( Vector, @a31[2].class )
|
185
|
+
assert_in_delta( 1.0, @a31[0][0], $tolerance )
|
186
|
+
assert_in_delta( 0.0, @a31[0][1], $tolerance )
|
187
|
+
assert_in_delta( 0.0, @a31[0][2], $tolerance )
|
188
|
+
assert_in_delta( 0.0, @a31[1][0], $tolerance )
|
189
|
+
assert_in_delta( 1.0, @a31[1][1], $tolerance )
|
190
|
+
assert_in_delta( 0.0, @a31[1][2], $tolerance )
|
191
|
+
assert_in_delta( 0.0, @a31[2][0], $tolerance )
|
192
|
+
assert_in_delta( 0.0, @a31[2][1], $tolerance )
|
193
|
+
assert_in_delta( 1.0, @a31[2][2], $tolerance )
|
194
|
+
end
|
195
|
+
|
196
|
+
def test_each
|
197
|
+
i = 0
|
198
|
+
@a31.each { |vec|
|
199
|
+
assert_equal( @a31[i], vec )
|
200
|
+
i += 1
|
201
|
+
}
|
202
|
+
|
203
|
+
assert_raise( NoMethodError ) { @a31.map{ |vec| vec * 2.0 } }
|
204
|
+
end
|
205
|
+
|
207
206
|
end
|
208
207
|
|
data/test/test_vector3d.rb
CHANGED
@@ -427,5 +427,15 @@ class TC_Vector3D < Test::Unit::TestCase
|
|
427
427
|
assert_in_delta( 0.0, vA.rotate_axis( 2, -0.25*PI )[1], $tolerance )
|
428
428
|
assert_in_delta( 2.0, vA.rotate_axis( 2, -0.25*PI )[2], $tolerance )
|
429
429
|
end
|
430
|
+
|
431
|
+
def test_midpoint
|
432
|
+
assert_equal(Mageo::Vector3D[1.0, 0.0, 0.0], @v00.midpoint(@v01))
|
433
|
+
assert_equal(Mageo::Vector3D[0.5, 0.5, 0.0], @v00.midpoint(@v02))
|
434
|
+
assert_equal(Mageo::Vector3D[0.5, 0.0, 0.5], @v00.midpoint(@v03))
|
435
|
+
|
436
|
+
assert_equal(Mageo::Vector3D[1.0, 0.0, 0.0], Mageo::Vector3D.midpoint(@v00,@v01))
|
437
|
+
assert_equal(Mageo::Vector3D[0.5, 0.5, 0.0], Mageo::Vector3D.midpoint(@v00,@v02))
|
438
|
+
assert_equal(Mageo::Vector3D[0.5, 0.0, 0.5], Mageo::Vector3D.midpoint(@v00,@v03))
|
439
|
+
end
|
430
440
|
end
|
431
441
|
|
metadata
CHANGED
@@ -1,113 +1,114 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mageo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.0.4
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- ippei94da
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2016-03-10 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
|
-
name:
|
14
|
+
name: test-unit
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
|
-
- - ~>
|
17
|
+
- - "~>"
|
20
18
|
- !ruby/object:Gem::Version
|
21
|
-
version: 1
|
19
|
+
version: '3.1'
|
22
20
|
type: :development
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
|
-
- - ~>
|
24
|
+
- - "~>"
|
28
25
|
- !ruby/object:Gem::Version
|
29
|
-
version: 1
|
26
|
+
version: '3.1'
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
|
-
name:
|
28
|
+
name: rdoc
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
|
-
- - ~>
|
31
|
+
- - "~>"
|
36
32
|
- !ruby/object:Gem::Version
|
37
|
-
version: 2
|
33
|
+
version: '4.2'
|
38
34
|
type: :development
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
|
-
- - ~>
|
38
|
+
- - "~>"
|
44
39
|
- !ruby/object:Gem::Version
|
45
|
-
version: 2
|
40
|
+
version: '4.2'
|
46
41
|
- !ruby/object:Gem::Dependency
|
47
|
-
name:
|
42
|
+
name: bundler
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '1.11'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '1.11'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: jeweler
|
48
57
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
58
|
requirements:
|
51
|
-
- - ~>
|
59
|
+
- - "~>"
|
52
60
|
- !ruby/object:Gem::Version
|
53
|
-
version:
|
61
|
+
version: '2.0'
|
54
62
|
type: :development
|
55
63
|
prerelease: false
|
56
64
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
65
|
requirements:
|
59
|
-
- - ~>
|
66
|
+
- - "~>"
|
60
67
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
68
|
+
version: '2.0'
|
62
69
|
- !ruby/object:Gem::Dependency
|
63
70
|
name: simplecov
|
64
71
|
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
72
|
requirements:
|
67
|
-
- - ~>
|
73
|
+
- - "~>"
|
68
74
|
- !ruby/object:Gem::Version
|
69
|
-
version: 0.
|
75
|
+
version: '0.11'
|
70
76
|
type: :development
|
71
77
|
prerelease: false
|
72
78
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
79
|
requirements:
|
75
|
-
- - ~>
|
80
|
+
- - "~>"
|
76
81
|
- !ruby/object:Gem::Version
|
77
|
-
version: 0.
|
82
|
+
version: '0.11'
|
78
83
|
- !ruby/object:Gem::Dependency
|
79
84
|
name: builtinextension
|
80
85
|
requirement: !ruby/object:Gem::Requirement
|
81
|
-
none: false
|
82
86
|
requirements:
|
83
|
-
- - ~>
|
87
|
+
- - "~>"
|
84
88
|
- !ruby/object:Gem::Version
|
85
|
-
version: 0.1
|
89
|
+
version: '0.1'
|
86
90
|
type: :development
|
87
91
|
prerelease: false
|
88
92
|
version_requirements: !ruby/object:Gem::Requirement
|
89
|
-
none: false
|
90
93
|
requirements:
|
91
|
-
- - ~>
|
94
|
+
- - "~>"
|
92
95
|
- !ruby/object:Gem::Version
|
93
|
-
version: 0.1
|
96
|
+
version: '0.1'
|
94
97
|
- !ruby/object:Gem::Dependency
|
95
98
|
name: malge
|
96
99
|
requirement: !ruby/object:Gem::Requirement
|
97
|
-
none: false
|
98
100
|
requirements:
|
99
|
-
- - ~>
|
101
|
+
- - "~>"
|
100
102
|
- !ruby/object:Gem::Version
|
101
|
-
version: 0.0
|
103
|
+
version: '0.0'
|
102
104
|
type: :development
|
103
105
|
prerelease: false
|
104
106
|
version_requirements: !ruby/object:Gem::Requirement
|
105
|
-
none: false
|
106
107
|
requirements:
|
107
|
-
- - ~>
|
108
|
+
- - "~>"
|
108
109
|
- !ruby/object:Gem::Version
|
109
|
-
version: 0.0
|
110
|
-
description:
|
110
|
+
version: '0.0'
|
111
|
+
description: "MAth GEOmetry library to deal with 2 and 3 dimensional spaces.\n Cartesian
|
111
112
|
and internal coordinate systems can be used.\n This includes besic objects in
|
112
113
|
3 dimensional space.\n "
|
113
114
|
email: ippei94da@gmail.com
|
@@ -117,7 +118,7 @@ extra_rdoc_files:
|
|
117
118
|
- LICENSE.txt
|
118
119
|
- README.rdoc
|
119
120
|
files:
|
120
|
-
- .document
|
121
|
+
- ".document"
|
121
122
|
- CHANGES
|
122
123
|
- Gemfile
|
123
124
|
- LICENSE.txt
|
@@ -138,6 +139,7 @@ files:
|
|
138
139
|
- lib/mageo/vector.rb
|
139
140
|
- lib/mageo/vector3d.rb
|
140
141
|
- lib/mageo/vector3dinternal.rb
|
142
|
+
- mageo.gemspec
|
141
143
|
- test/helper.rb
|
142
144
|
- test/test_axes.rb
|
143
145
|
- test/test_cylinder.rb
|
@@ -155,29 +157,25 @@ files:
|
|
155
157
|
homepage: http://github.com/ippei94da/mageo
|
156
158
|
licenses:
|
157
159
|
- MIT
|
160
|
+
metadata: {}
|
158
161
|
post_install_message:
|
159
162
|
rdoc_options: []
|
160
163
|
require_paths:
|
161
164
|
- lib
|
162
165
|
required_ruby_version: !ruby/object:Gem::Requirement
|
163
|
-
none: false
|
164
166
|
requirements:
|
165
|
-
- -
|
167
|
+
- - ">="
|
166
168
|
- !ruby/object:Gem::Version
|
167
169
|
version: '0'
|
168
|
-
segments:
|
169
|
-
- 0
|
170
|
-
hash: 4425879184592684733
|
171
170
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
172
|
-
none: false
|
173
171
|
requirements:
|
174
|
-
- -
|
172
|
+
- - ">="
|
175
173
|
- !ruby/object:Gem::Version
|
176
174
|
version: '0'
|
177
175
|
requirements: []
|
178
176
|
rubyforge_project:
|
179
|
-
rubygems_version:
|
177
|
+
rubygems_version: 2.5.1
|
180
178
|
signing_key:
|
181
|
-
specification_version:
|
179
|
+
specification_version: 4
|
182
180
|
summary: MAth GEOmetry library to deal with 2 and 3 dimensional spaces.
|
183
181
|
test_files: []
|