» it.Generare Feedback Loops
This site relies heavily on Javascript. You should enable it if you want the full experience. Learn more.

it.Generare Feedback Loops

English | Russian | French

The original english version of this page is newer and may contain information this translation does not have! Click here to view the english version.

Perché non riesco a connettere due pins dello stesso tipo?

Questo succede perché si sta tentando di generare un ciclo, loop, nel grafico.

Il concetto di loop (alla radice di tutta la cibernetica) è potente, ma quando lo si applica in una patch è necessario fare attenzione. La regola di base da ricordare è:
vvvv valuta i nodi del grafico una sola volta per ogni fotogramma, frame.

Se tutte le cose nel grafico succedono nello stesso momento, ecco, questo semplifica la pianificazione ed il debug della patch. Non c'è un ordine di esecuzione (come in altri linguaggi di programmazione grafica: ad esempio Max o PureData). Tutte le cose vengono automaticamente calcolate secondo l'ordine necessario. Anche i nodi non ritardano nel gestire i loro dati (come nell'elettronica digitale). Non ci si deve preoccupare di segnali che non arrivano nello stesso momento.

Ma in pratica, perché non funziona un loop in una patch? Succede perché finché un input non è noto, un output non può essere calcolato; e viceversa (tenendo presente il principio per cui vvvv calcola una sola volta i valori per ogni frame).

Anche se questo sembra il classico paradosso foriero di crash e schermi blu la soluzione è abbastanza semplice: in un certo punto del loop dobbiamo ricorrere al valore dell'ultimo frame, così da evitare infinite ricorsioni. Fai attenzione: il punto in cui si risale all'ultimo frame è importante, e cambiarlo potrebbe portare a variazioni più o meno sensibili del comportamento del loop.

Quindi, ogni volta che si fa una connessione, l'interfaccia di vvvv controlla se potrebbe presentarsi una situazione in cui l'ingresso di un nodo dipende dell'uscita dello stesso nodo, esattamente in quello stesso frame. Se questa condizione viene soddisfatta, vvvv non consente la connessione, in quanto non saprebbe dove andare a prendere quel valore dall'ultimo frame.

Ma allora come si può generare un loop?

La soluzione è semplice: nodi come hanno un output che non dipende dall'input di questo frame, ma da quello dell'ultimo frame (cioè di quello precedente, o del penultimo, o come preferite), cosa che è permessa senza alcun problema perché non contraddice la logica spiegata sopra. Così, se all'interno del loop c'è almeno uno di questi nodi (ne esistono altri con questa proprietà), il loop può esser chiuso.

Non esiste una regola generale che indichi a che punto del loop questi nodi debbano essere sistemati; anche perché dipende da come è costruita la patch e da cosa si vuole ottenere. Ma in fin dei conti, non è poi così complicato, no?

Per concludere. I loops sono roba forte, che consente ad esempio di memorizzare e modificare valori da un frame all'altro: contatori e calcoli d'iterazione risultano semplici da sviluppare come loops.

Quando si generano feedback loops usando il nodo FrameDelay (Animation) è importante evitare Spreads Vuoti.
Se ci sono problemi a salvare o riaprire la patch (ad esempio uno o più moduli riportano uno zero barrato, "Ø", nel pin di output) visitare questa pagina.

anonymous user login

Shoutbox

~9d ago

fleg: This Tuesday, Cologne: exhibition opening of "interwoven", textile disinformation patterns created with vvvv. https://fleg.de/news/exhibition-interwoven

~22d ago

manuelgonzalvez: Assimp nodes all broken afted Win Update w/exception "COM object that has been separated from its underlying RCW(...)"

~22d ago

manuelgonzalvez: @levi thanks would love to! anyway managed to get something similar working based on forum search and anthokio's patches.

~23d ago

levi: @ravasquez thanks. 31.2 x86 verrion worked. @manuelgonzalvez i have a dx11 projectTexture if u a want.

~24d ago

manuelgonzalvez: Anyone has a dx11 port of "projectedTexture" dx9 fx for projection mapping?

~24d ago

manuelgonzalvez: Anyone has a dx11 port of "projectedTexture" dx9 fx for projection mapping?

~25d ago

ravazquez: @levi not sure bout the ImagePack, but I believe VL.OpenCV should give you the same tools and should work with beta just fine

~25d ago

levi: anyone knows of a VVVVpacks.image that works for elliot's projector calibration patches?x64,dx11. always crashes v4 on solve.

~1mth ago

Lorenz: VJing with GIFS: https://lorenzpotthast.de/gifjockey/ A fun little side project, that I first prototyped in v4 and now turned web-based ;)

~2mth ago

schlonzo: finally fixed in 4.8 nice1