Door admin, 1 mei 2023

Logica helpt bij het organiseren van code en zorgt ervoor dat programma's efficiënter werken als ze goed worden uitgevoerd. Een goed geschreven code komt de leesbaarheid van de code ten goede.

 

De volgende link toont een tutorial van Mathew Ragan waar 'knoppen een film crossfader maken tussen 4 movieFile Ins: https://matthewragan.com/2015/03/29/ame-394-simple-vj-set-up-touchdesigner/. We analyseren dit netwerk als een eenvoudig voorbeeld van logica en codering.

Laten we proberen het doel van de tutorial te beschrijven in een menselijke logica: we gaan een netwerk bouwen met 4 filmfiles, een signaal/data om naar een projector te sturen en 4 knoppen die de projectie veranderen afhankelijk van de geselecteerde filmfileIn met behulp van een crossfader. Deze beschrijving van menselijke logica is de basis van wat wij gaan structureren in data en logica.

Logica helpt bij het organiseren van code en maakt het mogelijk dat programma's efficiënter werken als ze goed worden uitgevoerd. Een goed geschreven code helpt de leesbaarheid van de code. Zonder goed toegepaste logica kunnen programma's niet de verwachte output produceren. Python is een geïnterpreteerde, objectgeoriënteerde programmeertaal op hoog niveau met dynamische semantiek, ontwikkeld door Guido van Rossum.

Een expressie is een combinatie van waarden, variabelen, operatoren en aanroepen van functies. Uitdrukkingen moeten worden geëvalueerd. Als u Python vraagt een uitdrukking af te drukken, evalueert de interpreter de uitdrukking en toont het resultaat. Met callbacks kunt u Python gebruiken om te reageren op veel verschillende soorten veranderingen in TouchDesigner. Aan sommige operatoren zijn callback DAT's gekoppeld wanneer u ze maakt, zoals Timer CHOP, terwijl andere callback DAT's op zichzelf staan als hun eigen operatortype, zoals Parameter Execute DAT.

Gebeurtenissen in TouchDesigner zijn eenmalige gebeurtenissen die voortkomen uit verschillende omstandigheden - van invoeracties die een gebruiker veroorzaakt, van externe apparaten en software, en van interne TouchDesigner-toestanden veroorzaakt door zaken als timers en waarden die drempels overschrijden.

Om deze logica te laten werken moeten we eerst variabelen definiëren met waarden die gecontroleerd kunnen worden. Daarom gaan we verwijzen naar "constante waarden op het hoogste niveau van ons netwerk". Deze variabelen moeten worden gecontroleerd telkens wanneer zich een gebeurtenis voordoet.

Variabelen, uitdrukkingen en gebeurtenissen zijn drie elementen die we zullen gebruiken om onze code te maken die onze logica zal uitvoeren:

De gebeurtenis is wanneer de knop wordt aangeklikt. De expressie is de code voor elke knop, die een andere logica moet uitvoeren. Het onderscheiden van de logica gebeurt in een clausule: Als een waarde (of variabele) gelijk is aan het gehele getal "0" moet de logica eindigen in een ander resultaat dan wanneer het gelijk is aan "1".

Het if/else statement voert een blok code uit als een bepaalde voorwaarde waar is. Als de voorwaarde onwaar is, kan een ander blok code worden uitgevoerd. Het if/else statement is een onderdeel van JavaScript's "Conditional" Statements, die worden gebruikt om verschillende acties uit te voeren op basis van verschillende condities.

De actie die moet worden uitgevoerd bij een gebeurtenis is het toewijzen van de corresponderende MovieFileIn aan het corresponderende item van de crossfader.

 

 

Afbeelding
logic and TouchDesigner

Download the example:

Touchdesigner example logic