рдореЗрдВ рд╕рджрд┐рд╢ рдЪрд┐рддреНрд░реЛрдВ рдХреЛ рдХреНрдпрд╛ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░реЗрдВ? рдореЗрд░реЗ рд▓рд┐рдП, рдХрдИ рдЕрдиреНрдп рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП, рдЬрд╡рд╛рдм рдмрд╣реБрдд рд╕реНрдкрд╖реНрдЯ рд╣реИ: рдЗрд▓рд╕реНрдЯреНрд░реЗрдЯрд░ рдореЗрдВ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИред рдЦреИрд░, рдпрд╛ Inskape рдореЗрдВред рдореИрдВрдиреЗ рдпрд╣ рднреА рд╕реЛрдЪрд╛ рдХрд┐ рдЬрдм рдореБрдЭреЗ рднреМрддрд┐рдХреА рдХреА рдкрд╛рдареНрдпрдкреБрд╕реНрддрдХ рдХреЗ рд▓рд┐рдП рдЖрда рд╕реМ рдЯреБрдХрдбрд╝реЗ рдирд┐рдХрд╛рд▓рдиреЗ рдХрд╛ рдЖрджреЗрд╢ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдРрд╕рд╛ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реИ, рдмрд╕ рдХрд╛рд▓реЗ рдФрд░ рд╕рдлреЗрдж рддрдХрдиреАрдХреА рдЪрд┐рддреНрд░ рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рдмреНрд▓реЙрдХ, рдмреЙрд▓, рд╕реНрдкреНрд░рд┐рдВрдЧреНрд╕, рд▓реЗрдВрд╕, рдХрд╛рд░, рдЯреНрд░реИрдХреНрдЯрд░ рдФрд░ рдЗрд╕реА рддрд░рд╣ рдХреЗ рд╣реИрдВред рдпрд╣ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рдерд╛ рдХрд┐ рдкреБрд╕реНрддрдХ рд▓реЗрдЯ рдореЗрдВ рдмрдирд╛рдИ рдЬрд╛рдПрдЧреА, рдФрд░ рдореБрдЭреЗ Word рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рдореНрдорд┐рд▓рд┐рдд рдЪрд┐рддреНрд░реЛрдВ рдХреЗ рд╕рд╛рде рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ - рдпрд╛ рддреЛ рдкреЗрдВрд╕рд┐рд▓ рд╕реНрдХреЗрдЪ рдореЗрдВ, рдпрд╛ рдЕрдиреНрдп рдкреБрд╕реНрддрдХреЛрдВ рд╕реЗ рд╕реНрдХреИрди - рдФрд░ рдкрд╛рдВрдбреБрд▓рд┐рдкрд┐ рдХрд┐рд╕реА рд░реВрдк рдореЗрдВ рд▓рдЧ рд░рд╣реА рдереАред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдкрд╣рд▓реЗ рд╕реЛрдЪрд╛ - рдЗрдирд╕реНрдХреЗрдк рдореЗрдВ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП - рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рдХрд▓реНрдкрдирд╛рдУрдВ рдХреЗ рдЖрдЧреЗ рдЭреБрдХ рдЧрдпрд╛ "рдпрд╣ рд╕рдм рдХреБрдЫ рдХреИрд╕реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╣реЛрдЧрд╛?" рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ,
MetaPost рдЙрд╕ рд╕рдордп рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдХрд▓реНрдк рд▓рдЧрддрд╛ рдерд╛ред

