발전시뮬레이션 각도계산 수정

This commit is contained in:
hyojun.choi 2025-07-04 14:51:23 +09:00
parent d0b75f27fb
commit 7286ddc97b

View File

@ -807,60 +807,59 @@ export const useTrestle = () => {
const getAzimuth = (parent) => {
const { moduleCompass, surfaceCompass, direction } = parent
if (surfaceCompass) {
if (surfaceCompass > 180) {
return surfaceCompass - 360
}
return surfaceCompass
}
let resultAzimuth = surfaceCompass || moduleCompass
switch (direction) {
case 'south': {
if (moduleCompass < 0) {
return -1 * moduleCompass
} else if (moduleCompass === 0) {
if (resultAzimuth < 0) {
return -1 * resultAzimuth
} else if (resultAzimuth === 0) {
return 0
} else if (moduleCompass < 180) {
return -1 * moduleCompass
} else if (moduleCompass === 180) {
} else if (resultAzimuth < 180) {
return -1 * resultAzimuth
} else if (resultAzimuth === 180) {
return 180
}
}
case 'north': {
if (moduleCompass < 0) {
return -1 * (180 + moduleCompass)
} else if (moduleCompass === 0) {
if (resultAzimuth < 0) {
return -1 * (180 + resultAzimuth)
} else if (resultAzimuth === 0) {
return 180
} else if (moduleCompass < 180) {
return 180 - moduleCompass
} else if (moduleCompass === 180) {
} else if (resultAzimuth < 180) {
return 180 - resultAzimuth
} else if (resultAzimuth === 180) {
return 0
}
}
case 'west': {
if (moduleCompass > -180 && moduleCompass < -90) {
return -180 - (90 + moduleCompass)
} else if (moduleCompass < 0) {
return 180 - (90 + moduleCompass)
} else if (moduleCompass === 0) {
return 90
} else if (moduleCompass < 180) {
return 90 - moduleCompass
} else if (moduleCompass === 180) {
return -90
if (resultAzimuth > -180 && resultAzimuth < 0) {
return -1 * (90 + resultAzimuth)
} else if (resultAzimuth === 0) {
return -180 + (90 - resultAzimuth)
} else if (resultAzimuth < 180) {
if (resultAzimuth > 90) {
return 180 + (90 - resultAzimuth)
}
return -180 + (90 - resultAzimuth)
} else if (resultAzimuth === 180) {
return 180 + (90 - resultAzimuth)
}
}
case 'east': {
if (moduleCompass < 0) {
return -(90 + moduleCompass)
} else if (moduleCompass === 0) {
return -90
} else if (moduleCompass < 90) {
return -180 + (90 - moduleCompass)
} else if (moduleCompass < 180) {
return 180 + (90 - moduleCompass)
} else if (moduleCompass === 180) {
return 90
if (resultAzimuth === 0) {
return 90 - resultAzimuth
} else if (resultAzimuth > 0 && resultAzimuth < 180) {
return 90 - resultAzimuth
} else if (resultAzimuth === 180) {
return 90 - resultAzimuth
} else if (resultAzimuth > -180 && resultAzimuth < 0) {
if (resultAzimuth < -90) {
return -180 - (90 + resultAzimuth)
}
return 180 - (90 + resultAzimuth)
}
}
}