2010-04-25 3 views
0

http://raphaeljs.com/을 사용하여 여러 개의 작은 원을 그려 봅니다. 내가 가지고있는 문제는 캔버스의 너비가 고정되어 있고 1000 개의 원을 그려야하는 경우 각 줄의 xy 위치를 지정해야하기 때문에 '새 줄'로 감싸지 않습니다.).JavaScript (SVG 그림) : 위치 x 점의 점의 크기

예. 원하는 항목 :

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

...................... 순간

나는이 일을 해요 :

for (var i = 0; i < 1000; i++) { 
     var multiplier = i*3; 
     if (i <= 50) { 
      paper.circle((2*multiplier),2,2); 
     } else if (i >= 51 && i <= 101) { 
      paper.circle((2*multiplier) - 304,8,2); 
     } else if (i >= 152 && i <= 202) { 
      paper.circle((2*multiplier) - 910,14,2); 
     } 
    } 

참조 : 원 (x 좌표, y 좌표, 반경)

이것은 지저분합니다. 내가 원하는 모든 줄마다 if 문을 추가해야한다. 그것을하는 더 좋은 방법이어야합니다 ..?

답변

0

당신은 modulo을 원합니다.

나는 당신의 경계 상자는 정확히 모르겠지만, 뭔가 같은 : 위대한

var width = 300; 
for (var i = 0; i < 1000; i++) { 
    var multiplier = i*3; 
    var x = 2 * multiplier * i % width; 
    var y = 2 + 6 * (i + 50)/100; 
} 
+0

. 나는 그것이 정확히 어떻게 작동하는지 아직 확신하지 못한다. : – Jack

+0

궁금하다면 Wikipedia 링크가 당신의 질문에 답하는 것 이상의 것이 틀림 없다. :-) – Ken

관련 문제