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)); */