직각좌표계·원통좌표계·구좌표계 변환 공식과 계산방법|CAD·CAM·CMM 설계 실무
수학과 물리학에서 좌표계는 공간 안의 한 점을 숫자로 표현하기 위한 기준입니다.
기계설계와 금형설계에서는 여기서 한 단계 더 나아가 부품 위치·금형 원점·CAM 가공좌표·CNC G54·CMM 검사정렬까지 같은 좌표 개념으로 연결됩니다.
실무에서 형상 자체는 정상인데 CAM 공구경로가 엉뚱한 방향으로 생성되거나, 설계에서는 맞던 홀이 CMM 검사에서 계속 벗어난다면 모델 오류보다 원점과 축 방향을 서로 다르게 해석한 문제일 수도 있습니다.
직각좌표계는 (x, y, z), 원통좌표계는 (r, θ, z), 구좌표계는 이 글의 기준에서 (ρ, θ, φ)로 표현합니다.
좌표계 핵심만 먼저 정리
- 직각좌표 (x, y, z) — X·Y·Z축 방향의 거리
- 원통좌표 (r, θ, z) — Z축에서 떨어진 거리 + XY 회전각 + 높이
- 구좌표 (ρ, θ, φ) — 원점거리 + 방위각 + +Z축 기준 천정각
- MATLAB cart2sph — 천정각 대신 XY평면 기준 고도각을 사용
- 실무 핵심 — 기호보다 원점·축·회전방향·각도단위를 먼저 확인
직각좌표계·원통좌표계·구좌표계 차이
| 좌표계 | 표기 | 주요 변수 | 적합한 형상 |
|---|---|---|---|
| 직각 Cartesian | x, y, z | 축 방향 거리 | 박스·평면·홀 좌표 |
| 원통 Cylindrical | r, θ, z | 반경·방위각·높이 | 샤프트·파이프·회전체 |
| 구 Spherical | ρ, θ, φ | 원점거리·방위각·천정각 | 구·돔·방사패턴 |
좌표계 변환에서 가장 많이 틀리는 θ·φ
좌표계 공식은 짧지만 각도의 정의가 프로그램마다 달라 실무에서 가장 많은 오류를 만듭니다.
이 글에서는 아래 규칙으로 통일합니다.
- r — Z축에서 점까지의 수평거리
- ρ — 원점에서 점까지의 3차원 거리
- θ — XY평면에서 +X축을 기준으로 +Y 방향으로 측정하는 방위각
- φ — +Z축에서 점 P 방향으로 내려오는 천정각
- α — XY평면에서 위·아래로 측정하는 고도각
천정각 φ와 고도각 α 차이
예를 들어 OpenStax에서는 φ를 +Z축에서 측정하는 천정각으로 사용합니다.
반면 MATLAB의 cart2sph는 azimuth·elevation·radius를 반환하며 elevation은 XY평면 기준입니다.
도와 라디안 변환
라디안 = 도 × π ÷ 180 도 = 라디안 × 180 ÷ π
JavaScript의 Math.sin(), Python의 math.sin()처럼 프로그래밍 언어의 삼각함수는 일반적으로 라디안을 입력값으로 사용합니다.
직각좌표계 Cartesian Coordinates
직각좌표계는 서로 수직인 X·Y·Z축을 기준으로 점의 위치를 직접 표시합니다.
P = (x, y, z)
- 기계부품 Hole 위치
- 금형 Plate 가공좌표
- CAD Absolute Coordinate
- CMM 측정점
- CNC 직선 위치
- 3D 그래픽·시뮬레이션
원점에서 점까지 거리
ρ = √(x² + y² + z²)
두 점 사이 거리
d = √[(x₂-x₁)² + (y₂-y₁)² + (z₂-z₁)²]
원통좌표계 Cylindrical Coordinates
원통좌표는 XY평면의 극좌표에 높이 z를 추가한 방식입니다.
P = (r, θ, z)
- r — Z축에서 점까지의 수평거리
- θ — XY평면의 방위각
- z — XY평면에서의 높이
샤프트·파이프·베어링·볼트홀 PCD처럼 중심축을 기준으로 반복되는 형상은 원통좌표로 생각하면 설계 의도를 훨씬 쉽게 표현할 수 있습니다.
구좌표계 Spherical Coordinates
구좌표계는 원점에서 점까지의 거리와 두 개의 각도로 위치를 표현합니다.
P = (ρ, θ, φ)
- ρ — 원점 O에서 P까지 거리
- θ — XY평면의 방위각
- φ — +Z축에서 측정하는 천정각
구·반구·돔·안테나 방사패턴·음향 지향성처럼 한 점을 중심으로 모든 방향으로 퍼지는 문제에서 유용합니다.
구좌표와 오일러각은 다릅니다. 구좌표는 점의 위치를 나타내고 Roll·Pitch·Yaw 같은 오일러각은 물체의 자세 Orientation을 표현합니다.
직각·원통·구좌표계 변환 공식
직각좌표 → 원통좌표
r = √(x² + y²) θ = atan2(y, x) z = z
atan2(y,x)를 사용하는 이유는 x와 y의 부호를 동시에 확인해 사분면까지 구분할 수 있기 때문입니다.
atan(y/x)만 사용하면 x=0에서 문제가 생기고 서로 다른 사분면을 같은 각도로 판단할 수 있습니다.
예제 P(3, 4, 12)
- r = √(3²+4²) = 5
- θ = atan2(4,3) ≈ 53.130°
- z = 12
따라서 (3,4,12) → (5,53.130°,12)입니다.
원통좌표 → 직각좌표
x = r cosθ y = r sinθ z = z
직각좌표 → 구좌표
ρ = √(x² + y² + z²) θ = atan2(y, x) φ = acos(z ÷ ρ) 또는 φ = atan2(√(x²+y²), z)
atan2(r,z) 형태는 r=√(x²+y²)를 이용해 천정각을 계산하는 방법이며 z의 부호까지 자연스럽게 처리할 수 있습니다.
예제 P(3, 4, 12)
- ρ = √(3²+4²+12²) = 13
- θ ≈ 53.130°
- φ = acos(12/13) ≈ 22.620°
따라서 구좌표는 (13, 53.130°, 22.620°)가 됩니다.
구좌표 → 직각좌표
x = ρ sinφ cosθ y = ρ sinφ sinθ z = ρ cosφ
원통좌표 ↔ 구좌표
| 변환 | 공식 |
|---|---|
| 원통 → 구 | ρ = √(r²+z²), θ = θ, φ = atan2(r,z) |
| 구 → 원통 | r = ρsinφ, θ = θ, z = ρcosφ |
직각·원통·구좌표 실시간 변환 계산기
아래 계산기는 직각좌표·원통좌표·천정각 방식 구좌표·MATLAB과 같은 고도각 방식 구좌표를 모두 입력할 수 있습니다.
좌표계를 선택하고 값을 입력하면 직각·원통·구좌표를 동시에 계산합니다.
좌표 변환 결과 검산하는 방법
좌표를 변환한 뒤에는 결과 숫자만 믿지 말고 역변환과 거리 보존을 이용해 검산합니다.
- r = √(x²+y²)
- ρ = √(x²+y²+z²)
- r = ρsinφ
- z = ρcosφ
- φ + α = 90°
- 역변환한 x·y·z가 원래 값과 일치하는지 확인
atan2 방위각이 음수로 나올 때
많은 프로그래밍 환경에서 atan2의 결과는 -180°~180°입니다.
장비가 0°~360° 형식을 사용한다면 음수 각도에 360°를 더합니다.
-45° = 315°
| 사분면 | x | y | θ |
|---|---|---|---|
| 1사분면 | + | + | 0°~90° |
| 2사분면 | – | + | 90°~180° |
| 3사분면 | – | – | -180°~-90° 또는 180°~270° |
| 4사분면 | + | – | -90°~0° 또는 270°~360° |
회전된 좌표계 변환은 부호에 주의
좌표계 변환에서 흔히 혼동하는 것이 점을 회전시키는 것과 좌표축 자체를 회전시키는 것입니다.
점을 +β만큼 회전 Active Rotation
x′ = x cosβ - y sinβ y′ = x sinβ + y cosβ
좌표축을 +β만큼 회전 Passive Rotation
x′ = x cosβ + y sinβ y′ = -x sinβ + y cosβ
두 공식이 서로 부호가 다른 이유는 실제 물체를 움직이는 경우와 같은 점을 새 좌표축에서 다시 표현하는 경우가 서로 반대 변환이기 때문입니다.
3차원에서는 회전행렬과 원점이동 사용
pB = R · pA + t T = [ R11 R12 R13 Tx ] [ R21 R22 R23 Ty ] [ R31 R32 R33 Tz ] [ 0 0 0 1 ]
CAD Assembly Placement, Robot Frame, CMM Alignment, 5축 가공 좌표변환은 이런 회전과 이동 개념을 조합해서 처리합니다.
CAD에서 절대좌표와 작업좌표 구분
3D CAD에는 모델의 고정 기준과 사용자가 현재 작업하기 위한 로컬 좌표계가 함께 존재합니다.
NX에서는 Absolute Coordinate System과 WCS를 구분해서 생각하는 것이 중요합니다.
- 좌표계 이름
- 원점 Origin
- +X·+Y·+Z 방향
- mm·inch 단위
- 회전 방향
- Absolute인지 Local인지
- Revision
NX WCS 설정방법은 UG NX WCS 좌표계 설정에서 확인할 수 있습니다.
Datum·Axis·CSYS 차이는 NX Datum·Axis·CSYS 설정방법을 함께 참고하면 좋습니다.
원주상 Bolt Hole 좌표 계산
PCD 형상은 원통좌표 원리를 적용하면 간단합니다.
반지름 40mm에 Hole 8개를 균등배치한다면 θ는 45° 간격입니다.
| Hole | θ | x=40cosθ | y=40sinθ |
|---|---|---|---|
| 1 | 0° | 40.000 | 0.000 |
| 2 | 45° | 28.284 | 28.284 |
| 3 | 90° | 0.000 | 40.000 |
| 4 | 135° | -28.284 | 28.284 |
| 5 | 180° | -40.000 | 0.000 |
| 6 | 225° | -28.284 | -28.284 |
| 7 | 270° | 0.000 | -40.000 |
| 8 | 315° | 28.284 | -28.284 |
금형·CAM·CNC·CMM 좌표계는 서로 다를 수 있습니다
CAM과 CNC 가공 좌표계
CAM에서 Tool Path가 정상으로 보여도 실제 CNC에서 G54 원점이 다르면 공구는 다른 위치로 움직입니다.
- CAM MCS 원점
- +X·+Y·+Z 방향
- Tool Axis
- G17·G18·G19 작업평면
- G53 Machine Coordinate
- G54·G55 Work Offset
- G20 inch·G21 mm
- Tool Length·Radius Offset
가공 전에는 프로그램을 바로 실행하지 않고 안전높이·Single Block·Air Cut·Feed Override를 이용해 좌표 기준부터 확인하는 것이 좋습니다.
CAM Post Process와 CNC 포스트 프로세서
CMM 검사에서 Datum 좌표계가 중요한 이유
CMM은 점을 매우 정밀하게 측정해도 어떤 Feature를 기준으로 Alignment했는지에 따라 결과가 달라집니다.
- Primary Datum A — 3개 자유도 구속
- Secondary Datum B — 추가 2개 자유도 구속
- Tertiary Datum C — 마지막 1개 자유도 구속
Best-fit은 전체 형상 편차를 평균화하는 데 유용하지만 도면 Datum Reference Frame과 실제 조립기능을 항상 대신하는 것은 아닙니다.
금형설계에서 좌표계를 관리하는 방법
제품 Datum, Mold CSYS, CAM MCS와 CMM Alignment는 목적이 다르기 때문에 꼭 동일할 필요는 없습니다.
문제는 CMM에서 측정한 ΔX·ΔY 값을 금형 좌표계로 변환하지 않고 그대로 Core 수정량으로 적용하는 경우입니다.
두 좌표계 사이에 회전이 존재한다면 CMM에서 X 방향으로 +0.20mm라는 결과가 Mold CSYS에서도 +X 0.20mm라는 뜻은 아닐 수 있습니다.
NX Mold Wizard 금형 기준 좌표계와 CMM 검사 기준
적분과 해석에서 좌표계를 바꾸는 이유
수학·CAE에서는 점의 좌표만 바꾸는 것이 아니라 미소 부피요소도 좌표계에 맞춰 바꿔야 합니다.
| 좌표계 | dV | 적합한 영역 |
|---|---|---|
| 직각 | dx · dy · dz | 박스·평면경계 |
| 원통 | r · dr · dθ · dz | 원기둥·파이프 |
| 구 | ρ²sinφ · dρ · dφ · dθ | 구·반구·방사영역 |
파이프나 회전체의 응력해석도 Cartesian σx·σy·σz보다 방사 Radial·원주 Hoop·축 Axial 성분으로 보면 물리적인 의미를 이해하기 쉬운 경우가 많습니다.
좌표계 선택 기준
| 문제 | 추천 좌표 | 이유 |
|---|---|---|
| 평면·Box | 직각 | X·Y·Z 경계가 단순 |
| Hole 좌표표 | 직각 | 가공·CMM에서 바로 사용 |
| Shaft·Pipe | 원통 | 반경·회전대칭 |
| PCD Hole | 원통 | r 고정 후 θ 반복 |
| 회전체 응력 | 원통 | Radial·Hoop·Axial |
| Sphere·Dome | 구 | 원점거리로 경계 표현 |
| Antenna·Sound | 구 | 방향별 Pattern |
| Assembly Placement | 직각+행렬 | 이동·회전 동시 표현 |
좌표계 변환에서 자주 하는 실수
| 실수 | 문제 | 개선 |
|---|---|---|
| r과 ρ 혼동 | 3D 거리 오류 | r=XY 투영거리, ρ=원점거리 |
| atan 사용 | 사분면 오류 | atan2(y,x) |
| deg·rad 혼용 | 삼각함수 결과 오류 | 입력단위 명시 |
| θ·φ 기호만 전달 | 프로그램별 해석 차이 | 기준축 함께 표기 |
| WCS를 Absolute로 오해 | 좌표표 전체 이동 | CSYS 이름 기록 |
| Active·Passive 회전 혼동 | 회전 부호 반대 | 점 회전인지 축 회전인지 명시 |
| mm·inch 혼동 | 25.4배 위치 오류 | 단위 별도 검증 |
| CMM 편차를 Mold에 그대로 적용 | 수정방향 오류 | 좌표계 회전변환 |
공식 좌표계 참고자료
NX WCS 좌표계 참고영상
아래 영상은 Siemens 공식 영상은 아니지만 NX의 Absolute Coordinate System, Datum CSYS와 WCS 차이를 실제 화면으로 확인하기 위한 참고자료입니다.
영상 : iGETIT by Tata Technologies|How Work Coordinate System WCS Works in NX
디크리노랗 관련글
- UG NX WCS 좌표계 설정
- UG NX Datum·Axis·CSYS 좌표계
- UG NX Import·Export STEP·Parasolid
- NX Mold Wizard 좌표계와 CMM 검사
- CMM 좌표계와 Datum 불일치
- MBD·PMI·JT·STEP과 CMM Alignment
- CAM Post Process와 CNC 좌표계
직각·원통·구좌표계 FAQ
직각좌표계와 데카르트 좌표계는 같은 건가요?
일반적인 2D·3D 공학 문맥에서는 같은 좌표계를 의미하며 영어로 Cartesian Coordinate System이라고 합니다.
원통좌표 r과 구좌표 ρ는 무엇이 다른가요?
r은 Z축에서 떨어진 XY평면의 수평거리이고 ρ는 원점에서 점까지의 3차원 거리입니다. z=0인 경우에만 같은 값이 됩니다.
구좌표의 θ와 φ는 항상 같은 뜻인가요?
아닙니다. 교재와 프로그램마다 θ와 φ를 서로 바꾸어 쓰거나 천정각 대신 고도각을 사용할 수 있습니다. 각도의 시작축과 방향을 반드시 확인해야 합니다.
MATLAB 구좌표가 계산값과 다른 이유는?
MATLAB cart2sph는 azimuth·elevation·radius를 반환합니다. 여기서 elevation은 XY평면 기준이므로 +Z축 천정각을 사용하는 공식과 각도값이 다릅니다.
원점에서는 θ와 φ가 몇 도인가요?
ρ=0인 원점에서는 방향 자체가 하나로 결정되지 않으므로 θ와 φ는 수학적으로 정의되지 않습니다. 프로그램이 편의상 0으로 표시할 수는 있습니다.
atan 대신 atan2를 쓰는 이유는?
atan2는 x와 y의 부호를 함께 이용해 사분면을 판정하고 x=0인 상황도 처리할 수 있어 방위각 계산에 더 적합합니다.
NX에서 WCS를 옮기면 모델이 실제로 이동하나요?
일반적으로 WCS는 작업 기준을 변경하는 개념이며 모델을 절대좌표에서 이동시키는 것과 구분됩니다. 다만 사용한 명령과 출력방식에 따라 참조좌표가 달라질 수 있으므로 좌표값 추출 시 기준 CSYS를 확인합니다.
좌표가 25.4배 차이나면 변환공식 오류인가요?
대부분 mm·inch 단위를 서로 다르게 해석했는지 먼저 확인해야 합니다. 좌표변환과 단위변환은 서로 다른 문제입니다.
CMM Best-fit을 쓰면 좌표계 문제가 해결되나요?
Best-fit은 전체 편차를 평균화하는 데 유용하지만 실제 조립기능과 도면 Datum Reference Frame을 반드시 대신하지는 않습니다.
구좌표와 Roll Pitch Yaw는 같은 개념인가요?
아닙니다. 구좌표는 공간의 점 위치를 나타내고 Roll·Pitch·Yaw는 물체의 회전 자세를 나타냅니다.
좌표계 변환 공식 최종정리
직각좌표는 X·Y·Z 방향의 거리를 직접 표현해 CAD·CAM·CMM에서 가장 널리 사용됩니다.
원통좌표는 샤프트·파이프·원주 Hole처럼 회전축을 중심으로 하는 형상에서 편리하고, 구좌표는 구·돔·방사패턴처럼 한 점을 중심으로 하는 문제에서 유리합니다.
수학적으로 변환할 때는 atan2·각도 정의·도와 라디안·원점 특이점을 확인합니다.
설계 실무에서는 여기에 Absolute CSYS·WCS·Mold CSYS·CAM MCS·G54·CMM Alignment까지 함께 관리해야 합니다.
결국 좌표계 오류를 줄이는 가장 좋은 방법은 좌표 숫자만 전달하는 것이 아니라 좌표계 이름·원점·+X/+Y/+Z 방향·각도 기준·단위·Revision까지 하나의 데이터로 관리하는 것입니다.