рдЗрд╕ рддрд░рд╣ рдХреЗ рд╕рдорд╛рдзрд╛рди рдХрд╛ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдкреНрд▓рд╕ рдпрд╣ рд╣реИ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдЪрд┐рддреНрд░ рдХрдИ рдЪрд░ рдХрд╛ рдПрдХ рдЫреЛрдЯрд╛ рдХрд╛рд░реНрдп рд╣реЛ рд╕рдХрддрд╛ рд╣реИ; рдЗрд╕ рддрд░рд╣ рдХреА рддрд╕реНрд╡реАрд░ рдЖрд╕рд╛рди рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЕрдиреБрдкрд╛рдд рдХрд╛ рдЙрд▓реНрд▓рдВрдШрди рдХрд┐рдП рдмрд┐рдирд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреВрд░реНрд╡ рдЕрдЬреНрдЮрд╛рдд рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рдЖрдХрд╛рд░ рдФрд░ рдлрд┐рдЯ рдзрд╛рд░рд┐рдпреЛрдВ рдореЗрдВ рдмрджрд▓рдирд╛, рдЬреЛ рдХрд┐ рдЕрдзрд┐рдХ рдкрд╛рд░рдВрдкрд░рд┐рдХ рд╕рд╛рдзрдиреЛрдВ рдХреЗ рд╕рд╛рде рд╣рд╛рд╕рд┐рд▓ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИред рдФрд░ рджреЛрд╣рд░рд╛рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рддрддреНрд╡ - рдПрдХ рд╣реА рдЧреЗрдВрдж рдФрд░ рд╕реНрдкреНрд░рд┐рдВрдЧреНрд╕ - "рдорд╛рдирд╡" рд╡реЗрдХреНрдЯрд░ рд╕рдВрдкрд╛рджрдХреЛрдВ рдХреА рдЕрдиреБрдорддрд┐ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рджрд┐рд▓рдЪрд╕реНрдк рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдореИрдВ рд╣реИрдЪрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдЪрд┐рддреНрд░ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛, рдЬреИрд╕реЗ рдкреБрд░рд╛рдиреА рдХрд┐рддрд╛рдмреЛрдВ рдореЗрдВ рдкрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдореЗрдВ рдЪрд░ рдореЛрдЯрд╛рдИ рдХреА рд▓рд╛рдЗрдиреЗрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреА рдереАрдВред рдпрд╣рд╛рдВ рдореБрдЦреНрдп рдХрдард┐рдирд╛рдИ рдПрдХ рд╡рдХреНрд░ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдирд╛ рд╣реИ рдЬреЛ рджрд┐рдП рдЧрдП рдПрдХ рдХреЗ рд▓рд┐рдП рдХрдо рдпрд╛ рдЬреНрдпрд╛рджрд╛ рд╕рдорд╛рдирд╛рдВрддрд░ рд╣реИ, рдФрд░ рдЖрд╡рд╢реНрдпрдХрддрд╛рдиреБрд╕рд╛рд░, рджреВрд░реА рдХреЛ рдПрдХ рдореЗрдВ рдмрджрд▓ рджреЗрдирд╛ рд╣реИред рдореИрдВ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ, рд╢рд╛рдпрдж, рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдкреНрд░рд╛рдЗрдорд┐рдЯрд┐рд╡
рддрд░реАрдХреЗ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рдерд╛ рдЬрд┐рд╕рдореЗрдВ рдмреЗрдЬрд╝рд┐рдпрд░ рд╡рдХреНрд░ рдХреЗ рдордзреНрдпрд╡рд░реНрддреА рдмрд┐рдВрджреБрдУрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рд╡рд╛рд▓реЗ рдЦрдВрдбреЛрдВ рдХреЛ рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рджрд┐рдП рдЧрдП рджреВрд░реА рдкрд░ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рдЕрдВрддрд░ рдХреЗ рд╕рд╛рде рдХрд┐ рдпрд╣ рджреВрд░реА рд╡рдХреНрд░ рдХреЗ рд╕рд╛рде рднрд┐рдиреНрди рд╣реЛ рд╕рдХрддреА рд╣реИред

рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдпрд╣ рдПрдХ рд╕рднреНрдп рдкрд░рд┐рдгрд╛рдо рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рдЙрджрд╛рд╣рд░рдг рдХреЛрдбрдЗрд╕рдХреЗ рдмрд╛рдж рдпрд╣ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдкреБрд╕реНрддрдХрд╛рд▓рдп
рдбрд╛рдЙрдирд▓реЛрдб рд╣реЛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдХрд╣реАрдВ рди рдХрд╣реАрдВ
input fiziko.mp;
рд▓рд╛рдЗрди рд╣реИ
input fiziko.mp;
ред ConTeXt рдореЗрдВ рд╢реБрд░реВ рдХрд░рдиреЗ рдФрд░ рджреЗрдЦрдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рддреЗрдЬрд╝ рддрд░реАрдХрд╛ (рдлрд┐рд░
beginfig
рдФрд░
endfig
рдЬрд╝рд░реВрд░рдд рдирд╣реАрдВ рд╣реИ):
\starttext
\startMPcode
input fiziko.mp;
\stopMPcode
\stoptext
рдпрд╛ LuaLaTeX рдореЗрдВ:
\documentclass{article}
\usepackage{luamplib}
\begin{document}
\begin{mplibcode}
input fiziko.mp;
\end{mplibcode}
\end{document}
beginfig(3);
path p, q; % , , ,
p := (0,-1/4cm){dir(30)}..(5cm, 0)..{dir(30)}(10cm, 1/4cm);
q := offsetPath(p)(1cm*sin(offsetPathLength*pi)); % тАФ , тАФ (offsetPathLength, 0 1), ,
draw p;
draw q dashed evenly;
endfig;
рдЕрдм рдЗрдирдореЗрдВ рд╕реЗ рджреЛ рд╡рдХреНрд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЪрд░ рдореЛрдЯрд╛рдИ рдХреА рдПрдХ рд░реЗрдЦрд╛ рдХреЗ рд╕рдореЛрдЪреНрдЪ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдЙрджрд╛рд╣рд░рдг рдХреЛрдбbeginfig(4);
path p, q[];
p := (0,-1/4cm){dir(30)}..(5cm, 0)..{dir(30)}(10cm, 1/4cm);
q1 := offsetPath(p)(1/2pt*(sin(offsetPathLength*pi)**2)); %
q2 := offsetPath(p)(-1/2pt*(sin(offsetPathLength*pi)**2)); %
fill q1--reverse(q2)--cycle;
endfig;
рдореЛрдЯрд╛рдИ рдиреАрдЪреЗ рд╕реЗ рдХреБрдЫ рд╣рдж рддрдХ рд╕реАрдорд┐рдд рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП, рдЕрдиреНрдпрдерд╛ рдЫрдкрд╛рдИ рдХрд░рддреЗ рд╕рдордп рд░реЗрдЦрд╛рдкреБрдВрдЬ рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рдмрд╣реБрдд рдкрддрд▓реЗ рд╣рд┐рд╕реНрд╕реЛрдВ рдкрд░ рд▓реЗ рдЬрд╛рдПрдЧрд╛, рдФрд░ рдпрд╣ рдЖрдорддреМрд░ рдкрд░ рдмрд╣реБрдд рд╕реБрдВрджрд░ рдирд╣реАрдВ рд╣реИред рдПрдХ рд╡рд┐рдХрд▓реНрдк рд╕рднреА рд░реЗрдЦрд╛рдУрдВ рдХреЛ рдЦреАрдВрдЪрдирд╛ рд╣реИ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдореЛрдЯрд╛рдИ рдХреБрдЫ рдореВрд▓реНрдп рд╕реЗ рдХрдо рд╣реИ, рд╕рдорд╛рди рдиреНрдпреВрдирддрдо рдореЛрдЯрд╛рдИ рдХреА рдзрд░рд╛рд╢рд╛рдпреА рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рд╕рд╛рде, рдЬреИрд╕реЗ рдХрд┐ рдФрд╕рдд рдкреНрд░рддрд┐ рдпреВрдирд┐рдЯ рд▓рдВрдмрд╛рдИ рдкрд░ рдкреЗрдВрдЯ рдХреА рдХреБрд▓ рдорд╛рддреНрд░рд╛ рд▓рдХреНрд╖реНрдп рдореЛрдЯрд╛рдИ рдХреА рд░реЗрдЦрд╛ рд╕реЗ рдореЗрд▓ рдЦрд╛рддреА рд╣реИред рдпрд╣реА рд╣реИ, рд▓рд╛рдЗрди рдХреЗ рдХрд┐рдирд╛рд░реЛрдВ рд╕реЗ рдкреЗрдВрдЯ рдХреА рдорд╛рддреНрд░рд╛ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдЗрд╕реЗ рдЕрдиреБрдкреНрд░рд╕реНрде рдзрд╛рд░рд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХреБрддрд░рдирд╛ рд╢реБрд░реВ рдХрд░реЗрдВред

рдЙрджрд╛рд╣рд░рдг рдХреЛрдбbeginfig(5);
path p;
p := (0,-1/4cm){dir(30)}..(5cm, 0)..{dir(30)}(10cm, 1/4cm);
draw brush(p)(1pt*(sin(offsetPathLength*pi)**2)); % , ,
endfig;
рдЕрдм рдЖрдк рдЧреЗрдВрджреЛрдВ рдХреЛ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рд╕рд┐рд░реНрдл рд╕рдВрдХреЗрдВрджреНрд░рд┐рдд рд╡реГрддреНрдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рд░реЗрдЦрд╛рдУрдВ рдХреА рдореЛрдЯрд╛рдИ рдЙрди рдмрд┐рдВрджреБрдУрдВ рдкрд░ рдЧреЗрдВрдж рдХреА рд░реЛрд╢рдиреА рдХреЗ рдХрд╛рд░реНрдп рд╕реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╣реЛрддреА рд╣реИ, рдЬрд┐рд╕рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд░реЗрдЦрд╛рдПрдВ рдЧреБрдЬрд░рддреА рд╣реИрдВред

