2017-09-14 3 views
0

Ich versuche, ein Tutorial zu folgen, das in einer mathematischen Programmiersprache geschrieben ist, die ich nicht kenne und versuche, das Tutorial in C# -Code für Unity 3d zu konvertieren.Erstellen einer phillotaktischen Kugel/Hemisphäre mit C#?

Siehe hier: http://blog.wolfram.com/2011/07/28/how-i-made-wine-glasses-from-sunflowers/

float theta = Mathf.PI * (3 - Mathf.Sqrt(5)); 
    for (int i = 0; i < spawnPoints.Length; i++) 
    { 
     float r = (radius/2) * Mathf.Sqrt(i)/Mathf.Sqrt(points); 
     float a = theta * i; 

     Vector3 coords = transform.TransformDirection(new Vector3(Mathf.Cos(a) * r, 0, Mathf.Sin(a) * r))+transform.position; 

     spawnPoints[i] = coords; 
    } 

Dieses wenn natürlich die flache phillotaxic Anordnung in 2d erzeugt. Ich versuche, Y (nach oben) Achse für die Tiefe zu modifizieren (die Kugel zu schaffen).

Ich kann nicht scheinen, die Y (nach oben) Achse richtig im Verhältnis zu i und Radius einzustellen.

In Anbetracht des obigen Tutorials, wie soll ich Y berechnen?

Antwort