baseLine수정

This commit is contained in:
Cha 2025-11-02 00:51:49 +09:00
parent fecc4e999a
commit a3d1704390
2 changed files with 21 additions and 8 deletions

View File

@ -287,7 +287,7 @@ export function useMovementSetting(id) {
// 방향 정보를 사용하여 라디오 버튼 상태 업데이트 // 방향 정보를 사용하여 라디오 버튼 상태 업데이트
console.log(`방향: ${direction}, 값: ${value.toNumber()}`) //console.log(`방향: ${direction}, 값: ${value.toNumber()}`)
currentCalculatedValue = value.toNumber() currentCalculatedValue = value.toNumber()
@ -317,7 +317,7 @@ export function useMovementSetting(id) {
//console.log("1111linePosition:::::", result.position); // 'top', 'bottom', 'left', 'right' //console.log("1111linePosition:::::", result.position); // 'top', 'bottom', 'left', 'right'
let linePosition = result.position; let linePosition = result.position;
console.log("1111linePosition:::::", direction, linePosition); //console.log("1111linePosition:::::", direction, linePosition);
if (target.y1 === target.y2) { //수평벽 if (target.y1 === target.y2) { //수평벽
@ -650,8 +650,8 @@ console.log("1111linePosition:::::", direction, linePosition);
debug: true // 디버깅 로그 출력 debug: true // 디버깅 로그 출력
}); });
console.log("2222linePosition:::::", result.position); //console.log("2222linePosition:::::", result.position);
console.log("222moveDirect:::::", roof.moveDirect); //console.log("222moveDirect:::::", roof.moveDirect);
// 디버깅용 분류 결과 확인 // 디버깅용 분류 결과 확인

View File

@ -1989,6 +1989,23 @@ export const getSelectLinePosition = (wall, selectLine, options = {}) => {
const { x1, y1, x2, y2 } = lineCoords; const { x1, y1, x2, y2 } = lineCoords;
console.log('wall.points', wall.baseLines);
for(const line of wall.baseLines) {
console.log('line', line);
const basePoint = extractLineCoords(line);
const { x1: bx1, y1: by1, x2: bx2, y2: by2 } = basePoint;
console.log('x1, y1, x2, y2', bx1, by1, bx2, by2);
// 객체 비교 대신 좌표값 비교
if (Math.abs(bx1 - x1) < 0.1 &&
Math.abs(by1 - y1) < 0.1 &&
Math.abs(bx2 - x2) < 0.1 &&
Math.abs(by2 - y2) < 0.1) {
console.log('basePoint 일치!!!', basePoint);
}
}
// 라인 방향 분석 // 라인 방향 분석
const lineInfo = analyzeLineOrientation(x1, y1, x2, y2, epsilon); const lineInfo = analyzeLineOrientation(x1, y1, x2, y2, epsilon);
@ -2086,10 +2103,6 @@ export const getSelectLinePosition = (wall, selectLine, options = {}) => {
// 점이 다각형 내부에 있는지 확인하는 함수 // 점이 다각형 내부에 있는지 확인하는 함수
const checkPointInPolygon = (point, wall) => { const checkPointInPolygon = (point, wall) => {
// 1. wall의 inPolygon 메서드가 있으면 사용
if (typeof wall.inPolygon === 'function') {
return wall.inPolygon(point);
}
// 2. wall.baseLines를 이용한 Ray Casting Algorithm // 2. wall.baseLines를 이용한 Ray Casting Algorithm
if (!wall.baseLines || !Array.isArray(wall.baseLines)) { if (!wall.baseLines || !Array.isArray(wall.baseLines)) {