Español
Experimente

Parametrierte Figuren mittels Superformel

 

p.specht

El sog. Superformel (sh. Youtube) producido en geeigneter Wahl el Parámetro bastante interessante Figuren. Ein erster Intento dazu (Geduld beim Start!):
Título de la ventana "Figuren mittels Superformel erzeugen"
Ventana de Estilo 24:Cls rgb(0,0,0):ShowMax
var xh&=width(%hwnd)\2:var yh&=height(%hwnd)\2:randomize:font 2

Proc Superformel'liefert Radius(phi!,...)

    parámetros phi!,Symmetrie!,Form1!,Form2!,Form3!,xHalbachse!,yHalbachse!
    casenot xHalbachse!*yHalbachse!:volver 0
    var Winkel!=Symmetrie!*phi!*0.25
    'r! = (abs(cos(Winkel!)/xHalbachse!)^Form2!+abs(sin(Winkel!)/yHalbachse!)^Form3!)^(-1/Form1!)
    var co!=cos(Winkel!):var si!=sin(Winkel!)
    var r!=0:caso co!<>0:r!=abs(co!/xHalbachse!)^Form2!
    caso si!<>0:r!=r!+abs(sin(Winkel!)/yHalbachse!)^Form3!
    :if r!>0:r! = r!^(-1/Form1!):más r!=0:endif
    volver r!

ENDPROC

Proc To_xy :parámetros r!,phi!:x!=r!*cos(phi!):y!=r!*sin(phi!):ENDPROC

    Proc rPhi :parámetros x!,y!:r!=sqrt(sqr(x!)+sqr(y!)):phi!=ArcTan4(x!,y!):ENDPROC

        Proc ArcTan4 :parámetros x!,y!:var pi!=3.1415926535897932:var w!=0

            if x!=0:if y!>0:w!=pi!*0.5:elseif y!<0:w!=pi!*1.5:más :w!=0:endif :volver w!:elseif x!>0

                if y!=0:w!=0:volver w!:elseif y!>0:if x!>y!:w!=arctan(y!/x!):más :w!=pi!/2-arctan(x!/y!):endif

                    volver w!:más :if x!<-y!:w!=pi!*1.5+arctan(x!/-y!):más :w!=2*pi!-arctan(-y!/x!):endif :volver w!
                    endif :más :if y!>0:if x!>-y!:w!=pi!/2+arctan(-x!/y!):volver w!:más :w!=pi!-arctan(y!/-x!)
                    volver w!:endif :elseif y!<0:if x!<y!:w!=pi!+arctan(-y!/-x!):más :w!=pi!*1.5-arctan(-x!/-y!)
                    endif :volver w!:más :w!=pi!:volver w!:endif :endif :Imprimir " ArcTan4 ERROR":waitinput 1e5

                ENDPROC

                MAIN:
                var s!=100' Size
                var f!=pi()/180
                Declarar x!,y!,r!,phi!,w!,n&,\
                \
                Symmetrie!,Form1!,Form2!,Form3!,xHalbachse!,yHalbachse! :var Data$=\
                "3 5 18 18 1 1 "+"6 20 7 18 1 1 "+"4 2 4 13 1 1 "+"7 2 4 17 1 1 " +\
                "7 3 6 6 1 1 "+"3 3 14 2 1 1 "+"19 9 14 11 1 1 "+"12 15 20 3 1 1 "+\
                "8 1 1 8 1 1 "+"8 1 5 8 1 1 "+"8 3 4 3 1 1 "+"8 7 8 2 1 1 "+\
                "5 2 6 6 1 1 "+"6 1 1 6 1 1 "+"6 1 7 8 1 1 "+"7 2 8 4 1 1 "+\
                "3 2 8 3 1 1 "+"3 6 6 6 1 1 "+"4 1 7 8 1 1 "+"4 4 7 7 1 1 "+\
                "2 2 2 2 1 1 "+"2 1 1 1 1 1 "+"2 1 4 8 1 1 "+"3 2 5 7 1 1"
                Declarar LSymmetrie!,LForm1!,LForm2!,LForm3!,LxHalbachse!,LyHalbachse!
                Declarar p!,q!,  p1!,p2!,p3!,p4!,p5!,p6!
                Nochmal:

                Whileloop 0,23:n&=&Loop

                    Symmetrie!=val(substr$(Data$,6*n&+1," "))
                    Form1!=val(substr$(Data$,6*n&+2," "))
                    Form2!=val(substr$(Data$,6*n&+3," "))
                    Form3!=val(substr$(Data$,6*n&+4," "))
                    xHalbachse!=val(substr$(Data$,6*n&+5," "))
                    yHalbachse!=val(substr$(Data$,6*n&+6," "))

                    Whileloop 200,0,-2

                        p!=&Loop/200:q!=1-p!
                        p1!=LSymmetrie!*p!+Symmetrie!*q!
                        p2!=LForm1!*p!+Form1!*q!
                        p3!=LForm2!*p!+Form2!*q!
                        p4!=LForm3!*p!+Form3!*q!
                        p5!=LxHalbachse!*p!+xHalbachse!*q!
                        p6!=LyHalbachse!*p!+yHalbachse!*q!
                        phi!=0
                        r!=Superformel(phi!,p1!,p2!,p3!,p4!,p5!,p6!)
                        To_xy(r!,phi!)
                        'cls 0:locate 1,1:imprimir "  ";n&;" - ";&Loop;"  "
                        MCLS %maxx, %maxy, 0'$FFFFFF
                        StartPaint -1
                        Usepen 0,12,rgb(0,255,0)
                        moveto xh&+s!*x!,yh&-s!*y!

                        whileloop 0,360,3 :phi!=f!*&Loop

                            r!=Superformel(phi!,p1!,p2!,p3!,p4!,p5!,p6!)
                            To_xy(r!,phi!):Lineto xh&+s!*x!,yh&-s!*y!

                        endwhile

                        EndPaint
                        MCopyBMP 0, 0 - %maxx,%maxy > 0, 0; 0
                        '  waitinput 42

                    Endwhile

                    LSymmetrie!=Symmetrie!
                    LForm1!=Form1!
                    LForm2!=Form2!
                    LForm3!=Form3!
                    LxHalbachse!=xHalbachse!
                    LyHalbachse!=yHalbachse!
                    waitinput 1000
                    'cls 0

                Endwhile

                beep
                n&=0
                goto "Nochmal"
 
XProfan 11
Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'...
29.05.2021  
 




RudiB.
Ist sí Cool....sieht de como una Virus el después de su idealen Form sucht...hoffentlich schafft él no...
 
Xprofan X4
Rudolf Beske / München

Hardware: NB Intel I9 - 16GByte RAM
30.05.2021  
 



Zum Experiment


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

1.223 Views

Untitledvor 0 min.
Ernst21.07.2021
Uwe ''Pascal'' Niemeier13.06.2021
Thomas Zielinski07.06.2021
Michael W.07.06.2021
Más...

Themeninformationen

Dieses Thema ha 2 subscriber:

RudiB. (1x)
p.specht (1x)


Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie