From 31751c26b97bab840b87db17d7a9a96b67b52a34 Mon Sep 17 00:00:00 2001 From: "hyojun.choi" Date: Wed, 30 Jul 2025 16:37:42 +0900 Subject: [PATCH] =?UTF-8?q?=EB=AA=A8=EB=93=A0=20=EC=A0=90=EC=9D=B4=20?= =?UTF-8?q?=EA=B0=99=EC=9D=80=20=EC=A7=81=EC=84=A0=EC=83=81=EC=9D=BC=20?= =?UTF-8?q?=EA=B2=BD=EC=9A=B0=20=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/util/qpolygon-utils.js | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/util/qpolygon-utils.js b/src/util/qpolygon-utils.js index 7d234010..482693dc 100644 --- a/src/util/qpolygon-utils.js +++ b/src/util/qpolygon-utils.js @@ -311,8 +311,6 @@ export function removeDuplicatePolygons(polygons, hasAuxiliaryLine = false) { // return isValidPoints(polygon) // }) - console.log('uniquePolygons2', uniquePolygons) - return uniquePolygons } @@ -373,6 +371,14 @@ function checkPolygonSelfIntersection(coordinates) { } } + // 모든 점이 같은 직선상에 있는지 검사 (degenerate polygon) + const allSameX = coordinates.every((point) => point.x === coordinates[0].x) + const allSameY = coordinates.every((point) => point.y === coordinates[0].y) + + if (allSameX || allSameY) { + return true // 직선상의 점들은 유효하지 않은 다각형이므로 true 반환 + } + const intersections = [] const edges = []