VI10AddArc2

V = Vector

I = Image

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

La funzione VI10AddArc2 aggiunge il comando ARC2 in coda alle istruzioni da processare nel Buffer per eseguire il disegno.
Il comando ARC2 traccia un arco di tipo II o IV (vedere il disegno nelle note) dalle coordinate attuali alle coordinate X e Y passate tramite la funzione.
Le coordinate X e Y vengono inoltre impostate, a fine istruzione, come coordinate attuali.

Buffer

VI10AddArc2 (awBuffer, Coord_X, Coord_Y, Radius)

Parametri:

IN/OUT TIPO VARIABILE NOME DI ESEMPIO DIM DESCRIZIONE
IN ARRSYS /
ARRGBL
awBuffer W Array che funge da buffer per istruzioni/dati
IN CONST/
GLOBAL
Coord_X W Variabile contenente il valore della coordinata X del punto finale dell'arco, all'interno dell'oggetto Vector Image.
IN CONST/
GLOBAL
Coord_Y W Variabile contenente il valore della coordinata Y del punto finale dell'arco, all'interno dell'oggetto Vector Image.
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 SET
 
Coord_Y = 0
 
VI10AddSet(awBuffer, Coord_X, Coord_Y)			;Aggiunge il comando SET
 
Coord_X = 100						;Imposta le coordinate e il raggio per ARC2
 
Coord_Y = 50					
 
Radius = 200
 
VI10AddArc2(awBuffer, Coord_X, Coord_Y, Radius)		;Aggiunge il comando ARC2
 
;... 
 
WAIT 1
JUMP MAIN
 
END

Note

ARCO TIPO 1 E 3 → VI10AddArc1
ARCO TIPO 2 E 4 → VI10AddArc2

  • Considerata la figura sottostante:


L'arco di circonferenza tra il punto A e il punto B può essere eseguito attraverso una delle quattro traiettorie I, II, III o IV.

La funzione VI10AddArc2 si incarica di eseguire le traiettorie che appartengono alla circonferenza con il centro più “alto” fra le due (coordinata Y0 maggiore), quindi, nel disegno, la circonferenza con centro in C1. Questa circonferenza può eseguire la traiettoria II oppure la traiettoria IV. La traiettoria II viene eseguita se si imposta un raggio negativo, mentre la traiettoria IV viene eseguita se si imposta un raggio positivo.

Se invece si intende eseguire un arco di circonferenza che appartenga alla circonferenza con centro in Co come quello rappresentato dalle traiettorie I o III, è necessario utilizzare la funzione VI10AddArc1, con la quale, impostando un raggio negativo, si effettuerà la traiettoria I, mentre impostando un raggio positivo si effettuerà la traiettoria III.

  • Ultima modifica: 2024/09/17 10:04