Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Star Wars Zero Company è l'erede di XCOM 2
Star Wars Zero Company è l'erede di XCOM 2
Bit Reactor porta nell’universo di Star Wars una struttura tattica che richiama apertamente XCOM 2, ma la arricchisce con legami tra i personaggi, progressione ruolistica, gestione della base e un sistema di combattimento costruito attorno a tre Punti Azione e alle risorse condivise della squadra
Test ride Can-Am Origin: la moto elettrica che fa dimenticare il motore a scoppio (ma occhio all'autonomia)
Test ride Can-Am Origin: la moto elettrica che fa dimenticare il motore a scoppio (ma occhio all'autonomia)
Abbiamo provato per una settimana intera la Can-Am Origin, la Dual Sport elettrica del gruppo canadese BRP: ecco com'è andata tra città, autostrada e un primo assaggio di sterrato
Logitech G325, G305 e G316 X: il tris per chi non vuole rinunciare a nulla, spendendo poco
Logitech G325, G305 e G316 X: il tris per chi non vuole rinunciare a nulla, spendendo poco
Nelle ultime settimane abbiamo provato il mouse Logitech G305, la tastiera G316 X 98 e le cuffie G325. Si tratta del setup entry-level di Logitech che ormai, di "entry-level" ha ben poco. Tastiera e mouse offrono prestazioni di livello competitivo con quasi nessuna rinuncia e un livello di personalizzazione estremamente elevato. Le cuffie, invece, hanno mostrato qualche debolezza, ma propongono un ventaglio di funzionalità completo che consente di abbandonare completamente i cavi
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 09-05-2006, 17:06   #1
MEMon
Senior Member
 
Iscritto dal: Dec 2002
Messaggi: 3359
Ambiente 2d, simulare il 3d

Ciao, senza tirare in ballo nessun linguaggio specifico, come ci si comporta per simulare il 3d avendo solo il 2d? Mi spiego meglio.
Avrei la necessità di creare un cubo che ruota stile 3d, ma senza avere nessuna libreria specifica x il 3d(solo 2d).
Quindi posso ruotare e traslare a piacere le faccie del cubo, ma in che modo per simulare la rotazione 3d? cioè che le facciè che stan dietro scompaione e poi ricompaiono quando si trovano davanti...non so se mi sono spiegato bene.
MEMon è offline   Rispondi citando il messaggio o parte di esso
Old 09-05-2006, 17:21   #2
mynos79
Senior Member
 
Iscritto dal: Jun 2005
Città: Mestre (VE)
Messaggi: 1415
Vai di trigonometria
__________________
IN WIN 909 / AMD Ryzen 9 3950X / Gigabyte X570 Aorus Xtreme / 4x8gb G.Skill 3200 / Gigabyte Aorus RTX2080Ti Xterme / 2x Gigabyte Aorus NVMe M.2 1Tb / Corsair AX1200i / full liquid EK - Bitspower / circa 160 trattative nel mercatino
mynos79 è offline   Rispondi citando il messaggio o parte di esso
Old 09-05-2006, 21:49   #3
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
mynos79 ha sintetizzato con un certa efficacia .

A meno che tu non appartenga alla categoria di chi fa colazione con pane e angoli, puoi prendere un bel librone di "matematica 3d" per computer graphic (ce ne sono a valanghe), butti l'occhio e metti insieme il tutto. Ecco, magari tra buttar l'occhio e mettere insieme passa un po' di sudore ma per fare si fa.
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 09-05-2006, 22:47   #4
MEMon
Senior Member
 
Iscritto dal: Dec 2002
Messaggi: 3359
Va bene
MEMon è offline   Rispondi citando il messaggio o parte di esso
Old 10-05-2006, 13:08   #5
shinya
Senior Member
 
L'Avatar di shinya
 
Iscritto dal: Jul 2005
Città: Bologna
Messaggi: 1130
Quote:
Originariamente inviato da MEMon
Ciao, senza tirare in ballo nessun linguaggio specifico, come ci si comporta per simulare il 3d avendo solo il 2d? Mi spiego meglio.
Avrei la necessità di creare un cubo che ruota stile 3d, ma senza avere nessuna libreria specifica x il 3d(solo 2d).
Quindi posso ruotare e traslare a piacere le faccie del cubo, ma in che modo per simulare la rotazione 3d? cioè che le facciè che stan dietro scompaione e poi ricompaiono quando si trovano davanti...non so se mi sono spiegato bene.
Vedo che ti vuoi far del male da solo...bene!
Su quel bel libro che è Developing Games in Java c'è un prontuario che ti spiega precisamente ciò che stai cercando di fare, e la matematica che ci sta dietro (anche se a dir la verità, la parte matematica è piuttosto tralasciata).
shinya è offline   Rispondi citando il messaggio o parte di esso
Old 14-05-2006, 11:53   #6
MEMon
Senior Member
 
Iscritto dal: Dec 2002
Messaggi: 3359
Riuppo questo post perchè ora mi serve veramente sapere come fare.
Ho cercato un po' in giro, ho anche avuto modo di vedere il libro "Developing Games" ma la parte dove spiega come trasformare le coordinate è davvero striminzita.
Da quel che ho capito la coordinata Z serve per saclare le altre in modo da dare una senzazione di profondità, ma non ho capito bene come...
MEMon è offline   Rispondi citando il messaggio o parte di esso
Old 14-05-2006, 12:44   #7
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
Io ho letto Developing Game in Java e non credo sia il libro giusto. Mi pare risponda alle domande: "sapendo già come si deva fare in generale, come lo farei in Java" e anche "sapendo già come..., come lo farei in un modo un po' più orientato agli oggetti".

"Non sapendo già", ti tocca scendere di un gradino. Io ho letto Dunn Parbeyy, "3D Math Primer for Graphics and Game Development", Wordware. Costa 50 dollarozzi e tutto sommato si lascia leggere (l'argomento non è certo un'educanda a caccia d'avventure ).

Per 50$ puoi prendere anche "Mathematics for 3D Game Programming & Computer Graphics", che è francamente digeribile quanto un basello di granito però dice molte cose molto interessanti.

A prescindere dal titolo, credo che un libro di questa specie ti serva se hai intenzioni di avventurarti nel mondo del 3D perchè ammettendo di risolvere la cosa con una domanda sul forum, poi tra tre giorni ne salta fuori un'altra e ti tocca aspettare due settimane per venirne a capo. Avere un riferimento a portata di mano non può che agevolarti.
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 14-05-2006, 14:47   #8
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
Quote:
Originariamente inviato da mynos79
Vai di trigonometria
in realtà finché si tratta solo di disegnare solidi 3D, di traslarli e di scalarli la trigonometria non serve; inizia a servire solo con le rotazioni.

piccola spiegazione teorica per disegnare un vertice in prospettiva: tu per prima cosa nel tuo programma memorizzi il vertice come una struct contenente 3 float, le coordinate; poi avrai il tuo array di vertici da disegnare.

poi devi stabilire un riferimento cartesiano; ti conviene mettere l'origine al centro (per semplificare i calcoli) e l'asse delle ordinate (quello verticale) orientato verso il basso (per semplificare la conversione al riferimento finale della finestra, che solitamente ha l'origine in alto a sinistra e l'asse delle ordinate verso il basso).

poi devi anche stabilire un riferimento cartesiano a tre dimensioni, e sempre per semplificare i calcoli è meglio adattarlo a quello 2d: stessa dimensione dell'unità orizzontale, stessa verticale, asse delle ordinate verso il basso, e in più aggiungi l'asse della profondità (coordinata Z) orientato come ti pare. inoltre supponiamo che l'origine corrisponda al PoV (Point-of-View).

le 3 coordinate di ciasun vertice sono riferite a questo riferimento 3d; il tuo scopo è convertirle in coppie di coordinate 2d riferite al riferimento 2d; ed infine devi convertirle al riferimento 2d della finestra, ma grazie allo stesso orientamento dell'asse Y per quest'ultima operazione sarà sufficiente una traslaione d'origine.

detto questo, per effettuare la conversione da 3d a 2d assumendo che il PoV sia collocato all'origine del riferimento 3d, è sufficiente risolvere due proporzioni, una per la X del punto e una per la Y:

X_2D : X_3D = w : Z

X_2D = coordinata X da trovare
X_3D = coordinata X del punto rispetto al riferimento 3d
Z = distanza tra il punto e l'origine (che sarebbe il PoV)
w = valore costante scelto a piacere; valore consigliato = metà della larghezza della finestra

per la Y fai la stessa cosa:

Y_2D : Y_3D = h : Z

qui il valore consigliato di h diventa metà dell'altezza piuttosto che della larghezza.

proverei a spiegartelo meglio se potessi fare un disegno, così ti farei capire come mai consiglio di prendere le dimensioni dimezzate della finestra come valori costanti nella proporzione.

Ultima modifica di 71104 : 14-05-2006 alle 14:58.
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 14-05-2006, 15:22   #9
MEMon
Senior Member
 
Iscritto dal: Dec 2002
Messaggi: 3359
Grazie mille, sto guardando forse riesco a fare qualcosa di carino
MEMon è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Star Wars Zero Company è l'erede di XCOM 2 Star Wars Zero Company è l'erede di XCOM ...
Test ride Can-Am Origin: la moto elettrica che fa dimenticare il motore a scoppio (ma occhio all'autonomia) Test ride Can-Am Origin: la moto elettrica che f...
Logitech G325, G305 e G316 X: il tris per chi non vuole rinunciare a nulla, spendendo poco Logitech G325, G305 e G316 X: il tris per chi no...
Recensione POCO F9 pro: potenza da vero top di gamma, display da 185 Hz e finalmente una fotocamera da prendere sul serio Recensione POCO F9 pro: potenza da vero top di g...
Tra audio e AI: la ricetta di Qualcomm per l'agentic AI Tra audio e AI: la ricetta di Qualcomm per l'age...
ESA e ClearSpace svilupperanno un satell...
Oracle, stock option da quasi un miliard...
Starship: si è conclusa anticipat...
Un computer quantistico ha funzionato ne...
Sovranità sui dati: AWS è ...
Il nuovo nome della distro Linux mobile ...
Due ventole da 220 mm e non solo: Cooler...
Truffa telefonica via Google Ads: il bro...
Google pensiona le Gems di Gemini: cosa ...
Flight 14: incertezza per un problema a ...
C'è un problema con i robot Tesla: i dip...
Raggi gamma anomali dalla Via Lattea sve...
NIO vende il 30% della divisione scambio...
Sony brevetta un DualSense capace di acc...
Un volto per l'assistenza IA: cosa pu&og...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 20:38.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v