рдЙрджрд╛рд╣рд░рдг рдХреЛрдбbeginfig(6);
draw sphere.c(1.2cm);
draw sphere.c(2.4cm) shifted (2cm, 0);
endfig;
рдПрдХ рдФрд░ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЖрджрд┐рдо "рд╣реЛрд╕реЗрд╕" рд╣реИ: рдореЛрдЯреЗ рддреМрд░ рдкрд░ рдмреЛрд▓, рд╕рд┐рд▓реЗрдВрдбрд░ рдЬреЛ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдореБрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЬрдм рддрдХ рд╡реЗ рдирд┐рд░рдВрддрд░ рдХреНрд░реЙрд╕ рд╕реЗрдХреНрд╢рди рдХреЗ рд╣реЛрддреЗ рд╣реИрдВ, рддрдм рддрдХ рдЙрдирдХреЗ рд╕рд╛рде рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рд╣реЛрддрд╛ рд╣реИред

рдЙрджрд╛рд╣рд░рдг рдХреЛрдбbeginfig(7);
path p;
p := subpath (1,8) of fullcircle scaled 3cm;
draw tube.l(p)(1/2cm); % тАФ ,
endfig;
рдпрджрд┐ рдореЛрдЯрд╛рдИ рдмрджрд▓рддреА рд╣реИ, рддреЛ рдФрд╕рдд рднрд░рдг рдШрдирддреНрд╡ рдХреЛ рдмрдирд╛рдП рд░рдЦрддреЗ рд╣реБрдП, рд╕реНрдЯреНрд░реЛрдХ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рддрджрдиреБрд╕рд╛рд░ рдмрджрд▓рдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рд░реЛрд╢рдиреА рдХреА рдЧрдгрдирд╛ рдХрд░рддреЗ рд╕рдордп рдореЛрдЯрд╛рдИ рдореЗрдВ рднреА рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЙрджрд╛рд╣рд░рдг рдХреЛрдбbeginfig(8);
path p;
p := pathSubdivide(fullcircle, 2) scaled 3cm;
draw tube.l(p)(1/2cm + 1/6cm*sin(offsetPathLength*10pi));
endfig;
рдЕрднреА рднреА рдЕрдиреБрдкреНрд░рд╕реНрде рд╣реИрдЪрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рд╣реЛрд╕реЗрд╕ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЙрдирдХреЗ рд▓рд┐рдП рдФрд╕рдд рднрд░рдг рдШрдирддреНрд╡ рдХреЛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдирд╛ рдЕрдзрд┐рдХ рдХрдард┐рди рдерд╛, рдЗрд╕рд▓рд┐рдП рдХрдИ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рд╡реЗ рдЕрдм рддрдХ рдмрд╣реБрдд рдЕрдЪреНрдЫреЗ рдирд╣реАрдВ рд▓рдЧрддреЗ рд╣реИрдВред

рдЙрджрд╛рд╣рд░рдг рдХреЛрдбbeginfig(9);
path p;
p := pathSubdivide(fullcircle, 2) scaled 3cm;
draw tube.t(p)(1/2cm + 1/6cm*sin(offsetPathLength*10pi));
endfig;
рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдмрд╣реБрдд рд╕рд╛рд░реА рдЪреАрдЬреЗрдВ рдЕрдХреЗрд▓реЗ рд╣реЛрдЬрд╝ рд╕реЗ рдмрдирд╛рдИ рдЬрд╛ рд╕рдХрддреА рд╣реИрдВ: рд╢рдВрдХреБ рдФрд░ рд╕рд┐рд▓реЗрдВрдбрд░ рд╕реЗ рд▓реЗрдХрд░ рдмреЗрд▓рд╕реНрдЯрд░ рддрдХред

рдЙрджрд╛рд╣рд░рдг рдХреЛрдбbeginfig(10);
draw tube.l ((0, 0) -- (0, 3cm))((1-offsetPathLength)*1cm) shifted (-3cm, 0); %
path p;
p := (-1/2cm, 0) {dir(175)} .. {dir(5)} (-1/2cm, 1/8cm) {dir(120)} .. (-2/5cm, 1/3cm) .. (-1/2cm, 3/4cm) {dir(90)} .. {dir(90)}(-1/4cm, 9/4cm){dir(175)} .. {dir(5)}(-1/4cm, 9/4cm + 1/5cm){dir(90)} .. (-2/5cm, 3cm); %
p := pathSubdivide(p, 6);
draw p -- reverse(p xscaled -1) -- cycle;
tubeGenerateAlt(p, p xscaled -1, p rotated -90); % , tube.t, тАФ тАФ , тАФ .
endfig;
рдРрд╕реЗ рднрд╛рдЧреЛрдВ рдореЗрдВ рд╕реЗ рдХреБрдЫ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдПрдХ рдЧреНрд▓реЛрдм рдореВрд▓ рд░реВрдк рд╕реЗ рдПрдХ рдЧреЗрдВрдж рд╣реИред

