2012-09-04 3 views
2

이전에이 수학 라인 디자인을 본 사람이 있습니까? 그리고 그것을 생성하는 방법에 대한 조언이 있습니까? Java를 사용하는 것이 바람직합니다.자바 : 수학 라인 디자인

enter image description here

+2

사각형의 정점에 4 마리의 개가 같은 속도로 서로 달리기 시작하는 것과 매우 비슷합니다. 여기에있는 각 선은 t 시점의 개가 현재 방향을 나타내는 접선입니다. – Nishant

+0

@Nishant : 확실히 했어, 고마워! =) –

+1

그림을 그리는 알고리즘을 가리키는 http://mathtourist.blogspot.co.uk/2010/06/square-pursuit.html을 참조하십시오. –

답변

1

당신은 외부 스퀘어 (사각형, 쿼드)로 시작합니다. 없는 경우 - 당신이 다음, 버텍스 2를 향해 정점 하나를 이동하는 경우

1) Draw it. 
2) Move each vertex 10 percent of the way towards its neighbor. 
3) repeat starting at #1. 

경미하게 까다로운 부분은 2 3 4 방향, 3 방향, 마지막 일이 정점 일이 어디를 향해 정점 (4)를 이동하는 2 단계에 너는 그것을로 옮겼다. 가장 간단한 방법은 먼저 정점 1을 복사하여 정점 5라고하고 각 정점을 목록의 다음 정점으로 이동하는 것입니다.

10 %는 조정 가능한 매개 변수입니다. 이제, 가중 평균을 사용할 수있는 방법 몇 퍼센트를 이동 : p는 10 %에 0.1

x1 = x1 + (x2-x1)*p 
y1 = y1 + (y2-y1)*p 

.

이렇게하면 새로운 정점이 각각의 경우 두 개의 이전 정점 사이에 그려지는 선 위에 놓이게됩니다. 그것은 사각형뿐만 아니라 모든 쿼드에서 작동합니다. 이것은 스플라인 이해의 시작이기도합니다.