2013-02-25 18 views
7

Ho trovato la funzionalità di trasformazione affine (ruotare, inclinare, tradurre, ridimensionare) ad Atene/Il Cairo in Pharo Smalltalk.Come trasformare una prospettiva con Atene/Cairo in Pharo Smalltalk

Sto cercando una trasformazione prospettica. Ciò è effettivamente possibile? Almeno non sembrano esserci metodi di convenienza per questo nell'API Cairo.

perspective transformation

+0

Inoltre, si dovrebbe chiedere nella mailing list di Pharo. –

+1

Ho chiesto l'elenco Cairo su questo numero di anni fa per la porta di VisualWorks. Hanno detto che non ce n'è. Sebbene ci fosse un certo interesse per la parte degli sviluppatori nel fornire un mezzo per farlo per i pattern di ImageSurface. Ma non penso che sia mai accaduto. –

risposta

6

Non vi è alcuna trasformazione di prospettiva, poiché le matrici utilizzate nel calcolo sono matrici affini 2x3, che non possono produrre tale trasformazione (nessuna combinazione di scala/rotazione su spazio di coordinate 2-D può produrre tale risultato). OpenGL usa una matrice 4x4 completa per le trasformazioni di coordinate (beh, di solito è 3x3 + colonne di traduzione), ma è sufficiente per creare trasformazioni come la proiezione prospettica.

2

ero sempre interessato a questo tipo di trasformazione anche.

Non solo in Pharo, ma anche altre piattaforme come Java (Java2D) o il canvas HTML5.

Finora, i miei risultati sottolineano che non sembra possibile.

Sembra che queste librerie non siano state semplicemente sviluppate pensando al 3D o al supporto 3D. Ovunque guardassi io le 2 proposte erano per lo più:

  • questo dovrebbe essere fatto utilizzando OpenGL
  • attuare la trasformazione in cima Cairo/Java2D/tela

Non è mia intenzione sembrare negativo, chiudi voleva condividere i miei risultati di ricerca e forse risparmiare un po 'di tempo.

Problemi correlati