arr = [Geometry::Point.new(1.6, 1.0), Geometry::Point.new(1.6, 2.0),
Geometry::Point.new(1.2, 2.0), Geometry::Point.new(1.2, 1.0)]
point = Geometry::Point.new(1.5, 1.5)
result = Geometry::Polygon.new(arr).contains?(point)
Result = true. It's ok. But:
arr = [Geometry::Point.new(1.6, 1.0), Geometry::Point.new(1.6, 2.0),
Geometry::Point.new(1.2, 2.0), Geometry::Point.new(1.2, 1.0)]
point = Geometry::Point.new(1.5, 1.5)
result = Geometry::Polygon.new(arr).contains?(point)
(0..100).each{result &&= Geometry::Polygon.new(arr).contains?(point)}
result = false
arr = [Geometry::Point.new(1.6, 1.0), Geometry::Point.new(1.6, 2.0), Geometry::Point.new(1.2, 2.0), Geometry::Point.new(1.2, 1.0)] point = Geometry::Point.new(1.5, 1.5) result = Geometry::Polygon.new(arr).contains?(point)Result = true. It's ok. But:
arr = [Geometry::Point.new(1.6, 1.0), Geometry::Point.new(1.6, 2.0), Geometry::Point.new(1.2, 2.0), Geometry::Point.new(1.2, 1.0)] point = Geometry::Point.new(1.5, 1.5) result = Geometry::Polygon.new(arr).contains?(point) (0..100).each{result &&= Geometry::Polygon.new(arr).contains?(point)}result = false