Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione Google Pixel 10a, si migliora poco ma è sempre un'ottima scelta
Recensione Google Pixel 10a, si migliora poco ma è sempre un'ottima scelta
Google ha appena rinnovato la sua celebre serie A con il Pixel 10a, lo smartphone della serie più conveniente se consideriamo il rapporto tra costo e prestazioni. Con il chip Tensor G4, un design raffinato soprattutto sul retro e l'integrazione profonda di Gemini, il colosso di Mountain View promette un'esperienza premium a un prezzo accessibile. E il retro non ha nessuno scalino
6G, da rete che trasporta dati a rete intelligente: Qualcomm accelera al MWC 2026
6G, da rete che trasporta dati a rete intelligente: Qualcomm accelera al MWC 2026
Al MWC Qualcomm annuncia una coalizione industriale per lanciare il 6G entro il 2029 e introduce agenti IA per la gestione autonoma della RAN. Ericsson, presente sul palco, conferma la direzione: le reti del futuro saranno IA-native fin dalla progettazione
CHUWI CoreBook Air alla prova: design premium, buona autonomia e qualche compromesso
CHUWI CoreBook Air alla prova: design premium, buona autonomia e qualche compromesso
CHUWI CoreBook Air è un ultraleggero da 1 kg con Ryzen 5 6600H, display 14" 16:10 e 16 GB LPDDR5. Offre buona portabilità, autonomia discreta e costruzione in alluminio, ma storage PCIe 3.0 e RAM saldata limitano l'espandibilità. A 549 euro sfida brand più noti nella stessa fascia di mercato.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 09-05-2006, 18: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, 18: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, 22: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, 23: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, 14: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, 12: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, 13: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, 15: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 15:58.
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 14-05-2006, 16: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


Recensione Google Pixel 10a, si migliora poco ma è sempre un'ottima scelta Recensione Google Pixel 10a, si migliora poco ma...
6G, da rete che trasporta dati a rete intelligente: Qualcomm accelera al MWC 2026 6G, da rete che trasporta dati a rete intelligen...
CHUWI CoreBook Air alla prova: design premium, buona autonomia e qualche compromesso CHUWI CoreBook Air alla prova: design premium, b...
Roborock Saros 20: il robot preciso e molto sottile Roborock Saros 20: il robot preciso e molto sott...
ASUS ROG Kithara: quando HIFIMAN incontra il gaming con driver planari da 100mm ASUS ROG Kithara: quando HIFIMAN incontra il gam...
Incentivi per pompe di calore, nel 2026 ...
La visione di AMD per l'IA del futuro: s...
NVIDIA cerca un progettista di datacente...
DREAME Aqua10 Ultra Roller scende ora a ...
Targa e assicurazione per monopattino, a...
Recensione Nothing HeadPhone (a): le cuf...
Più colore, meno ricariche: Nothi...
Nothing lancia Phone (4a) e Phone (4a) P...
Pentagono e Anthropic tornano a parlarsi...
Svelata la classifica 2026 sulle auto el...
Huawei Watch GT6 ora a soli 199€ su Amaz...
Intel vede segnali positivi per la Found...
Nasce in Germania una centrale ibrida eo...
News Corp firma un accordo pluriennale c...
Offerta lampo: iPhone 17 256GB scende a ...
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: 15:13.


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