рдЙрджрд╛рд╣рд░рдг рдХреЛрдбbeginfig(11);
draw globe(1cm, -15, 0) shifted (-6/2cm, 0); % , ,
draw globe(3/2cm, -30.28367, 59.93809);
draw globe(4/3cm, -140, -30) shifted (10/3cm, 0);
endfig;
рд╣рд╛рд▓рд╛рдВрдХрд┐ рдирд╣реАрдВ: рдпрд╣рд╛рдВ рд╣реИрдЪрд┐рдВрдЧ рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рдЪрд▓рддреА рд╣реИ, рдФрд░ рднрд░рд╛рд╡ рдШрдирддреНрд╡ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдЯреНрд░реЛрдХ рдХреА рдореЛрдЯрд╛рдИ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдирд╛ рд╣реЛрд╕реЗрд╕ рдкрд░ рдЕрдиреБрдкреНрд░рд╕реНрде рд╣реИрдЪрд┐рдВрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдФрд░ рднреА рдХрдард┐рди рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдПрдХ рдЕрд▓рдЧ рдкреНрд░рдХрд╛рд░ рдХреА рдЧреЗрдВрдж рд╣реИред

рдЙрджрд╛рд╣рд░рдг рдХреЛрдбbeginfig(12);
draw sphere.l(2cm, -60); %
draw sphere.l(3cm, 45) shifted (3cm, 0);
endfig;
рдФрд░ рд╡рдЬрди рдЪрд░ рдореЛрдЯрд╛рдИ рдХреЗ hoses рдХреЗ рджреЛ рдкреНрд░рдХрд╛рд░ рдХреЗ рдПрдХ рд╕реАрдзрд╛ рдбрд┐рдЬрд╛рдЗрди рд╣реИред

рдЙрджрд╛рд╣рд░рдг рдХреЛрдбbeginfig(13);
draw weight.s(1cm); %
draw weight.s(2cm) shifted (2cm, 0);
endfig;
рдЕрднреА рднреА hoses рдХреЛ рд╕рдореБрджреНрд░реА рдореАрд▓ рдореЗрдВ рдмрд╛рдВрдзрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдХрд░рдг рд╣реИред

рдирдореВрдирд╛ рдХреЛрдб рддрд╛рдХрд┐ рдЕрд╡реНрдпрд╡рд╕реНрдерд╛ рди рд╣реЛ, рдХреЗрд╡рд▓ рдПрдХ рдиреЛрдбbeginfig(14);
path p;
p := (dir(90)*4/3cm) {dir(0)} .. tension 3/2 ..(dir(90 + 120)*4/3cm){dir(90 + 30)} .. tension 3/2 ..(dir(90 - 120)*4/3cm){dir(-90 - 30)} .. tension 3/2 .. cycle;
p := p scaled 6/5;
addStrandToKnot (primeOne) (p, 1/4cm, "l", "1, -1, 1"); % primeOne , p 1/4cm, "l" ( tube.l, tube.t ) ┬л┬╗ "1, -1, 1" p
draw knotFromStrands (primeOne); % .
endfig;
рдиреЛрдбреНрд╕ рдХреА рдЫрд╛рдпрд╛ рдкреНрд░рдХрд╛рд╢ рдореЙрдбрд▓ рдореЗрдВ рдХреБрдЫ рдЬрдЯрд┐рд▓рддрд╛рдПрдВ рд╣реИрдВред рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдХреЛрдИ рднреА рдЙрдиреНрд╣реЗрдВ рдЕрдиреНрдп рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реЗрд╢рд╛рди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рд╡реЙрд▓реНрдпреВрдо рдореЗрдВ рдЧрд╣рд░рд╛рдИ рддрдХ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рдХреНрд╖реНрдп рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЬрдм рдпрд╣ рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдирд╣реАрдВ рд╣реИ, рддреЛ рдпрд╣ рд╣рд░ рдЬрдЧрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

