GENquadbezier

"quadbezier" — Génère une table avec les valeurs d'une fonction de Bézier quadratique.

Description

Cette routine crée une ftable de segments construits par les chemins tracés par le fonction de Bézier quadratique.

Syntaxe

f # time size "quadbezier" y1 cx1 cy1 x2 y2 [cx2 cy2 x3 y3 ...]

Initialisation

x2, x3, etc. -- Positions dans la table auxquelles la valeur y suivante sera atteinte. Doivent être en ordre croissant. On suppose que x1 vaut 0. Si la dernière valeur est inférieure à la taille, les positions restantes seront mises à zéro. Ne doivent pas être négatives.

y1, y2, y3, etc. -- Valeurs charnière atteintes à la position spécifiée par la valeur x précédente.

cx1, cx2, cx3, etc. -- Coordonnées x virtuelles pour les différents points de contrôle. cx[n] peut être égal ou supérieur à x[n] et égal ou inférieur à x[n+1]. Ne doivent pas être négatives mais peuvent être nulles.

cy1, cy2, cy3, etc. -- Coordonnées y virtuelles pour les différents points de contrôle.

Exrmples

Voici un exemple de la routine GENquadbezier. Il utilise le fichier genquadbezier.csd.

Exemple 1168. Exemple de la routine GENquadbezier.

Voir les sections Audio en temps réel et Options de la ligne de commande pour plus d'information sur l'utilisation des options de la ligne de commande.

<CsoundSynthesizer>
<CsOptions>
; Select audio/midi flags here according to platform
-odac  ;;;realtime audio out
;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
; For Non-realtime ouput leave only the line below:
; -o quadbezier.wav -W ;;; for file output any platform
</CsOptions>
<CsInstruments>

sr = 44100
ksmps = 32
nchnls = 2
0dbfs  = 1

instr 1
kndx phasor 1/p3
kenv tablei kndx, p4, 1
asig poscil kenv, 440, 1
     outs asig, asig
  
endin

</CsInstruments>
<CsScore>
f 1 0 32768 10 1
f 2 0 1024 "quadbezier" 0 140 0.61 324 0.53 338 0.27 449 0.32 571 0.08 675 0.5 873 0.47 1024 0
f 3 0 1024 "quadbezier" 0 92 0.04 94 0.25 177 0.58 373 0.39 537 0.15 675 0.5 910 0.68 1024 0
f 4 0 1024 "quadbezier" 0 196 0.68 537 0.71 873 0.7 1024 0

i 1 0 4 2
i 1 4 4 3
i 1 8 4 4
</CsScore>
</CsoundSynthesizer>


Voici les diagrammes des enveloppes dessinées par la routine GENquadbezier dans l'exemple ci-dessus :

f 2 0 1024 "quadbezier" 0 140 0.61 324 0.53 338 0.27 449 0.32 571 0.08 675 0.5 873 0.47 1024 0

f 2 0 1024 "quadbezier" 0 140 0.61 324 0.53 338 0.27 449 0.32 571 0.08 675 0.5 873 0.47 1024 0

f 3 0 1024 "quadbezier" 0 92 0.04 94 0.25 177 0.58 373 0.39 537 0.15 675 0.5 910 0.68 1024 0

f 3 0 1024 "quadbezier" 0 92 0.04 94 0.25 177 0.58 373 0.39 537 0.15 675 0.5 910 0.68 1024 0

f 4 0 1024 "quadbezier" 0 196 0.68 537 0.71 873 0.7 1024 0

f 4 0 1024 "quadbezier" 0 196 0.68 537 0.71 873 0.7 1024 0

Voir aussi

Pour les références, consulter les commentaires dans le code source.

Crédits

Ecrit par Guillermo Senna

2016