Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - disegno di un poligono le cui coordinate sono contenute in due vettori
Forum - C# / VB.NET - disegno di un poligono le cui coordinate sono contenute in due vettori

Avatar
maikarki (Normal User)
Newbie


Messaggi: 9
Iscritto: 10/09/2011

Segnala al moderatore
Postato alle 7:16
Sabato, 10/09/2011
Buongiorno,

sono un programmatore alle prime armi. Sto realizzando un programma in vb.net che determina il dominio di rottura di una sezione in calcestruzzo armato. Vorrei restituire graficamente tramite e.graphics.Drawpolygon il dominio di rottura calcolato in precedenza popolando due vettori che costituiscono, per capirci, l'insieme delle due coordinate del grafico (X,Y) che desidero rappresentare. Il mio problema è che, avendo due vettori distinti che rappresentano le coordinate X,Y, non sono riuscito a capire come "fonderli" per creare l'array dei punti leggibili da drawpolygon.
Mi potreste aiutare?

Grazie:)

PM
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 5475
Iscritto: 03/01/2010

Up
2
Down
V
Segnala al moderatore
Postato alle 10:31
Sabato, 10/09/2011
Se i due vettori sono X e Y e le coppie sono N, potresti scrivere

Codice sorgente - presumibilmente VB.NET

  1. Dim cp(N-1) As Point
  2.  
  3.         For pt = 0 To N-1
  4.             cp(pt).X = X(pt)
  5.             cp(pt).Y = Y(pt)
  6.         Next
  7.  
  8.         e.Graphics.DrawPolygon(tuaPen, cp)



in cui tuaPen è l'oggetto di stile necessario.

Il consiglio è però quello di evitare questo codice e modificare il codice con cui ottieni i due vettori in modo da avere *direttamente* un vettore di Point da utilizzare dopo.

@VMikle ... il codice che hai mostrato comunque è C# non VB.NET ...


Ammetto che chi ti ha dato il voto negativo ha esagerato ... - nessuno - 10/09/11 19:22
Vorrei ringraziare entrambi per la disponibilità dimostrata ed in particolare nessuno che grazie al suo post mi ha risolto il problema. Ci tenevo a farvi sapere che i voti negativi non sono giunti da me.! ;-) - maikarki - 11/09/11 18:22
Ehm solo fai attenzione a che i vertici del poligono siano allineati in modo che, nell'array, il precedente e il successivo siano effettivamente vertici adiacenti da collegare - gigisoft - 12/09/11 12:34


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
PM
Avatar
()
Newbie


Messaggi:
Iscritto:

Up
-2
Down
V
Segnala al moderatore
Postato alle 10:02
Sabato, 10/09/2011
Graphics.DrawyPolygon ha due overloads, uno per dati interi e l'altro per quelli a virgola mobile.
Entrambi accettano un oggetto Pen per lo stile e un array di Point(F) per indicare i vertici.

Tutto quello che devi fare è dichiarare un nuovo array (che da quel che vedo sai cos'è) di due Point(F) e impostarne i valori.
Un esempio di dichiarazione inline:
Codice sorgente - presumibilmente C# / VB.NET

  1. var Points = new Points[1] {new Point(X, Y), new Point(X2, Y2)}; // le variabili X, Y, X2, Y2 sono i tuoi valori


PM