2016-06-10 3 views
0

왜 RethinkDB 쿼리RethinkDB Polygon.includes

r.polygon(r.point(0,0), r.point(0,10), r.point(10,10), r.point(10,0)).includes(r.point(10,10)) 

반환 사실이 쿼리

r.polygon(r.point(0,0), r.point(0,10), r.point(10,10), r.point(10,0)).includes(r.point(10,9)) 

반환 거짓?

답변

1

이것은 값 자체 또는 교차 알고리즘에서 부동 소수점 반올림 이슈 일 가능성이 큽니다. 일반적으로 교점과 흠도는 폴리곤 외부 선의 점에 대해서는 잘 정의되어 있지 않습니다. 제한된 정밀도의 부동 소수점 수에 대해 동등 비교를 사용하는 것과 같습니다.

점의 경도를 10보다 작은 숫자로 대체하면 안정적인 결과를 얻게됩니다.