Español
Experimente

Ellipsennocke con Auflagestange

 

p.specht


Windowstyle 16 | 64
Ventana 0,0 - %maxx,%maxy
' Ellipsennocke con Auflagestange (zB como Bildschirmschoner)
' (D)emoware 2012-05 by P. Pájaro carpintero, sin jede Gewähr!
var xm!=%maxx\2
var ym!=2*%maxy\3'Mittelpunkt
var a!=%maxx\6
var b!=%maxy\12'Halbachsen
var f!=pi()/180'Grad2rad
var qaa!=1/(a!*a!)
var qbb!=1/(b!*b!)'Innen/Aussen-Hilfsvariablen
declarar w&,w!,ww!' Winkel
declarar x!,y!, xp!,yp!' Berührpunkt, Ext.Punkt
declarar nenn!,wrz!,c1!,c2!' Divi/0 y Minuswurzel-Abfang
declarar tmp!,xe!,ye!,k!
var laen!=%maxx\2' Auflagestange
var rm!=b!/3
usebrush 7,rgb(120,120,120)
Begin:

WHILELOOP 0,360,4

    MCLS %maxx, %maxy, $FFFFFF
    StartPaint -1
    w&=&bucle:w!=w&*f!
    xp!=1.2*a!:yp!=b!+a!/3
    waitinput 37
    caso %key=27:end
    '''cls
    '''locate 3,3:imprimir "Abbruch con Esc"
    DrawText 4, 4, "Abbruch con ESC"
    usepen 0,6,rgb(0,0,200)
    Ellipse xm!+rm!,(ym!+rm!) - (xm!-rm!),ym!-rm!
    Elips a!,b!,w&,xm!,ym!
    'point xp!,yp!
    tmp!=xp!*cos(-w!)+yp!*sin(-w!)
    yp!=xp!*sin(-w!)-yp!*cos(-w!)
    xp!=tmp!
    nenn!=a!*a!*yp!*yp!+b!*b!*xp!*xp!

    if nenn!<>0

        c1!=a!*a!*b!*b!
        wrz!=a!*a!*yp!*yp!+b!*b!*xp!*xp!-c1!

        if wrz!>0

            x!=(a!*a!*yp!*sqrt(wrz!)+c1!*xp!)/nenn!

        endif

    endif

    y!=0

    if a!<>0

        c2!=a!*a!-x!*x!

        if c2!>0'              !>

            if ((xp!>-a!) and (yp!<0)) or (xp!>a!)

                y!=-(b!*sqrt(c2!))/a!

            más

                y!= (b!*sqrt(c2!))/a!

            endif

        endif

    endif

    tmp!=xp!*cos(-w!)+yp!*sin(-w!)
    yp!=xp!*sin(-w!)-yp!*cos(-w!)
    xp!=tmp!
    tmp!=x!*cos(-w!)+y!*sin(-w!)
    y!=x!*sin(-w!)-y!*cos(-w!)
    x!=tmp!

    if (xp!*xp!*qaa!+yp!*yp!*qbb!)>=1

        usepen 0,9,rgb(255,0,0)
        point x!,y!
        line (xm!+xp!),(ym!-yp!) - (xm!+x!),ym!-y!

        if xp!<>x!

            k!=arctan((yp!-y!)/(xp!-x!))
            xe!=xp!-laen!*cos(k!)
            ye!=yp!-laen!*sin(k!)
            line (xm!+xp!),(ym!-yp!) - (xm!+xe!),ym!-ye!

        endif

    endif

    a!=0.999*a!
    EndPaint
    MCopyBMP 0, 0 - %maxx,%maxy > 0, 0; 0

ENDWHILE

Goto "Begin"

proc Elips : parámetros a!,b!,g!,xm!,ym!

    declarar w!,x!,y!,xe!,ye!
    var f!=-pi()/180:g!=g!*f!
    xe!=a!*cos(g!):ye!=a!*sin(g!)
    Moveto xm!+xe!,ym!-ye!

    WhileLoop 0,360,6

        w!=&Loop*f!
        x!=a!*cos(w!)
        y!=b!*sin(w!)
        xe!=x!*cos(g!)+y!*sin(g!)
        ye!=x!*sin(g!)-y!*cos(g!)
        lineto xm!+xe!,ym!-ye!

    EndWhile

ENDPROC

proc point : parámetros xp!,yp!

    rectangle xm!+xp!+3,(ym!-yp!+3) - (xm!+xp!-3),ym!-yp!-3

ENDPROC

 
XProfan 11
Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'...
01.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

397 Views

Untitledvor 0 min.
Member 640534318.01.2022
Ernst21.07.2021
Uwe ''Pascal'' Niemeier13.06.2021
R.Schneider28.05.2021
Más...

Themeninformationen

Dieses Thema ha 1 subscriber:

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