회전 수학 (90도 회전)
📖 개념 설명
90도 시계 방향 회전 공식:
새 X = -기존 Y
새 Y = 기존 X
예시:
원래: (1, 0)
회전: (0, 1) // X=-0, Y=1
테트리스 예시:
Vector2Int rotated = new Vector2Int(-cell.y, cell.x);
🛠️ 실습: 90도 회전 공식 적용하기
목표: (x, y)를 90도 시계 방향 회전한 좌표를 계산해 출력합니다.
이 실습 전용 씬 만들기 (환경 설정)
먼저 이 실습 전용 씬을 만든 뒤 아래 순서로 진행합니다. (자세한 씬 만드는 방법은 개념 실습 테스트 환경 가이드의 씬 만드는 방법 참고.)
이 실습만 할 전용 씬이 없으면 아래 순서로 한 번만 만듭니다. (이미 ConceptTest_Rotation 씬이 있으면 File → Open Scene으로 열고 아래 실습만 이어서 하세요.)
- File → New Scene → Basic (Built-in) 또는 Empty → Create
- File → Save As → 저장 위치: Assets/Scenes → 파일 이름: ConceptTest_Rotation → Save
- 아래 실습은 모두 이 씬에서 진행합니다. (다른 문서로 왔다 갔다 하지 않습니다.)
수행 과정
- Unity에서 새 C# 스크립트 생성
- 이름:
RotationTest
- 이름:
- 다음 코드 작성 ```csharp using UnityEngine;
public class RotationTest : MonoBehaviour { void Start() { // 원래 점 (1, 0) = 오른쪽 int x = 1, y = 0;
// 90도 시계 방향 회전: 새 X = -y, 새 Y = x
int newX = -y;
int newY = x;
Debug.Log($"원래: ({x}, {y}) → 회전 후: ({newX}, {newY})");
// (1, 0) → (0, 1) : 오른쪽이 아래로 회전
// 한 번 더 회전: (0, 1) → (-1, 0)
int newX2 = -newY;
int newY2 = newX;
Debug.Log($"한 번 더 회전: ({newX2}, {newY2})");
} } ```
- 빈 GameObject에 스크립트 추가 후 Play
- Console: “원래: (1, 0) → 회전 후: (0, 1)”
- “한 번 더 회전: (-1, 0)” 확인
- 직접 해보기: (0, 1)을 한 번 회전하면 (-1, 0)이 되는지 손으로 계산한 뒤 코드로 검증해 보세요.