Ciao,
Anni fa, stavo realizzando una guida per questa cosa, poi, siccome ho capito che in realtà, vista la complicazione di tale argomento, la cosa in realtà era di poco interesse e abbandonai il progetto.
Io non so, ora, cosa hai letto, saputo o capito... ma realizzare un "poligono" per ST non è proprio cosa semplice.
Quanto mastichi di computer? conosci o hai mai sentito parlare degli "Assi Cartesiani"? in caso di risposta negativa, ti anticipo che gli assi cartesiani, sono il sistema di identificare un punto in un determinato "spazio".
Questi si identificano con l'ASSE X per determinare un punto sulla linea ORIZZONTALE, mentre si identificano con l'ASSE Y per determinare un punto sulla linea verticale.
Se parliamo dello schermo del PC, come riferimento si prende SEMPRE l'angolo in ALTO a SINISTRA, e da li... si contano proprio i "pixel".
Se volessimo, quindi, dire al processore, di collocare 1 punto all'angolo estremo in alto a sinistra, questo avrà come coordinate: 0, 0
Se invece, volessimo che questo punto sia staccato dal lato sinistro dello schermo di circa 1 cm, questo punto avrà come coordinate: 10, 0
Che significa? nulla di più semplice... stai dicendo al processore di contare 10 pixel sull'asse X (quindi di "contare" verso destra), di restare fermo sul bordo in alto (Y = 0) e di piazzare il punto li.
Se questo punto, lo volessimo invece, staccato dal bordo in alto di 2 cm, diremmo al processore queste coordinate: 10, 20.
In questo caso il processore che farà? conterà 10 pixel partendo dall'angolo in alto a sinistra, si sposterà verso destra appunto di 10 pixel, poi conterà verso il basso 20 pixel, e piazzerà li il punto.
Il programma Simulatore Treno, utilizza una finestra avente come misure 800x600.
Quindi, quando avvii il programma, il processore ti realizza una finestra avente 800 pixel sull'asse X e 600 pixel sull'asse Y.
Se tu volessi vedere questo fantomatico punto, esattamente al centro della finestra del simulatore... che coordinate gli dovresti dare? semplice!... X:2 e Y:2... quindi: 400, 300 ed avresti un punto esattamente al centro della finestra del sim.
Siccome il programma "disegna" utilizzando appunto il processore, questo, per individuare un punto nella finestra del programma, usa questo sistema.
Ora mi chiederai... ma che centra tutto questo per realizzare un POLIGONO?
Centra!... perche un poligono, per essere tale, necessita di almeno 3 punti su una superficie... e nemmeno basta... perche se dai semplicemente 3 punti, avresti come risultato 2 linee rette, quindi, oltre ai 3 punti, devi anche dirgli che questi sono "pieni" nel senso, deve "colorare" la parte interna tra questi 3 punti.
Hai presente un triangolo no? questo ha 3 vertici... puoi ottenere un triangolo con solo 2 vertici? no...
Quindi, per realizzare un poligono, devi dare al processore questa serie di informazioni:
1° vertice = coordinata asse X e coordinata asse Y
2° vertice = coordinata asse X e coordinata asse Y
3° vertice = coordinata asse X e coordinata asse Y
il colore del bordo in formato RGB
il colore del riempimento in formato RGB
Per farti un esempio concreto, per realizzare un quadrato, che come ben saprai ha 4 vertici, devi scrivere nel file TXT del poligono una cosa di questo genere:
******************************************************
200, 100 (1° vertice)
400, 100 (2° vertice)
400, 200 (3° vertice)
200, 200 (4° vertice)
0, 0, 0 (colore linee)
128, 128, 128 (colore riempimento)
******************************************************
Ora... più l'oggetto che vuoi realizzare è complesso a livello di "forma", e più vertici devi indicare.... considera quindi che per "vertici" si intende gli spigoli che compongono il tuo oggetto.
Prova a immaginare che significa disegnare un cerchio!...
Ovviamente non ti serve ne Paint, ne Photoshop e nessun tipo di programma di disegno... devi andare a "tastoni" o per essere più volgari... devi andare a culo!...
Questo è quanto posso dirti per ora...
Se hai bisogno di maggiori ragguagli, posso darteli... ma non ora e non da dove mi trovo ora... che non sto al mio pc e non ho niente dei miei lavori fatti anni a dietro... e tutto questo che ho scritto, sono solo andato a "memoria" di un argomento sepolto... quindi...