Warning: this is an htmlized version!
The original is here, and
the conversion rules are here.
/*
 * This file:
 *   http://anggtwu.net/MAXIMA/2025-1-orbita.mac.html
 *   http://anggtwu.net/MAXIMA/2025-1-orbita.mac
 *          (find-angg "MAXIMA/2025-1-orbita.mac")
 * Author: Eduardo Ochs <eduardoochs@gmail.com>
 *
 * (defun e () (interactive) (find-angg "MAXIMA/2025-1-orbita.mac"))
 * (find-es "maxima" "qdraw-orbita")
 * (c3m251trajp 21 "orbita")
 * (c3m251traja    "orbita")
*/

/* (find-myqdraw "myqdraw3.mac")
 * (find-myqdraw "myqdraw3.mac" "mypara")
*/
load_myqdraw();
[xmin,ymin, xmax,ymax] : [-4,-4, 4,4];

h    :  1/12 * 2*%pi;
P(t) := [cos(t), sin(t)];
define(Q(t), P(4*t));
define(R(t), 1/2 * Q(t));
define(S(t), P(t) + R(t));

define(Pt(t), diff(P(t),t));
define(Qt(t), diff(Q(t),t));
define(Rt(t), diff(R(t),t));
define(St(t), diff(S(t),t));

[my_blue, my_yellow, my_green] : ["#7a76ec", "#ffd500", "#40d849"];
[color_P, color_R, color_S] : [my_blue, my_yellow, my_green];
[color_P, color_R, color_S] : ["red", "forest_green", "orange"];
color_Q : color_P;