рдЙрджрд╛рд╣рд░рдг рдХреЛрдбbeginfig(15);
path shadowPath[];
boolean shadowsEnabled;
numeric numberOfShadows;
shadowsEnabled := true; %
numberOfShadows := 1; %
shadowPath0 := (-1cm, -2cm) -- (-1cm, 2cm) -- (-1cm +1/6cm, 2cm) -- (-1cm + 1/8cm, -2cm) -- cycle; % , ,
shadowDepth0 := 4/3cm; % - ┬л┬╗ ,
shadowPath1 := shadowPath0 rotated -60;
shadowDepth1 := 4/3cm;
draw sphere.c(2.4cm); % sphere.c tube.l
fill shadowPath0 withcolor white;
draw shadowPath0;
fill shadowPath1 withcolor white;
draw shadowPath1;
endfig;
рдФрд░, рдЬрд╝рд╛рд╣рд┐рд░ рд╣реИ, рдЖрдкрдХреЛ рдПрдХ рд▓рдХрдбрд╝реА рдХреА рдмрдирд╛рд╡рдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдкреЗрдбрд╝ рдХреЗ рдЫрд▓реНрд▓реЗ рдХреЗ рд╡рд░реНрдЧреЛрдВ рдХреЗ рдкреИрдЯрд░реНрди рдкрд░ рдЧрд╛рдВрдареЛрдВ рдХреА рд╡реГрджреНрдзрд┐ рдХреА рдкреНрд░рдХреГрддрд┐ рдХрд╛ рдкреНрд░рднрд╛рд╡ рдЧрдВрднреАрд░ рд╢реЛрдз рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╖рдп рд╣реИред рдмрд╣реБрдд рд╕рд░рд▓ рдХрд░рддреЗ рд╣реБрдП, рд╣рдо рд╕рдорд╛рдирд╛рдВрддрд░ рд╡рд┐рдорд╛рдиреЛрдВ рдореЗрдВ рд╡рд╛рд░реНрд╖рд┐рдХ рдЫрд▓реНрд▓реЗ рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рд╕рдореБрджреНрд░реА рдореАрд▓ рдХреА рд╡рд┐рдХреГрддрд┐рдпреЛрдВ рдХрд╛ рдкрд░рд┐рдЪрдп рд╣реЛрддрд╛ рд╣реИред рддреЛ рдпрд╣ рдХреБрдЫ рдмрд╣реБрдд рд╣реА рдкрд░рд┐рд╖реНрдХреГрдд рдХрд╛рд░реНрдп (рдЧрд╛рдБрда рд╕рдорд╛рд░реЛрд╣) рджреНрд╡рд╛рд░рд╛ рд╡рд┐рдорд╛рди рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ рдФрд░ рдкреЗрдбрд╝ рдХреЗ рдЫрд▓реНрд▓реЗ рдХреЗ рд╡рд╛рдВрдЫрд┐рдд рдкреИрдЯрд░реНрди рдХреЗ рд░реВрдк рдореЗрдВ рдРрд╕реЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕реЗрдЯ рдХреЗ рдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдЖрдЗрд╕реЛрд▓реЗрдЯрд┐рди рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред

рдЙрджрд╛рд╣рд░рдг рдХреЛрдбbeginfig(16);
numeric w, b;
pair A, B, C, D, A', B', C', D';
w := 4cm;
b := 1/2cm;
A := (0, 0);
A' := (b, b);
B := (0, w);
B' := (b, wb);
C := (w, w);
C' := (wb, wb);
D := (w, 0);
D' := (wb, b);
draw woodenThing(A--A'--B'--B--cycle, 0); % , A--A'--B'--B--cycle, 0
draw woodenThing(B--B'--C'--C--cycle, 90);
draw woodenThing(C--C'--D'--D--cycle, 0);
draw woodenThing(A--A'--D'--D--cycle, 90);
eyescale := 2/3cm; %
draw eye(150) shifted 1/2[A,C]; % 150
endfig;
рдКрдкрд░ рдХреА рддрд╕реНрд╡реАрд░ рд╕реЗ рдЖрдВрдЦ рдереЛрдбрд╝реА рдЦреБрд▓ рд╕рдХрддреА рд╣реИ, рдлрд┐рд░ рд╕реНрдХреНрд╡рд┐рдВрдЯ, рдФрд░ рдкреБрддрд▓реА рдХреА рдЪреМрдбрд╝рд╛рдИ рдмрджрд▓ рдЬрд╛рддреА рд╣реИред рдЗрд╕рдореЗрдВ рдХреЛрдИ рд╡рд┐рд╢реЗрд╖ рдЕрд░реНрде рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рддрд╛ рд╣реИ рдЕрдЧрд░ рдЗрд╕ рддрд░рд╣ рдХреЗ trifles рдпрдВрддреНрд░рд╡рддреН рд╣рд░ рдЬрдЧрд╣ рд╕рдорд╛рди рдереЗред

