# AnimationFxDemo.adoc

    /*
      This file belongs in

      <TheGHOUL/DemoFiles/>

      Hank J. van Leuvensteijn Jr. 2021
      lionstone@mail.com
    */

    include<TheGHOUL/Config.scad>

    // Generate some graph paper...
    translate([0,0,-0.01])
    GraphPaper(Major=1,Minor=0.1,Size=10,LineFactor=200,Color=[0.5,0.5,0.5],Alpha=0.3);

    // Pick a good viewpoint.
    $vpr=[0,0,0];
    $vpt=[0.5,0.7,0]; // [1.4,0.6,0] for Domain=3
    $vpd=4;

    Domain=1;

    /*
      Experiment with the parameters directly in this call. See the actual function AnimationFxTwoSines() for an explanation of the parameters. This is just a demo-file.
    */

    /*
      UNcomment ONE of the lines immediately below.
    */
    TS(); // TwoSines
    //TRNGL(Freq=2); // Triangle
    //FRAC(Freq=1); // Fraction
    //SQR(Freq=1); // Square

    // Two Sines parameters, play with these (uncomment TS() call above).
    BASE=0;
    SINA=[0.7,90,2];
    SINB=[1,180,2];
    module TS(Freq=1){
        for(I=[0:0.001:Domain])
        translate([I,AnFxTS([0,$AnimSegs,Domain*$AnimSegs],BASE,SINA,SINB,Freq,$t=I),0])
        sphere(r=0.01,$fn=10);
    }

    module TRNGL(Freq=1){
        for(I=[0:0.001:Domain])
        translate([I,AnFxTr([0,$AnimSegs,Domain*$AnimSegs],Freq,$t=I),0])
        sphere(r=0.01,$fn=10);
    }

    module FRAC(Freq=1){
        for(I=[0:0.001:Domain])
        translate([I,AnFxFr([0,$AnimSegs,Domain*$AnimSegs],Freq,$t=I),0])
        sphere(r=0.01,$fn=10);
    }

    module SQR(Freq=1){
        for(I=[0:0.001:Domain])
        translate([I,AnFxSq([0,$AnimSegs,Domain*$AnimSegs],Freq,$t=I),0])
        sphere(r=0.01,$fn=10);
    }