Oppure

Loading
10/09/11 5:16
maikarki
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:)
aaa
10/09/11 8:02
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:
var Points = new Points[1] {new Point(X, Y), new Point(X2, Y2)}; // le variabili X, Y, X2, Y2 sono i tuoi valori
10/09/11 8:31
nessuno
Se i due vettori sono X e Y e le coppie sono N, potresti scrivere

        Dim cp(N-1) As Point

        For pt = 0 To N-1
            cp(pt).X = X(pt)
            cp(pt).Y = Y(pt)
        Next

        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 ...

Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.