2012-10-18 6 views
1

동적 휨을 사용하여 템플릿 궤적과 일치하지 않는 궤도 세그먼트를 찾습니다.변형 된 탄도를 부드럽게 만드는 방법.

템플릿 궤적 :

  . . . 
     .   . 
    .   . 
    .    . 
.     . . 
        . 

시험 궤적 : 동적 타임 워프를 사용

  . 
      . . 
     .  . 
     .   . 
    .   . 
    .    . 
.     . . 
        . 

, 난 일치하지 않는 다음 사항을 찾아 (별표로 표시)

  * 
      * * 
     .  . 
     .   . 
    .   . 
    .    . 
.     . . 
        . 

이제 내가하는 실수를 확대하고 싶습니다. x를 곱하면됩니다. 실수 (일치하지 않는) 점의 계수를x = x * 1.2로 나타냅니다. y = y * 1.2;

이 나에게 이런 변형 된 궤도 제공 :

  * 
     * * 

    .  . 
    .   . 
    .    . 
.     . 
.     . . 
         . 

을하지만 난 모든 지점이 변경되는 매끄러운 궤도를 원하고 실수 확대. 다음과 같이 입력하십시오 :

  * 
     * * 
    .  . 

    .    . 
    .    . 
.     . 
.     . . 
         . 

어떻게하면됩니까?

추신 : 나는 정말로 가지고있는 문제를 설명하는 간단한 방법을 생각할 수 없었습니다. 어쨌든 당신의 솔루션을 설명한다면 C++을 사용하고 있습니다.

답변

1

시간 = t에서 변위 벡터로 A (t)를 정의하십시오. 각 점에 대한 변위 벡터는 그 위치 벡터 (x, y) - 이전 위치 벡터입니다.

스케일링 된 오차 벡터를 얻기 위해 이들 벡터의 크기를 조정 한 다음 벡터를 함께 추가하여 점으로 이동하십시오. 이것은 오차의 범위 (y 축)뿐만 아니라 도메인 (x 축)을 이동시켜 부드럽게 보일 것입니다.

어떤 용도로 사용 하시겠습니까?

관련 문제