рдЙрджрд╛рд╣рд░рдг рдХреЛрдбbeginfig(17);
eyescale := 2/3cm; % 1/2cm
draw eye(0) shifted (0cm, 0);
draw eye(0) shifted (1cm, 0);
draw eye(0) shifted (2cm, 0);
draw eye(0) shifted (3cm, 0);
draw eye(0) shifted (4cm, 0);
endfig;
рдЕрдзрд┐рдХрддрд░, рдЪрд┐рддреНрд░ рдмрд╣реБрдд рдЬрдЯрд┐рд▓ рдирд╣реАрдВ рдереЗ, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдк рдЗрд╕ рдорд╛рдорд▓реЗ рдХреЛ рдкреВрд░реА рдЧрдВрднреАрд░рддрд╛ рдХреЗ рд╕рд╛рде рдЕрдкрдирд╛рддреЗ рд╣реИрдВ, рддреЛ рдЙрдиреНрд╣реЗрдВ рд╕рд╛рд░реНрдердХ рд░реВрдк рд╕реЗ рдЪрд┐рддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣рд╛рдБ, рдорд╛рди рд▓реЗрдВ рдХрд┐ рд▓реЛрдкрд┐рдЯрд▓ рдХрд╛ рдмреНрд▓реЙрдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрд╛рд░реНрдп (рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдЗрд╕реЗ рд░реВрд╕реА рдореЗрдВ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдХреИрд╕реЗ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╣ рдкрд╛рдареНрдпрдкреБрд╕реНрддрдХ рдореЗрдВ рдирд╣реАрдВ рд╣реИ, рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╣реИ): рдмреНрд▓реЙрдХ рдмрд┐рдВрджреБ A рдкрд░ рд▓рдВрдмрд┐рдд l рдХреА рд░рд╕реНрд╕реА рдкрд░ рд▓рдЯрдХрд╛ рд╣реБрдЖ рд╣реИ, рдЗрд╕реЗ рджреВрд╕рд░реА рд░рд╕реНрд╕реА рдкрд░ рдЭреБрдХрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдмрд┐рдВрджреБ B рдкрд░ рд╕рдорд╛рди рдКрдБрдЪрд╛рдИ рдкрд░ рдирд┐рд▓рдВрдмрд┐рдд, рдХрд╛рд░реНрдЧреЛ C рджреВрд╕рд░реА рд░рд╕реНрд╕реА рдкрд░ рд▓рдЯрдХрддрд╛ рд╣реИред рд╕рд╡рд╛рд▓ рдпрд╣ рд╣реИ рдХрд┐ рдЕрдЧрд░ рд░рд╕реНрд╕реА рдФрд░ рдмреНрд▓реЙрдХ рднрд╛рд░рд╣реАрди рд╣реИрдВ, рддреЛ рдХрд╛рд░реНрдЧреЛ рдХрд╣рд╛рдБ рд╣реЛрдЧрд╛? рд╣реИрд░рд╛рдиреА рдХреА рдмрд╛рдд рд╣реИ, рд╕рдорд╕реНрдпрд╛ рдФрд░ рдирд┐рд░реНрдорд╛рдг рджреЛрдиреЛрдВ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдЗрддрдирд╛ рдкреНрд░рд╛рдердорд┐рдХ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди, рдХрдИ рдЪрд░ рдХреЗ рд╕рд╛рде рдЦреЗрд▓рддреЗ рд╣реБрдП, рдЖрдк рдЖрд╕рд╛рдиреА рд╕реЗ рдЪрд┐рддреНрд░ рдХреЛ рд╡рд╣реА рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдкрдЯреНрдЯреА рдкрд░ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд▓рдЧреЗрдЧрд╛, рдЬрдмрдХрд┐ рдпрд╣ рд╕рдЪ рд╣реИред

