2014-05-24 19 views

risposta

11

una sorta di, è possibile eseguire questo frammento di codice prima di trama:

import numpy 
from mpl_toolkits.mplot3d import proj3d 
def orthogonal_proj(zfront, zback): 
    a = (zfront+zback)/(zfront-zback) 
    b = -2*(zfront*zback)/(zfront-zback) 
    return numpy.array([[1,0,0,0], 
         [0,1,0,0], 
         [0,0,a,b], 
         [0,0,0,zback]]) 
proj3d.persp_transformation = orthogonal_proj 

è attualmente un problema aperto trovato here.

+0

Ha funzionato, grazie! Le direzioni degli assi sembrano opposte, ma questo potrebbe probabilmente essere risolto giocando con i segni/ordine in questa matrice di trasformazione. – user3670781

+2

Sembra che mettere un piccolo numero negativo (ad esempio -0,0001) anziché zero nella terza colonna dell'ultima riga aiuti ad evitare problemi di singolarità della matrice e risolva una strana inversione della direzione degli assi. – user3670781

+0

@ user3670781 Aggiunta del piccolo numero negativo aiutato! Grazie :-) –