| |
|
|
p.specht
| cela nachstehende Progrämmchen soll den Umgang avec Pie, Arc et Chord-Befehlen quelque chose logischer faire. cela Beispiel dans qui Profan-Aider berücksichtigt z.B. pas qui gekippte perspective chez Tortendiagrammen. Im nachstehenden Machwerk wird oui c'est ca pour Sorge getragen, qui qui (z.B. Anteils-abhängigen) Winkel stets qui angewendeten perspective (aka. "Kavalier-Riss") angepasst verlaufen. Angenehmer Nebeneffekt: qui Tortenstück-Seiten courir eh bien aussi chez très breiten, mais seulement wenig hohen Diagrammen stets zum Mauscursor hin, quoi une manuelle Eingabe enorm erleichtert.
P.S.: sofern cela Ding encore wahnsinnig viel trop désirer sur peut, etwa Farb-, Füll- et Formänderungen, Beschriftungen u.v.a.m., ist bien sûr. mais immerhin, une erste lästige (Formel-)Hürde ist eh bien geschafft. Pour wirklich gute Tortendiagramme gibt es gute Include- et PCU-Files dans diesem Board!
Titre de la fenêtre "SIMPLER PIE-ARC-CHORD-TRAINER":Fenêtre Style 24:Fenêtre 0,0 - %maxx,%maxy
'(CL) CopyLeft 2014-11 by P.Specht, vienne. sans jedwede Gewähr!
imprimer "\n service (s'il te plaît aucun Hochstelltaste verwenden!):"
imprimer "\n 1. souris sur *linke obere* coin des Darstellundrechtecks, 'M'-bouton pour 'MERKEN'"
imprimer "\n 2. souris sur rechte untere coin des Darstellundrechtecks, 'R'-bouton pour 'RECHTECK'"
imprimer "\n Es wird qui Mitte des Tortenstücks abgezeigt, weil cet eh bien feststeht."
imprimer "\n 3. Winkellinie souris trop Mittelpunkt gibt Startwinkel: 'V'-bouton pour 'VON'"
imprimer "\n 4. Winkellinie souris trop Mittelpunkt gibt Stop-winkel: 'B'-bouton pour 'BIS'"
imprimer "\n Tortenstück wird gezeichnet."
imprimer "\n 5. 'C' pour 'CLS' = Claire Screen"
imprimer "\n Viel Spass beim üben!\n"
var xh&=width(%hwnd):var yh&=height(%hwnd)
declare LOX&,LOY&,LUX&,LUY&,SX&,SY&,EX&,EY&,StartAngle!,StopAngle!,Kippwinkel!
Repeat
waitinput
cas %clé=27:end
'imprimer %clé
si %clé=109
imprimer "M";
LOX&=%mousex:LOY&=%mousey
endif
si %clé=114
imprimer "R";
usepen 0,2,rgb(0,255,0)
LUX&=%mousex:LUY&=%mousey
rectangle LOX&,LOY& - LUX&,LUY&
usepen 0,5,rgb(255,0,0)
moveto (Lox&+lux&)\2,(Loy&+luy&)\2
lineto (Lox&+lux&)\2+1,(Loy&+luy&)\2
endif
si %clé=118
imprimer "V";
SX&=%mousex:SY&=%mousey
endif
si %clé=98
imprimer "B";
EX&=%mousex:EY&=%mousey
usebrush 0,rgb(0,0,255)
usepen 0,5,rgb(255,0,0)
Kippwinkel! = arctan4( LUy&-LOy&, LUx&-LOx& )
StartAngle! = arctan4( Sx&-(LUx&+LOx&)/2 , (LUy&+LOy&)/2-Sy& )
StopAngle! = arctan4( Ex&-(LUx&+LOx&)/2 , (LUy&+LOy&)/2-Ey& )
' Gilt pour Pie, Arc et Chord:
PIE LOX&,LOY& - LUX&,LUY&;\
(LUx&+LOx&+(LUx&-LOx&)*Cos(-StartAngle!)*cos(Kippwinkel!) )/2,\
(LUy&+LOy&+(LUy&-LOy&)*Sin(-StartAngle!)*sin(Kippwinkel!))/2;\
(LUx&+LOx&+(LUx&-LOx&)*Cos(-StopAngle!)*cos(Kippwinkel!))/2,\
(LUy&+LOy&+(LUy&-LOy&)*Sin(-StopAngle!)*sin(Kippwinkel!))/2
endif
cas %clé=99:cls
until 0
proc ArcTan4 :parameters x!,y!
var pi!=3.1415926535897932:var w!=0'(CL)2014-01 P.Specht§gmx.at
si x!=0:si y!>0:w!=pi!*0.5:elseif y!<0:w!=pi!*1.5:d'autre :w!=0:endif :return w!:elseif x!>0
si y!=0:w!=0:return w!:elseif y!>0:si x!>y!:w!=arctan(y!/x!):d'autre :w!=pi!/2-arctan(x!/y!):endif
return w!:d'autre :si x!<-y!:w!=pi!*1.5+arctan(x!/-y!):d'autre :w!=2*pi!-arctan(-y!/x!):endif :return w!
endif :d'autre :si y!>0:si x!>-y!:w!=pi!/2+arctan(-x!/y!):return w!:d'autre :w!=pi!-arctan(y!/-x!)
return w!:endif :elseif y!<0:si x!<y!:w!=pi!+arctan(-y!/-x!):d'autre :w!=pi!*1.5-arctan(-x!/-y!)
endif :return w!:d'autre :w!=pi!:return w!:endif :endif :Imprimer " ArcTan4 ERROR":waitinput:waitinput
endproc
|
|
|
| Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'... | 16.05.2021 ▲ |
|
|
|