2016-07-06 5 views
1

나는까지 좋은 아래 애니메이션은 자바 스크립트를 사용하여 내 웹 사이트에 가야하기 위해 노력하고있어,하지만 난 이런 순서가 필요합니다모듈 패턴처럼 부비동을 얻는 방법

0 1 2 3 4 3 2 1 0 1 2 3 4 ...

그러나 모듈을하는 나는 단지 나에게주는 반복적 인 행동에 대한 사용하는 경향이 :

0 1 2 3 4 0 1 2 3 4 0 1 2 ...

은 어떻게 i++ 변수에서 예를 들어, 원형 패턴을 얻을 수 있습니다.

예를 들어 부비동을 적용 해 보았습니다.

+1

아마 모든 숫자가 정수가되는 것은 원하지 않을 것입니다 ... 그렇지? – Zac

답변

2

은 당신이 원하는 것은 삼각파이다. 이 밖으로 시도 :

var period = 8, 
 
    amplitude = 4; 
 

 
for (var i = 0; i < 50; i++) { 
 
    console.log(
 
    (2 * amplitude/period) * (
 
     Math.abs(((i + period/2) % period) - period/2) 
 
    ) 
 
) 
 
}

만들 수 있다는 원칙에서 이러한 작업을 모두 :

var period = 8, 
 
    amplitude = 4; 
 

 
for (var i = 0; i < 50; i++) { 
 
    console.log(
 
    amplitude * Math.abs(
 
     2*(i/period - Math.floor(i/period + 1/2)) 
 
    ) 
 
) 
 
}
여기

는 나머지 연산자를 사용하는 버전입니다 톱니파의 절대 값을 취하여 삼각파. 처음에는 Math.floor을 사용하여 톱니파를 만들고 두 번째에는 %을 사용합니다.

+0

나는 코멘트에 그냥 고맙다고 말하면 안되지만, 나는 이것을 위해 고마워한다. :). 굉장한 톱니파! –

1

당신은 같은 것을 할 수 있습니다

"use strict" 
 
for (let i=0;i<20;i+=0.25) { // step size 
 
    console.log(
 
    Math.round(//integers only 
 
     Math.abs(//positives 
 
     Math.sin(i)*4 //sin goes from 0 to 1, so if your peak is 4... 
 
    ) 
 
    ) 
 
); 
 
}