Programmare in 3D con Vb
Tempo fa si era trattato questo argomento ma non ricordo piu in quale topic quindi lo ripropongo visto che mi interessa particolarmente! Come faccio a programmare in 3D con Visual Bsic..che tipo di istruzioni o funzioni devo saper conoscere e utilizzare??
Grazie in anticipo a tutti!!!
Grazie in anticipo a tutti!!!
Risposte
Esistono vari modi per programmare la grafica in 3d.
Se intendi quella tipo Editors 3D studio, ti serve molta matematica.
In VB c'e' un oggetto in cui puoi disegnare utilizzando comandi tipo tracciare un punto, oppure tracciare una linea ?
Se intendi quella tipo Editors 3D studio, ti serve molta matematica.
In VB c'e' un oggetto in cui puoi disegnare utilizzando comandi tipo tracciare un punto, oppure tracciare una linea ?
Tu ne sei capace di programmare in 3D?
In qualsiasi modo!
In qualsiasi modo!
Ci provo.
Se vuoi possiamo realizzare insieme degli esempi.
Posto qui' un programma in QB che disegna un sfera. Potremo utilizzare questo listato come punto di partenza. Con il tuo aiuto potremmo realizzare una funzione parametrizzabile per tracciare sfere in VB.
Se vuoi possiamo realizzare insieme degli esempi.
Posto qui' un programma in QB che disegna un sfera. Potremo utilizzare questo listato come punto di partenza. Con il tuo aiuto potremmo realizzare una funzione parametrizzabile per tracciare sfere in VB.
'' COSTANTI MATEMATICHE CONST PI = 3.141592 '' COSTANTI FINESTRA CONST WSIZE = 1 CONST WTOP = WSIZE CONST WBOTTOM = -WSIZE CONST WLEFT = -WSIZE * 1.33 CONST WRIGHT = WSIZE * 1.33 '' COSTANTI SFERA RADIUS = .7 ANGLE = PI / 4 MERIDIANI = 10 PARALLELI = 10 COLORE = 14 '' INIZIO PROGRAMMA SCREEN 12 WINDOW (WLEFT, WTOP)-(WRIGHT, WBOTTOM) CLS '' PARALLELI FOR ALFA = 0 TO PI STEP PI / PARALLELI FOR BETA = 0 TO 2 * PI STEP PI / 1000 X = RADIUS * COS(BETA) * SIN(ALFA) Y = RADIUS * COS(ALFA) Z = RADIUS * SIN(BETA) * SIN(ALFA) XV = X YV = Y * COS(ANGLE) + Z * SIN(ANGLE) PSET (XV, YV), COLORE NEXT BETA NEXT ALFA '' MERIDIANI FOR ALFA = 0 TO PI STEP PI / 1000 FOR BETA = 0 TO 2 * PI STEP PI / MERIDIANI X = RADIUS * COS(BETA) * SIN(ALFA) Y = RADIUS * COS(ALFA) Z = RADIUS * SIN(BETA) * SIN(ALFA) XV = X YV = Y * COS(ANGLE) + Z * SIN(ANGLE) PSET (XV, YV), COLORE NEXT BETA NEXT ALFA
Ciao Stella
si usano delle librerie quali DirectX, OpenGL, Allegro, SDL.
Questo e' il mio campo di interesse, infatti oltre ai corsi universitari (grafica al calcolatore) cerco di imparare da solo. Come linguaggio uso C, il C++ anche, ma lo sto' imparando. Ovviamente si possono uttilizzare anche in VB o Java...

