| |
|
|
p.specht
|
'Windowtitle "BILDSCHIRMSCHONER: Schiefe Astroide als Evolute der Ellipse"
'(CL) CopyLeft 2015-07 by P.Specht, Wien; OHNE JEGLICHE GEWÄHR!
'(Vereinfachte Formeln per Schmiegekreis-Mittelpunkt und -Radius)
Windowstyle 16 | 64'24
Window 0,0-%maxx,%maxy:Randomize:font 2
var xh&=width(%hwnd)\2:var yh&=height(%hwnd)\2
declare a!,b!,x!,y!,xa!,ya!,xe!,ye!,xo!,yo!,w!
declare cw!,cccw!,sw!,sssw!,aa!,bb!,aambbda!,bbmaadb!
declare r!,v!,xl!,yl!,xv!,yv!
var f!=Pi()/180:usebrush 0,1
MEHR:
print "\n ENDE: ESC HALTEN! "
a!=-400
b!=200
REPEAT
aa!=sqr(a!):bb!=sqr(b!)
if a!<>0:aambbda!=(aa!-bb!)/a!:else :aambbda!=10000:endif
if b!<>0:bbmaadb!=(bb!-aa!)/b!:else :bbmaadb!=10000:endif
usepen 0,1+rnd(15),rgb(255,0,0):Ellipse xh&-a!,yh&+b! - xh&+a!,yh&-b!'Alternative A: Hier
x!=a!:y!=0 : xe!=aambbda!:ye!=0
whileloop 0,360,30 :w!=&Loop*f!
cw!=cos(w!):cccw!=cw!*sqr(cw!):sw!=sin(w!):sssw!=sw!*sqr(sw!)
'Ellipsensegment:
xa!=x!:ya!=y!:x!=a!*cw!:y!=b!*sw!
' usepen 0,1,rgb(255,0,0):line xh&+x!,(yh&-y!) - xh&+xa!,(yh&-ya!) 'Alternative B
'Zugehöriges Schief-Asteroidensegment:
xo!=xe!:yo!=ye!:xe!=aambbda!*cccw!:ye!=bbmaadb!*sssw!
' usepen 0,1,rgb(0,0,255):line xh&+xe!,(yh&-ye!) - xh&+xo!,(yh&-yo!) ' Pos 1
' Schmiegekreis einzeichnen
r!=sqrt(sqr(x!-xe!)+sqr(y!-ye!))
usepen 0,1,rgb(255,200,255): ellipse xh&+xe!+r!,yh&+ye!+r! - xh&+xe!-r!,yh&+ye!-r!
usepen 0,1,rgb(0,0,255):line xh&+xe!,(yh&-ye!) - xh&+xo!,(yh&-yo!)' Alternative Pos. 2
endwhile
waitinput 10
' Achsenänderung per Durchlauf:
a!=a!+1
b!=b!-1
if a!>800
a!=-200
b!=400
endif
until %key=27
END
|
|
|
| XProfan 11Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'... | 19.05.2021 ▲ |
|
|
|