Kugel erstellen ?



  • Hi!

    ICh habe mal gelesen, dass es eine Formel gibt, womit ich eine Kugel erstellen kann. Also ich geb in anzahl der Segemnte, radius.. etc an und die Formel bzw Funktion berechnet mir die Dreieck.

    Cioa



  • x = sin (AnzahlPunkte/360 * Aktueller Punkt) * Radius
    y = cos (AnzahlPunkte/360 * Aktueller Punkt) * Radius
    z = sin (AnzahlPunkte/360 * Aktueller Punkt) * Radius

    beim Z bin ich mir aber nicht so sicher.



  • Bei z und x kommt ja immer der gleiche Wert raus. Kann somit keine Kugel ergeben! :p



  • [java]
    public Ball3d (double radius)
    {
    double alpha;
    double beta;
    points = new float [1836][3];
    for (int i = 0 ; i < 18 ; ++i)
    {
    for (int j = 0 ; j < 36 ; ++j)
    {
    alpha = Math.toRadians (((double)i) * 10.0 + 5.0);
    beta = Math.toRadians (((double)j) * 10.0);
    points [i*36 + j][0] = (float)(radius * Math.sin (alpha) * Math.sin (beta));
    points [i*36 + j][1] = (float)(radius * Math.cos (alpha));
    points [i*36 + j][2] = (float)(radius * Math.sin (alpha) * Math.cos (beta));
    }
    }
    lines = new int [18*36+17*36][2];
    for (int j = 0 ; j < 35 ; ++j)
    {
    for (int i = 0 ; i < 18 ; ++i)
    {
    lines [i*36+j][0] = i*36+j;
    lines [i*36+j][1] = i*36+j+1;
    }
    }
    for (int i = 0 ; i < 18 ; ++i)
    {
    lines [i*36+35][0] = i*36+35;
    lines [i*36+35][1] = i*36;
    }
    for (int j = 0 ; j < 36 ; ++j)
    {
    for (int i = 0 ; i < 17 ; ++i)
    {
    lines [18*36+i*36+j][0] = i
    36+j;
    lines [18*36+i*36+j][1] = (i+1)*36+j;
    }
    }
    }[/code]
    Das ist ein Konstruktor einer Klasse, die ein Drahtgittermodell einer Kugel darstellt. Du kannst dir da bestimmt das benötigte raussuchen!

    EDIT : Sorry! Ich habe gerade gesehen, was du tatsächlich haben willst. Das geht mit dem Code da oben natürlich nicht. Vielleicht postet ja noch jemand anderes Code dazu.

    [ Dieser Beitrag wurde am 21.01.2003 um 21:17 Uhr von Gregor editiert. ]



  • Ich weiß zwar net, ob das sowas ist, was du suchst, aber schau dir mal die folgenden 2 Artikel an:
    Tessellate a sphere with triangles (source)
    Tessellate a sphere with triangles (source) II



  • Hey, Super danke!



  • Wenn du opengl verwendest kannst du dir den Stress sparen, da gibts schon ne Funktion 🙂



  • Unter DirectX kann man sich den Stress auch sparen 🙂
    -> D3DXCreateSphere

    M.T.



  • Headhunter/meian: Ich sehe dabei kein Grund für die Lösung meines Beitrages. 😕 😕 😕

    Also JoJo, falls du zufällig weibliche Brüste rendern willst, meld dich bei mir. Hab einen Algorithmus für die 2D/3D Darstellung. 😃 😃 😃



  • Deine Beiträge waren nicht sonderlich -sagen wir- konstruktiv.
    Außerdem weckt der Name "gerner" nicht bei jedem hier gute Erinnerungen :p

    Also, bitte benehmen 🙂



  • komm macht euch locker, ich respektiere euere gehirnzellen aber mann muss ja nicht immer serious bleiben, darum FUCK THAT!


Anmelden zum Antworten