traco_P([opts]) := myapply_fl('mypara, P(t), t,0,2*%pi, opts);
traco_Q([opts]) := myapply_fl('mypara, Q(t), t,0,2*%pi, opts);
traco_R([opts]) := myapply_fl('mypara, R(t), t,0,2*%pi, opts);
traco_S([opts]) := myapply_fl('mypara, S(t), t,0,2*%pi, opts);

traco_P() := myapply_fl('mypara, P(t), t,0,2*%pi, lc(color_P));
traco_Q() := myapply_fl('mypara, Q(t), t,0,2*%pi, lc(color_Q));
traco_R() := myapply_fl('mypara, R(t), t,0,2*%pi, lc(color_R));
traco_S() := myapply_fl('mypara, S(t), t,0,2*%pi, lc(color_S));

traco_PR () := [traco_P(), traco_R()];
traco_PRS() := [traco_P(), traco_R(), traco_S()];

/*
tracos_PRS([opts])  := [traco_P(lc(color_P), opts),
                        traco_R(lc(color_R), opts),
                        traco_S(lc(color_S), opts)];
*/

PPt(nh) := myPv_c(P(nh*h), Pt(nh*h), color_P);
QQt(nh) := myPv_c(Q(nh*h), Qt(nh*h), color_Q);
RRt(nh) := myPv_c(R(nh*h), Rt(nh*h), color_R);
SSt(nh) := myPv_c(S(nh*h), St(nh*h), color_S);

PRSt(nh) := [PPt(nh), RRt(nh), SSt(nh)];
PRSts()  := map(PRSt, seqby(0,12,1));
PRSts2() := map(PRSt, seqby(0,12,2));


/* (find-angg "MAXIMA/2025-1-leithold-reta.mac" "topdf_dimensions")
 * (find-fline "~/LATEX/2025-1-C3/")
*/
topdf_dimensions () := [xmax-xmin,ymax-ymin]*80;
topdf_dimensions () := [xmax-xmin,ymax-ymin]*120;
topdf_dimensions () := [xmax-xmin,ymax-ymin]*200;
topdf_terminalpdf() :=
  more(font="Arial", font_size=16,
       dimensions=topdf_dimensions(),
       terminal=pdf, file_name=topdf_abc());

[topdf_a,topdf_b,topdf_c,topdf_n] : ["~/LATEX/", "2025-1-C3/", "orbita_apr07", 0];

/*
* (eepitch-maxima)
* (eepitch-kill)
* (eepitch-maxima)
load("2025-1-orbita.mac");
myqdrawp_to_new_pdf();
myqdrawp_to_screen();

myqdrawp(xyrange(), traco_PR());

myqdrawp(xyrange(), traco_PR(),  map(PRSt, seqby( 0, 0,1)));
myqdrawp(xyrange(), traco_PR(),  map(PRSt, seqby( 1, 1,1)));
myqdrawp(xyrange(), traco_PR(),  map(PRSt, seqby( 2, 2,1)));
myqdrawp(xyrange(), traco_PR(),  map(PRSt, seqby( 3, 3,1)));
myqdrawp(xyrange(), traco_PR(),  map(PRSt, seqby( 4, 4,1)));
myqdrawp(xyrange(), traco_PR(),  map(PRSt, seqby( 5, 5,1)));
myqdrawp(xyrange(), traco_PR(),  map(PRSt, seqby( 6, 6,1)));
myqdrawp(xyrange(), traco_PR(),  map(PRSt, seqby( 7, 7,1)));
myqdrawp(xyrange(), traco_PR(),  map(PRSt, seqby( 8, 8,1)));
myqdrawp(xyrange(), traco_PR(),  map(PRSt, seqby( 9, 9,1)));
myqdrawp(xyrange(), traco_PR(),  map(PRSt, seqby(10,10,1)));
myqdrawp(xyrange(), traco_PR(),  map(PRSt, seqby(11,11,1)));
myqdrawp(xyrange(), traco_PR(),  map(PRSt, seqby(12,12,1)));

myqdrawp(xyrange(),               map(PRSt, seqby(0,12,4)));
myqdrawp(xyrange(),               map(PRSt, seqby(2,10,4)));
myqdrawp(xyrange(),               map(PRSt, seqby(1, 9,4)));
myqdrawp(xyrange(),               map(PRSt, seqby(3,11,4)));
myqdrawp(xyrange(),               map(PRSt, seqby(0,12,2)));
myqdrawp(xyrange(),               map(PRSt, seqby(0,12,1)));

myqdrawp(xyrange(),               map( SSt, seqby(0,12,2)));
myqdrawp(xyrange(), traco_PRS(),  map( SSt, seqby(0,12,2)));
myqdrawp(xyrange(), traco_S(),    map( SSt, seqby(0,12,2)));
myqdrawp(xyrange(), traco_S(),    map( SSt, seqby(0,12,1)));

* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
** (find-fline "~/LATEX/2025-1-C3/")
** (find-myqdraw "mkanim1.sh" "makeanim")
cd ~/LATEX/2025-1-C3/
cdr          () { echo ${@:2}; }
add_1zs      () { for i in $*; do echo $i 1-z; done; }
makeflipbook () { qpdf --empty --pages $(add_1zs $(cdr $*)) -- $1; }
makeflipbook orbita_apr07.pdf orbita_apr07_*.pdf
** (find-fline    "~/LATEX/2025-1-C3/" "orbita_apr07.pdf")
** (find-pdf-page "~/LATEX/2025-1-C3/orbita_apr07.pdf")

*/

dot_size()           := ps(2);
dot_size()           := ps(1.5);
dots_PRS (t, [opts]) := [myapply_fl('pts, [P(t)], dot_size(), pc(color_P), opts),
                         myapply_fl('pts, [R(t)], dot_size(), pc(color_R), opts),
                         myapply_fl('pts, [S(t)], dot_size(), pc(color_S), opts)];
dots_PQRS(t, [opts]) := [myapply_fl('pts, [P(t)], dot_size(), pc(color_P), opts),
                         myapply_fl('pts, [Q(t)], dot_size(), pc(color_Q), opts),
                         myapply_fl('pts, [R(t)], dot_size(), pc(color_R), opts),
                         myapply_fl('pts, [S(t)], dot_size(), pc(color_S), opts)];

/*
* (eepitch-maxima)
* (eepitch-kill)
* (eepitch-maxima)
load("2025-1-orbita.mac");
myqdraw(xyrange(), tracos_PRS(), dots_PRS(0.1));

*/


myline (P1,P2,[opts]) := myapply_fl('line, P1[1],P1[2], P2[1],P2[2], opts)$
myrect (O,v,w,[opts]) := myapply_fl('poly, [O,O+v,O+v+w,O+w], opts);
poly_PRS   (t,[opts]) := myrect([0,0],P(t),R(t),opts);
poly_PRS   (t)        := myrect([0,0],P(t),R(t),lc(green));

polys(t)              := [poly_PRS(t,lc(gray)), poly_vs(t,lc(gray))];

/*
PPt(t)                := myline(P(t), P(t)+Pt(t), lc(gray));
RRt(t)                := myline(R(t), R(t)+Rt(t), lc(gray));
SSt(t)                := myline(S(t), S(t)+St(t), lc(gray));
poly_vs(t)            := myrect(S(t),Pt(t),Rt(t), lc(gray));
vs(t)                 := [PPt(t), RRt(t), SSt(t), poly_vs(t)];
*/

/*
* (eepitch-maxima)
* (eepitch-kill)
* (eepitch-maxima)
load("2025-1-orbita.mac");
myqdraw(xyrange(), tracos(), poly_PRS(0.1));
myqdraw(xyrange(), tracos(), poly_PRS(0.1), vs(0.1));
myqdraw(xyrange(), tracos(), poly_PRS(0.2), vs(0.2));
myqdraw(xyrange(), tracos(), poly_PRS(0.3), vs(0.3));

*/