The output is the result of drawing an ellipse with axes k_xradius and k_yradius centered at (k_xcenter, k_ycenter), and traversing it at frequency kpch.
Here is an example of the wterrain opcode. It uses the files wterrain.orc and wterrain.sco.
Example 440. Example of the wterrain opcode.
/* wterrain.orc */ ; Initialize the global variables. sr = 44100 kr = 4410 ksmps = 10 nchnls = 1 instr 1 kdclk linseg 0, 0.01, 1, p3-0.02, 1, 0.01, 0 kcx line 0.1, p3, 1.9 krx linseg 0.1, p3/2, 0.5, p3/2, 0.1 kpch line cpspch(p4), p3, p5 * cpspch(p4) a1 wterrain 10000, kpch, kcx, kcx, -krx, krx, p6, p7 a1 dcblock a1 out a1*kdclk endin /* wterrain.orc */
/* wterrain.sco */ f1 0 8192 10 1 0 0.33 0 0.2 0 0.14 0 0.11 f2 0 4096 10 1 i1 0 4 7.00 1 1 1 i1 4 4 6.07 1 1 2 i1 8 8 6.00 1 2 2 e /* wterrain.sco */