Hektor PDF 21페이지 수학 재구성

1. 목적

이 문서는 Hektor PDF의 21페이지 부근에 실린 Mathematica 계산 노트를 바탕으로, 아킬레스에 직접 도움이 되는 수학 모델을 재구성한 것이다.

중요:

2. PDF에서 직접 확인되는 사실

2.1 21페이지 캡션

PDF 본문에는 다음 캡션이 있다.

출처:

2.2 수학의 목적

같은 문맥에서 소프트웨어 설명은 아래를 분명히 말한다.

출처:

2.3 최종 리그는 2모터

테스트 이전 설명에서 아래가 직접 확인된다.

출처:

2.4 작품 페이지의 요약

작품 페이지는 최종 기하를 더 간단히 설명한다.

출처:

3. 수식 페이지에서 합리적으로 추론할 수 있는 것

21페이지의 OCR은 상당 부분 깨져 있어서 식을 문자 그대로 읽기는 어렵다. 다만 문맥상 그 페이지가 다루는 핵심은 아래 둘로 보는 것이 가장 자연스럽다.

  1. 2도르래 리그의 기하학
  2. smooth path를 만들기 위한 경로 계산

즉, 아킬레스가 가져와야 하는 최소 수학 모델은 다음과 같다.

3.1 사용자가 제공한 21페이지 이미지에서 읽히는 핵심 식

사용자가 제공한 21페이지 이미지에는 아래와 같은 식이 보인다.

e1 := (x - c)^2 + (y - d)^2 = r^2
e2 := (x0 - c) * (x - c) + (y0 - d) * (y - d) = r^2

이 두 식의 의미는 매우 중요하다.

즉, 이 페이지는 단순한 거리 계산이 아니라 원에 대한 접점(tangent point)을 푸는 수식을 담고 있다고 해석할 수 있다.

3.2 e2의 기하학적 의미

벡터를 쓰면:

그럼 e2는:

가 된다.

여기서 e1로부터 |v| = r이므로, 이 식은 외부 점에서 원에 그은 접선의 접점 조건과 맞아떨어진다.

따라서 21페이지는 2모터 리그의 기본 triangulation뿐 아니라, smooth path를 만들기 위한 원-접선 기반 smoothing geometry도 다루고 있다고 보는 편이 타당하다.

4. 재구성된 2모터 기하학

이 절은 Hektor의 최종 2모터 구조와 작품 설명의 geometric triangulation을 바탕으로 재구성한 것이다.

4.1 기호

4.2 순기구학이 아니라 역으로 쓰는 기본식

헤드 위치가 주어졌을 때 케이블 길이는 유클리드 거리다.

이 식은 2도르래 + 헤드 구조의 가장 기본적인 triangulation 식이다.

4.3 같은 높이의 도르래일 때 좌표 복원

가장 단순한 경우:

그러면 길이에서 좌표를 복원하는 식은 다음처럼 정리된다.

여기서 y는 도르래 아래쪽 해를 선택한다.

4.4 일반 위치의 도르래일 때

두 원의 교점 문제로 보면 된다.

두 식을 빼면 x, y에 대한 선형식 하나가 나온다.

여기서:

이 선형식을 한 원 방정식에 대입하면 최종적으로 헤드 좌표를 구할 수 있다.

즉, Hektorgeometric triangulation은 본질적으로 두 원의 교점 문제다.

4.5 21페이지 식을 단순화한 접점 공식

사용자가 제공한 21페이지 이미지의 e1, e2를 더 읽기 쉬운 닫힌형태로 정리하면 다음과 같다.

외부 점:

원 중심:

상대 좌표:

그리고:

라 두면, 접점 T+, T-는 다음처럼 쓸 수 있다.

이 식은 페이지 21의 긴 CAS 출력보다 훨씬 단순하지만, 같은 기하를 표현한다.

즉, 페이지 21의 긴 식은 외부 점에서 원에 그은 두 개의 접점을 계산하는 식으로 재해석할 수 있다.

5. 21페이지가 암시하는 path-finding의 수학적 의미

캡션이 path finding algorithm that smooths the movements라고 말하므로, 이 페이지의 수학은 단순 좌표 변환만이 아니라 경로를 부드럽게 만드는 일과 연결된다고 보는 게 타당하다.

이걸 아킬레스 관점으로 풀면 다음 절차가 된다.

  1. 목표 드로잉을 헤드의 이상적 경로 P(t)로 표현한다.
  2. P(t)를 충분히 작은 샘플로 나눈다.
  3. 각 샘플을 LL(t), LR(t)로 변환한다.
  4. 두 케이블 길이의 변화가 너무 급격하지 않도록 경로를 수정한다.
  5. 수정된 결과를 다시 헤드 경로로 본다.

즉, 부드러움은 단순히 xy 평면에서만 평가하는 것이 아니라, 좌우 모터 길이 변화의 관점에서도 평가해야 한다.

그리고 사용자 제공 이미지에 따르면, 그 smoothing은 적어도 부분적으로는 아래 연산을 포함할 가능성이 높다.

즉, sharp corner를 그대로 통과하는 대신 tangent-to-circle 구조로 완화했을 가능성이 높다.

6. Hektor 테스트 결과와 연결되는 해석

테스트 파트에는 아래 관찰이 있다.

이건 path-finding이 적어도 아래 요소들을 가졌음을 시사한다.

즉, 단순 IK만으로는 부족하고, 실제로는 geometry와 motion correction이 함께 들어간 알고리즘이었다고 보는 게 맞다.

7. 아킬레스에 바로 반영해야 할 결론

7.1 리그 수학

아킬레스는 이제 확실히 아래를 기본으로 삼아야 한다.

7.2 generator

Generator는 단순히 source path를 변형하는 것을 넘어서, 아래 두 레이어를 분리해야 한다.

7.3 player

Player는 각 세그먼트마다 아래 값을 재생해야 한다.

7.4 smoothness criterion

향후 구현에서 smooth를 평가할 때는 최소한 다음 두 기준이 필요하다.

후자가 바로 21페이지 수학이 주는 핵심 단서일 가능성이 높다.

8. 현재 구현과의 차이

현재 아킬레스 v1 generator는:

하지만 아직 아래는 하지 않는다.

즉, 현재 구현은 Hektor inspired heuristic, 아직은 page-21-derived math model은 아니다.

9. 다음 구현 우선순위

21페이지를 기준으로 다음 단계의 우선순위는 이렇다.

  1. 세그먼트 샘플마다 LL/LR 시계열 계산
  2. deltaLL, deltaLR를 비용 함수로 추가
  3. anchor/loop/bridge 생성 시 circle tangent mathmotor-space smoothness를 반영
  4. offset compensation 규칙 추가

10. 참고 자료