Sto cercando di eseguire un algoritmo di dual contouring di base scritto in Python ( qui ) in C ++. Non sono un programmatore Python, quindi una parte della sintassi del linguaggio è un po 'strana per me.
In particolare, questo blocco di codice mi dà problemi:
# Estimate hermite data
h_data = [estimate_hermite(f, df, o+cube_verts[e[0]], o+cube_verts[e[1]])
for e in cube_edges if cube_signs[e[0]] != cube_signs[e[1]]]
La parte che non ha senso è che e
è definita nella terza riga per il ciclo for
, ma viene quindi utilizzata nella seconda riga. In questo caso, la dichiarazione del ciclo definita dopo il contenuto del ciclo? Ho provato a trovare altri casi di questo in Python, ma finora non sono riuscito.