xy (2D) 좌표 형식으로 나선 은하를 생성하려고합니다. 그러나 수학은 내 강력한 방식이 아닙니다.XY 좌표를 생성하는 나선형을 설명하는 수식을 반복합니다.
I는 나선에 excellent source로부터 수집 한 다음 :
반경 R (t)와 각 t는 simpliest 나선형 아르키메데스 나선의 비례한다. 따라서 방정식은 다음과 같습니다.
(3) 극지 방정식 : r (t) = [a는 상수입니다. X (t) = COS (t)에서, Y (t)의 죄에 (t)
(1) 중앙 식 =이 가입일
는
(2) 파라미터의 형태를 다음 x² + y² = a²를 [ 아크 탄 (y/x)] ².
This question 은하 세대에 감동의 종류,하지만 응답은 흩어져 아직도 내가 (일명, 내 수학 바보 같은 마음을 이해할 수 없다) 필요에 지나치게 복잡.
본질적으로, 내가해야 할 일은 PHP로 구성된 나선형 수식을 반복하여 ~ 5000 번 실행하여 513x513 XY 그리드에 점을 생성하는 것입니다. 그리드의 크기와 필요한 포인트 수는 앞으로 변경 될 수 있습니다. 은하계가 실제로 어떻게 보이는지와 유사하게 주파수와 둘 다 정확한 수학 공식으로부터 벗어날 수있는 나선형의 기원을 향한 이러한 점을 더 잘 평가하는 것이 더 낫습니다.
이 수학 논문은 a formula that describes the structure of spiral galaxies에 대해 이야기합니다.
나를 완전히 잃는 것은 수학 공식을 PHP로 반복 할 수있는 방법으로 변환하는 것입니다! 이 같은 파라미터 방정식을 만나면
감사합니다. Chris. 이것은 정확히 파라 메트릭 방정식을 반복하면서 내 질문에 대답했다. 내 다음 과제는 이산 그리드를 준수하도록 수식을 조정하는 것인데, 확실하지 않습니다. – Nick
x (t)의 최대 값은 사용자가 나선형을 중심으로한다고 가정 할 때 그리드 너비의 절반을 초과 할 수 없습니다. 그래서,'a'의 값은 <='gridWidth/(upperBoundOf $ t * 2)'일 필요가 있습니다. 선택한 범위에 따라 나선 수를 결정합니다. 예를 들어, t가 0에서 2PI로 이동하면 하나의 루프를 형성합니다. 0에서 50은 거의 8 루프입니다. 그래서 t를 변수로 남겨 두어야하며 적당한 값을 선택할 수 있습니다 (아무도 알고 있지만 원하는 루프의 수는 얼마인지 알 수 있습니다). for 루프의 스텝 사이즈는'rangeOf $ t/numDesiredPointsToDraw'에 의해 결정됩니다. – goat