planet
Prev | Opcodes et opérateurs de l'orchestre | Next

## planet

planet — Simulation d'un planète en orbite dans un système d'étoile binaire.

## Description

planet simule l'orbite d'une planète dans un système d'étoile binaire. Les sorties sont les coordonnées x, y et z de la planète en orbite. Il est possible que la planète atteigne sa vitesse de libération si elle croise une étoile de très près. Cela rend le système quelque peu instable.

## Syntaxe

    ax, ay, az planet kmass1, kmass2, ksep, ix, iy, iz, ivx, ivy, ivz, idelta \
          [, ifriction] [, iskip]

## Initialisation

ix, iy, iz -- les coordonnées initiales x, y et z de la planète

ivx, ivy, ivz -- les composantes initiales du vecteur vitesse de la planète.

idelta -- la taille du pas utilisé dans l'approximation de l'équation différentielle.

ifriction (facultatif, 0 par défaut) -- une valeur de frottement que l'on peut utiliser pour empêcher le système de diverger

iskip (facultatif, 0 par défaut) -- s'il est non nul, l'initialisation du filtre est ignorée. (Nouveau dans les versions 4.23f13 et 5.0 de Csound)

## Exécution

ax, ay, az -- les coordonnées x, y et z de la planète en sortie

kmass1 -- la masse de la première étoile

kmass2 -- la masse de la seconde étoile

## Exemples

Voici un exemple de l'opcode planet. Il utilise le fichier planet.csd.

Example 633. Exemple de l'opcode planet.

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
    ; Audio out   Audio in    No messages
    -odac           -iadc     -d     ;;;RT audio I/O
    ; For Non-realtime ouput leave only the line below:
    ; -o planet.wav -W ;;; for file output any platform
    </CsOptions>
    <CsInstruments>

    ; Initialize the global variables.
    sr = 44100
    kr = 44100
    ksmps = 1
    nchnls = 2

    ; Instrument #1 - a planet oribiting in 3D space.
    instr 1
      ; Create a basic tone.
      kamp init 5000
      kcps init 440
      ifn = 1
      asnd oscil kamp, kcps, ifn

      ; Figure out its X, Y, Z coordinates.
      km1 init 0.5
      km2 init 0.35
      ksep init 2.2
      ix = 0
      iy = 0.1
      iz = 0
      ivx = 0.5
      ivy = 0
      ivz = 0
      ih = 0.0003
      ifric = -0.1
      ax1, ay1, az1 planet km1, km2, ksep, ix, iy, iz, \
                           ivx, ivy, ivz, ih, ifric

      ; Place the basic tone within 3D space.
      kx downsamp ax1
      ky downsamp ay1
      kz downsamp az1
      idist = 1
      ift = 0
      imode = 1
      imdel = 1.018853416
      iovr = 2
      aw2, ax2, ay2, az2 spat3d asnd, kx, ky, kz, idist, \
                                ift, imode, imdel, iovr

      ; Convert the 3D sound to stereo.
      aleft = aw2 + ay2
      aright = aw2 - ay2

      outs aleft, aright
    endin

    </CsInstruments>
    <CsScore>

    ; Table #1 a sine wave.
    f 1 0 16384 10 1

    ; Play Instrument #1 for 10 seconds.
    i 1 0 10
    e

    </CsScore>
    </CsoundSynthesizer>

## Voir aussi

Plus d'information sur cet opcode : http://www.csoundjournal.com/issue9/FlutesInOrbit.html , écrit par Brian Redfern.

## Crédits

Auteur : Hans Mikelson
Décembre 1998

Nouveau dans la version 3.50 de Csound

Prev | Up | Next
pitchamdf | Home | platerev