2012-09-29 2 views
1

나는 하나의 와이드 창문에 해안선 프랙탈을 만들고 있는데, 아래에 그려진 첫 번째 것을 만들고 싶습니다. 그러나 어느 x와 y 좌표로 사용할 지 알 수 없습니다. 각도를 90 도가되게하고 화면에 맞춰야합니다. 어떤 코드도 필요하지 않습니다. 사용할 x 좌표와 y 좌표를 파악하는 방법을 원합니다. 감사!해안선 프랙탈 비율

Coastline Fractal

포인트 :
1 점 (0,0.5)
2 점 : (0.25,0.75)
3 점 : (0.75,0)
4 점 (1,0.5)

내 작업() 항상 지저분하고 읽을 수 있지만 : enter image description here


그림에서 첫 번째 점과 마지막 점 모두 y 값이 0.5 인 것처럼 보입니다. 보기 창은 하나이므로 4 부분으로 나눕니다. 각 부분의 길이는 0.25입니다. y = 0.5에 수평선을 그리면 형성되는 삼각형은 이미지에 따라 이등변입니다. 따라서, 여러분은 다음을 풀 수 있습니다 : sin (45) = x/0.5. "x and y coordinates are doubles in between 0 and 1" 다시

+0

이것은 재귀 작업으로 보입니다. 어떤 그래픽 라이브러리를 사용하고 있습니까? 그네? AWT? SWT? 이것은 답변에 영향을 미칠 것입니다. Swing의 경우 드로잉이 발생하는 구성 요소 또는 BufferedImage의 크기를 사용하고 x 및 y를 기본으로 사용하는 것을 고려하십시오. –

+0

각에 관해서는 삼각법 이상입니다. 두 점이 주어지면 코드를 작성하기 전에 먼저 종이로 해결하려고합니다. 각도와 선분을 파악할 수 있습니다.너 어디서 붙어 있니? –

+0

@HovercraftFullOfEels AWT와 Swing을 모두 사용하고 있으며 창 크기는 1입니다. 아래에 게시 할 최적의 x 및 y 좌표를 알아 냈습니다. – faeophyta

답변

0

,

그런 다음 당신은 당신의 모델 (귀하의 프랙탈을 구성하는 점의 집합)과 뷰 (GUI 디스플레이)에서 번역해야합니다. 모델은 0부터 1까지, 0에서 그래픽 창 너비로 이동합니다. 스케일 팩터별로 모델을 곱하는 간단한 선형 변환이 효과적입니다.

0

추상 좌표계를 화면에 매핑하고 싶은 것처럼 보입니다.

임의의 좌표에서 끝 점이 (0, 0)과 (1, 0)이라고 가정 해 봅시다. 이 시스템에서 가장 왼쪽 숫자에 대한 점은 (0, 0), (1/4, sqrt (2)/4), (1/2, 0), (3/4, -sqrt)/4), (1, 0)이다.

다른 다이어그램은 몇 가지 방법으로 계산됩니다. 그것은 당신의 질문이 화면에 맞추는 것에 초점을 맞추고있는 것처럼 들렸습니다. 그래서 계속하겠습니다. 화면에 맞추는 방법도 같습니다.

거기에서 화면 좌표계가 있습니다. 각 점은 화면으로 변환됩니다. 화면 왼쪽 상단에 화면 좌표 (0, 0)가있는 1000x1000 화면이 있다고 가정 해 보겠습니다. 당신은 전체 화면을 차지하려는 경우, 당신은 할 거라고 다음

  • 가 X의 전체 범위를 결정 (+ y는 화면에 다운)은 y 좌표를 뒤집기와 y 당신의 임의의 좌표 (x는 1, sqrt (2)/y는 2)
  • x 값을 1000으로 곱하고 y 값을 2000/sqrt (2)로 곱하면 화면으로 확장됩니다.
  • y 값에서 500을 빼서 이미지를 y 방향으로 가운데에 맞 춥니 다.