рдЙрджрд╛рд╣рд░рдг рдХреЛрдбvardef lHopitalPulley (expr AB, l, m) = % AB l, m . ? : , , arithmetic overflow.
save A, B, C, D, E, o, a, x, y, d, w, h, support;
image(
pair A, B, C, D, E, o[];
path support;
numeric a, x[], y[], d[], w, h;
x1 := (l**2 + abs(l)*((sqrt(8)*AB)++l))/4AB; % ,
y1 := l+-+x1; %
y2 := m - ((AB-x1)++y1); %
A := (0, 0);
B := (AB*cm, 0);
D := (x1*cm, -y1*cm);
C := D shifted (0, -y2*cm);
d1 := 2/3cm; d2 := 1cm; d3 := 5/6d1; % ,
w := 2/3cm; h := 1/3cm; % . ,
o1 := (unitvector(CD) rotated 90 scaled 1/2d3);
o2 := (unitvector(DB) rotated 90 scaled 1/2d3);
E := whatever [D shifted o1, C shifted o1]
= whatever [D shifted o2, B shifted o2]; % ,
a := angle(AD);
support := A shifted (-w, 0) -- B shifted (w, 0) -- B shifted (w, h) -- A shifted (-w, h) -- cycle;
draw woodenThing(support, 0); % ,
draw pulley (d1, a - 90) shifted E; %
draw image(
draw A -- D -- B withpen thickpen;
draw D -- C withpen thickpen;
) maskedWith (pulleyOutline shifted E); %
draw sphere.c(d2) shifted C shifted (0, -1/2d2); %
dotlabel.llft(btex $A$ etex, A);
dotlabel.lrt(btex $B$ etex, B);
dotlabel.ulft(btex $C$ etex, C);
label.llft(btex $l$ etex, 1/2[A, D]);
)
enddef;
beginfig(18);
draw lHopitalPulley (6, 2, 11/2); % ,
draw lHopitalPulley (3, 5/2, 3) shifted (8cm, 0);
endfig;
рдПрдХ рдкрд╛рдареНрдпрдкреБрд╕реНрддрдХ рдХреНрдпрд╛ рд╣реИ? рдХрд╛рд╢ рдФрд░ рдЖрд╣, рдЬрдм рд▓рдЧрднрдЧ рд╕рднреА рдЪрд┐рддреНрд░ рдФрд░ рд▓реЗрдЖрдЙрдЯ рддреИрдпрд╛рд░ рдереЗ, рд╡рд╣рд╛рдВ рдХреБрдЫ рд╣реБрдЖ рдФрд░ рд╡рд╣ рдХрднреА рдмрд╛рд╣рд░ рдирд╣реАрдВ рдЖрдпрд╛ред рдЗрд╕рд▓рд┐рдП, рд╢рд╛рдпрдж, рдХреБрдЫ рд╕рдордп рдмрд╛рдж, рдореИрдВрдиреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕реЗ рд╕рднреА рдореБрдЦреНрдп рдЪреАрдЬреЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрд╛ рдФрд░
рдЬреАрдердм рдкрд░ рдХреЛрдб рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ ред рдХреБрдЫ рдХреБрдВрдереБрдпреБрдХреА рд╡рд╣рд╛рдВ рдкреНрд░рд╡реЗрд╢ рдирд╣реАрдВ рдХрд░рддреЗ рдереЗ: рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╡рд┐рджреНрдпреБрдд рд╕рд░реНрдХрд┐рдЯ рдпрд╛ рдХрд╛рд░ рдФрд░ рдЯреНрд░реИрдХреНрдЯрд░ рдЦреАрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдлрд╝рдВрдХреНрд╢рдиред рдХреБрдЫ - рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛: рдиреЛрдбреНрд╕, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдПред
рдпрд╣ рдкреВрд░реА рд░рд╕реЛрдИ рдЬрд▓реНрджреА рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреА рд╣реИ: рдЗрд╕ рд▓реЗрдЦ рдХреЗ рд▓рд┐рдП рд╕рднреА рдЪрд┐рддреНрд░реЛрдВ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдореЗрдВ рд▓рдЧрднрдЧ рдПрдХ рдорд┐рдирдЯ рдХрд╛ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИ рдореЗрд░реЗ рд▓реИрдкрдЯреЙрдк рдкрд░ i5-4200U 1.6 GHz рдХреЗ рд╕рд╛рде LuaLaTeXред рдЗрддрдиреА рд╕рд╛рд░реА рдЪреАрдЬреЛрдВ рдХреЗ рд▓рд┐рдП, рдПрдХ рдЫрджреНрдо рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рдВрдЦреНрдпрд╛ рдЬрдирд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╕рдорд╛рди рддрд╕реНрд╡реАрд░реЗрдВ рди рдХреЗрд╡рд▓ рдПрдХ рд░рди рдХреЗ рдЕрдВрджрд░ рдереЛрдбрд╝реА рдЕрд▓рдЧ рджрд┐рдЦреЗрдВрдЧреА (рдпрд╣ рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ), рд▓реЗрдХрд┐рди рдкреНрд░рддреНрдпреЗрдХ рдЕрдЧрд▓рд╛ рд░рди рдЪрд┐рддреНрд░реЛрдВ рдХреЛ рдкрд┐рдЫрд▓реЗ рдПрдХ рд╕реЗ рдЕрд▓рдЧ рджреЗрдЧрд╛ред рд▓реЗрдХрд┐рди рдЖрдк рд╣рдореЗрд╢рд╛
randomseed := -
рдореЗрдВ рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
randomseed := -
рдкреНрд░рд╕реНрддрд╛рд╡рдирд╛ рдореЗрдВ
randomseed := -
, рдФрд░ рд╕рднреА рдПрдХ рд╣реА рд░рди рд╕рдорд╛рди рдЪрд┐рддреНрд░реЛрдВ рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░реЗрдВрдЧреЗред