VI10AddArcBetweenAngles

V = Vector

I = Image

Funzione utilizzata per la gestione della funzionalità Vector Image (oggetto presente su alcune versioni di Qpaint).

La funzione VI10AddArcBetweenAngles aggiunge, in coda alle istruzioni da processare nel Buffer per eseguire il disegno, un set di istruzioni per disegnare un arco il cui percorso va dal punto A al punto B di una circonferenza di cui vengono passate le coordinate X-Y del centro ed il raggio.
Il punto A e il punto B non vengono espressi con coordinate X-Y ma con angoli della circonferenza.
Le coordinate X e Y del punto B (calcolate all'interno della funzione) vengono inoltre impostate, a fine istruzione, come coordinate attuali.

Buffer

VI10AddArcBetweenAngles (awBuffer, Centre_Xo, Centre_Yo, Angle_A, Angle_B, Radius)

Parametri:

IN/OUTTIPO VARIABILENOME DI ESEMPIODIM
IN ARRSYS /
ARRGBL
awBuffer W Array che funge da buffer per istruzioni/dati
IN CONST/
GLOBAL
Centre_Xo W Variabile contenente il valore della coordinata Xo del centro della circonferenza sulla quale viene tracciato l'arco.
IN CONST/
GLOBAL
Centre_Yo W Variabile contenente il valore della coordinata Yo del centro della circonferenza sulla quale viene tracciato l'arco.
IN CONST/
GLOBAL
Angle_A W Variabile contenente il valore dell'angolo A di inizio arco.
(Espresso in decimi di grado)
IN CONST/
GLOBAL
Angle_B W Variabile contenente il valore dell'angolo B di fine arco.
(Espresso in decimi di grado)
IN CONST/
GLOBAL
Radius W Variabile contenente il valore del raggio della circonferenza sulla quale si vuole tracciare l'arco.

Esempio

TASK_00

MAIN:
 
VI10InitBuffer (awBuffer)			;Inizializza il Buffer
 
Color = 0					;Imposta colore nero
 
VI10AddPen (awBuffer, Color)			;Aggiunge il comando PEN
 
Coord_X = 0					;Imposta le coordinate per il MOVE
 
Coord_Y = 70
 
VI10AddMove (awBuffer, Coord_X, Coord_Y)	;Aggiunge il comando MOVE
 
Centre_Xo = 0					;Imposta le coordinate del centro circonferenza
 
Centre_Yo = 50
 
Angle_A = 200					;Imposta l'angolo del punto A (20°)
 
Angle_B = 900					;Imposta l'angolo del punto B (90°)
 
Radius = 20					;Imposta il Raggio della circonferenza
 
VI10AddArcBetweenAngles (awBuffer, Centre_Xo, Centre_Yo, Angle_A, Angle_B, Radius)
 
;Aggiunge Costruzione arco con angoli
 
.... 
 
WAIT 1
JUMP MAIN
 
END

Note

  • Considerata la figura sottostante:

la funzione traccia un arco dal punto A al punto B (espressi come angoli) della circonferenza individuata dalle coordinate X-Y del centro e dal raggio passato alla funzione.

  • Ultima modifica: 2019/08/29 17:01