si usano delle librerie quali DirectX, OpenGL, Allegro, SDL.
Questo e' il mio campo di interesse, infatti oltre ai corsi universitari (grafica al calcolatore) cerco di imparare da solo. Come linguaggio uso C, il C++ anche, ma lo sto' imparando. Ovviamente si possono uttilizzare anche in VB o Java...
WooooW..Eugenio...non avevi mai pensato che per disegnare una sfera ci volessero tutte quelle istruzioni..
@enigmagame
Anche io sto imparando il C++, pian piano ovviamente, però questa cosa della grafica in 3D con Vb mi ha sempre molto affascinata così vorrei imparare...e sono sicura che ci riuscirò anche grazie ad Eugenio, sempre molto disponibile!
Enigma..come posso iniziare pian piano per fare delle cosette in Vb di questo tipo?
@enigmagame
Anche io sto imparando il C++, pian piano ovviamente, però questa cosa della grafica in 3D con Vb mi ha sempre molto affascinata così vorrei imparare...e sono sicura che ci riuscirò anche grazie ad Eugenio, sempre molto disponibile!
Enigma..come posso iniziare pian piano per fare delle cosette in Vb di questo tipo?
Sto per mettermi in viaggio. (Tra una mezz'oretta)
Probabilmente non avro' la possibilita' di collegarmi fino a lunedi', se nel frattempo con l'aiuto anche di enigmagame troviamo il modo migliore per tracciare i nostri disegni in VB.
A presto,
Eugenio
Probabilmente non avro' la possibilita' di collegarmi fino a lunedi', se nel frattempo con l'aiuto anche di enigmagame troviamo il modo migliore per tracciare i nostri disegni in VB.
A presto,
Eugenio
Ok..Buon Viaggio prof!!!

Grazie! Dinuovo a presto!
Ciao a Tutti!
Ciao a Tutti!
"eugenio.amitrano":
Esistono vari modi per programmare la grafica in 3d.
Se intendi quella tipo Editors 3D studio, ti serve molta matematica.
In VB c'e' un oggetto in cui puoi disegnare utilizzando comandi tipo tracciare un punto, oppure tracciare una linea ?
Si l'oggetto è la PictureBox, permette di disegnare punti linee e cerchi, comunque si può fare la stessa cosa anche direttamente su un form.
Io ho realizzato alcuni programmi in 3D con VB senza usare librerie particolari ma solo con l'oggetto citato sopra...
Il primo programma è un labirinto 3D dentro il quale si muove un omino, in esso la geometria è cavaliera e per renderizzare le pareti ho usato il metodo della lista, cioè le pareti vengono colorate in ordine dalle più lontane alle più vicine.
Ho poi fatto un programma con visione in prima persona dove ci si può muovere all'interno di un cortile circondato da un recinto blue...l'effetto 3D è notevole però non c'è rendering vengono solo disegnati i bordi delle pareti e il programma comunque non è ancora terminato.
Quello che ho notato è che l'oggetto PictureBox rallenta parecchio il computer quando deve disegnare molte linee e quindi non si presta al rendering.Per questo credo che con VB non sia possibile realizzare un programma 3D con visuale in prima persona in cui siano presenti ambienti complessi, perlomeno solo usando l'oggetto PictureBox.
Fatemi sapere...Ciao Ciao

"carlo23":
Quello che ho notato è che l'oggetto PictureBox rallenta parecchio il computer quando deve disegnare molte linee e quindi non si presta al rendering.Per questo credo che con VB non sia possibile realizzare un programma 3D con visuale in prima persona in cui siano presenti ambienti complessi, perlomeno solo usando l'oggetto PictureBox.
Hai provato a usare il comando DoEvents?
"Crook":
[quote="carlo23"]
Quello che ho notato è che l'oggetto PictureBox rallenta parecchio il computer quando deve disegnare molte linee e quindi non si presta al rendering.Per questo credo che con VB non sia possibile realizzare un programma 3D con visuale in prima persona in cui siano presenti ambienti complessi, perlomeno solo usando l'oggetto PictureBox.
Hai provato a usare il comando DoEvents?[/quote]
No, hai qualche suggerimento? Temo rallenterebbe solo ulteriormente le cose...

Ciao
ho citato quelle librerie (in particolare DirectX e openGL) in quanto miro al campo videoludico, per queste e altre librerie in rete esistono ottimi tutorial, ovviamente poi ci sono molti libri. Questo se si vuol partire da 0! Altrimenti si possono utilizzate motori 3d opensource o anche quelli con licenza...
Stella, in vb non ho mai provato a fare nulla per quanto riguarda il 3d, ma se vuoi possiamo fare qualcosa. Penso che non sia affatto tempo buttato!!!

ho citato quelle librerie (in particolare DirectX e openGL) in quanto miro al campo videoludico, per queste e altre librerie in rete esistono ottimi tutorial, ovviamente poi ci sono molti libri. Questo se si vuol partire da 0! Altrimenti si possono utilizzate motori 3d opensource o anche quelli con licenza...
Stella, in vb non ho mai provato a fare nulla per quanto riguarda il 3d, ma se vuoi possiamo fare qualcosa. Penso che non sia affatto tempo buttato!!!
Ok... allora aspetto tue istruzioni per sapere come iniziare!!!
Grazie
Grazie

Dopo 1 giorno e 9 ore.....
Nessuna anima viva!

Buongiorno a tutti!
Rieccomi.
Bene, come vedo sono fioccati utili suggerimenti.
Grazie a tutti per la collaborazione.
Tra i suggerimenti leggo che l'oggetto PictureBox permette di effettuare tali disegni.
Che dici stella ? Partiamo da li ?
Serve pero' sapere quali sono le istruzioni per poterci disegnare. Per esempio in Qbasic ci sono circle, line e pset.
Poi occorre sapere altre 2 cose:
1) Se creo una PictureBox 500x500 e traccio un punto di coordinate (250,250) lo vedro' tracciato al centro dell'oggetto ?
2) Se traccio un punto di coordinate (0,0) sara' posizionato in alto a sinistra ?
A presto,
Eugenio
Rieccomi.
Bene, come vedo sono fioccati utili suggerimenti.
Grazie a tutti per la collaborazione.
Tra i suggerimenti leggo che l'oggetto PictureBox permette di effettuare tali disegni.
Che dici stella ? Partiamo da li ?
Serve pero' sapere quali sono le istruzioni per poterci disegnare. Per esempio in Qbasic ci sono circle, line e pset.
Poi occorre sapere altre 2 cose:
1) Se creo una PictureBox 500x500 e traccio un punto di coordinate (250,250) lo vedro' tracciato al centro dell'oggetto ?
2) Se traccio un punto di coordinate (0,0) sara' posizionato in alto a sinistra ?
A presto,
Eugenio
Ho trovato un bel pdf che descrive molto sinteticamente alcune gestioni del VisualBasic,
tra cui anche la grafica.
Ho visto che la gestione grafica mediante la PictureBox e' molto simile al qBasic.
Posto il link del pdf:
www.ubertini.it/sistemi/quinta/Laborato ... %20uno.pdf
Direi di leggerlo prima di procedere.
Vorrei chiederti di fornirmi informazioni sulle istruzioni che gestiscono il mouse.
Per esempio quell istruzioni alle quali si effettua una call quando viene effettuato un click oppure un movimento.
Ti chiederai a cosa servono queste cose.
Per esempio per tracciare una sfera nella PictureBox si puo' procedere nel seguente modo:
1) Posizionamento della freccia nella PictureBox
2) Click per confermare il centro della sfera
3) Movimento del mouse per la dimensione del raggio
4) Click per confermare il raggio
5) Movimento del mouse per la rotazione intorno agli assi di riferimento
6) Click per confermare l'angolazione.
Oppure impostando i parametri direttamente nelle caselline di testo
che rappresentano i paramentri.
Fammi sapere.
A presto,
Eugenio
tra cui anche la grafica.
Ho visto che la gestione grafica mediante la PictureBox e' molto simile al qBasic.
Posto il link del pdf:
www.ubertini.it/sistemi/quinta/Laborato ... %20uno.pdf
Direi di leggerlo prima di procedere.
Vorrei chiederti di fornirmi informazioni sulle istruzioni che gestiscono il mouse.
Per esempio quell istruzioni alle quali si effettua una call quando viene effettuato un click oppure un movimento.
Ti chiederai a cosa servono queste cose.
Per esempio per tracciare una sfera nella PictureBox si puo' procedere nel seguente modo:
1) Posizionamento della freccia nella PictureBox
2) Click per confermare il centro della sfera
3) Movimento del mouse per la dimensione del raggio
4) Click per confermare il raggio
5) Movimento del mouse per la rotazione intorno agli assi di riferimento
6) Click per confermare l'angolazione.
Oppure impostando i parametri direttamente nelle caselline di testo
che rappresentano i paramentri.
Fammi sapere.
A presto,
Eugenio
Wooooow..Eugenio mi hai fatto un regalo enorme con questo link..se lo studio un pò potrei anche provare a fare un po di grafica!! C'è proprio tutto!! Grazie mille...
Facciamo che prima provo a leggerlo, specialmente le parti che riguardano la grafica, se riesco allora inizio a postare i codici e li vediamo assieme..altrimenti riprendiamo da dove hai detto tu!!
Grazie moltissimissime!!!
Facciamo che prima provo a leggerlo, specialmente le parti che riguardano la grafica, se riesco allora inizio a postare i codici e li vediamo assieme..altrimenti riprendiamo da dove hai detto tu!!
Grazie moltissimissime!!!

Benissimo.
Allora attendo tue notizie.
A presto,
Eugenio
Allora attendo tue notizie.
A presto,
Eugenio
Ciao...
scusa ma in questi grioni sono occupatissimo con appelli ed in più ero via.
Qui http://www.gameprog.it/?section=4 ci sono info su Visual Basic e DirectX.
Però ho letto che non volte utilizzare librerie, ma componenti in VB. Vedo se riesco a trocre qualcosa.
Ciao!!
scusa ma in questi grioni sono occupatissimo con appelli ed in più ero via.
Qui http://www.gameprog.it/?section=4 ci sono info su Visual Basic e DirectX.
Però ho letto che non volte utilizzare librerie, ma componenti in VB. Vedo se riesco a trocre qualcosa.
Ciao!!
Grazie anche a te enigma..
