Suche Formel für 2d Form



  • Ich kann dir zwar keine Formel dafür geben, aber du kannst es z.B. mit PHP auf folgende Weise darstellen:

    <?
    header ("Content-type: image/png");
    //Bildgrösse x,y in Pixel
    $bild = ImageCreate(1000,1000);
    //Farben festlegen
    //Hintergrundfarbe:
    $hintergrund = imagecolorallocate($bild, 255, 255, 255);
    //Textfarbe:
    $schwarz = imagecolorallocate($bild, 0, 0, 0);
    //Anfangskoordinaten, sinnvollerwise in der Mitte des Bildes
    $x = 500;
    $y = 500;
    //Startanzahl der Pluse
    $n = 0;
    //Hilfsvariable
    $i = 5;
    //Anzahl der Pluse in der ersten Reihe
    $p = 5;
    //Anzahlt der Pluse gesamt
    $anzahl = 1000;
    //Text den wir abbilden wollen, in dem Fall ein Plus
    $text = "+";
    //While Schleife bezogen auf die Anzahl der Pluse gesamt
    while ($n < $anzahl) {
    $m=$i;
    //Zeichnet Pluse horizontal nach links
    while ($i<$m+$p) {
    ImageString($bild, 50, $x, $y, $text, $schwarz);
    $x=$x-10;
    $n++;
    $i++;
    }
    $i=$i-5;
    $m=$i;
    //Zeichnet Pluse vertikal nach oben
    while ($i<$m+$p) {
    ImageStringUp($bild, 50, $x, $y, $text, $schwarz);
    $y=$y-10;
    $n++;
    $i++;
    }
    $p=$p+4;
    $m=$i;
    //Zeichnet Pluse horizontal nach rechts
    while ($i<$m+$p) {
    ImageString($bild, 50, $x, $y, $text, $schwarz);
    $x=$x+10;
    $n++;
    $i++;
    }
    $i=$i-5;
    $m=$i;
    //Zeichnet Pluse horizontal nach unten
    while ($i<$m+$p) { 
    ImageStringUp($bild, 50, $x, $y, $text, $schwarz);
    $y=$y+10;
    $n++;
    $i++;
    }
    $p=$p+4;
    }
    imagepng($bild);
    imagedestroy($bild);
    ?>
    


  • Danke Ihr habt mir sehr geholfen !!!

    Shadow Eater 🙂



  • @ asmodis

    Die Spirale kann sehr wohl geschlossen angegeben werden



  • Das Ding ist aber keine "richtige" Spirale, sondern eine mit Ecken. Und die machen eine geschlossene Form so umständlich.



  • for(float a=0.f;a<PI*6.f;a+=STEPSIZE)
    {
       x=a*cosf(a);
       y=a*sinf(a);
    }
    


  • gargyle schrieb:

    @ asmodis

    Die Spirale kann sehr wohl geschlossen angegeben werden

    Dann gib diese geschlossene Form doch mal für dieses eckige Ding an.



  • Maple:

    plot([(-1)^trunc(x)*trunc(x), (-1)^trunc(x+1/2)*trunc(x+1/2), x=0..10]);
    


  • fubar schrieb:

    Maple:

    plot([(-1)^trunc(x)*trunc(x), (-1)^trunc(x+1/2)*trunc(x+1/2), x=0..10]);
    

    😃
    das nenn ich aber mal geschlossen... 😃



  • Hier mal ein kleiner Code

    t=0..10 (oder so)

    x(t)=tsin(t)+t3sin(3t)+t5sin(5t)+t9sin(9t)+t11sin(11t)+t15sin(15t)x(t)=t*sin(t)+\frac{t}{3}sin(3t) +\frac{t}{5}sin(5t)+\frac{t}{9}sin(9t)+\frac{t}{11}sin(11t)+\frac{t}{15}sin(15t)

    y(t)=tcos(t)y(t)=t*cos(t)

    Dieser LaTex Editor hat Probleme das eine oder andere Darzustellen.

    Wie man sieht ist hier ein Parametriesierung mit t gegeben.
    Bei x(t) handelt es sich um die ersten Glieder einer Reihenendwicklung eines Zyklischen Rechecksignal.
    (Fourier-Reihe)



  • asmodis schrieb:

    😃
    das nenn ich aber mal geschlossen... 😃

    Was genau verstehst du denn unter "geschlossene Darstellung"? 😕



  • Von mir aus sind eure Darstellungen geschlossen, aber mir scheinen sie keine Vereinfachung des ursprünglichen Problems zu sein.

    Ich hab den Fragesteller so verstanden, dass er dieses Eck-Spiral-Muster öfters und nebeneinander oder so darstellen will.

    PS: die Fourierentwicklung wird meines erachtens weit davon entfernt sein etwas eckiges darzustellen (sie konvergiert zwar, aber nur sehr langsam).

    PPS: Ich verstehe unter einer geschlossenen Darstellung eine Parametriesierung der Kurve als eine Funktion ohne Fallunterscheidung. Also eine Abbildung f von |R nach |R^2 mit f(x) = (g(x), h(x)), wobei x in irgendeinem Intervall liegen kann.







  • denk mal in polar koordinaten



  • Ich würde die Darstellung eher nicht als geschlossen werten. Die Klammerfunktion ist ja nunr nicht wirklich ne geschlossene Darstellung. Man versuche die bitte mal ohne Fallunterscheidung aufzuschreiben. 😉

    Es gilt natürlich nicht, alle Fallunterscheidungen in ner Hilfsfunktion zu verstecken:

    plot(FunktionWoGenauXWertVonDerSpiraleMacht(t), FunktionWoGenauYWertVonDerSpiraleMacht(t), t= 0..10);

    Auch das ist natürlich keine geschlossene Darstellung.



  • Jester schrieb:

    Ich würde die Darstellung eher nicht als geschlossen werten. Die Klammerfunktion ist ja nunr nicht wirklich ne geschlossene Darstellung. Man versuche die bitte mal ohne Fallunterscheidung aufzuschreiben. 😉

    float trunc(float t)
    { return (int)t; }
    

    *scnr*



  • CStoll (off) schrieb:

    Jester schrieb:

    Ich würde die Darstellung eher nicht als geschlossen werten. Die Klammerfunktion ist ja nunr nicht wirklich ne geschlossene Darstellung. Man versuche die bitte mal ohne Fallunterscheidung aufzuschreiben. 😉

    float trunc(float t)
    { return (int)t; }
    

    *scnr*

    Um die Zahlen in [0,n] korrekt zu runden brauchst Du, wenn Du keine eingebaute Rundungsoperation hast sogar log(n) Vergleiche. 😮


Anmelden zum Antworten