<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>tock.tex</title>
<meta name="Generator" content="Vim/8.1">
<meta name="plugin-version" content="vim8.1_v1">
<meta name="syntax" content="tex">
<meta name="settings" content="use_css,pre_wrap,no_foldcolumn,expand_tabs,prevent_copy=">
<meta name="colorscheme" content="default">
<style type="text/css">
<!--
pre { white-space: pre-wrap; font-family: monospace; color: #ffffff; background-color: #000000; }
body { font-family: monospace; color: #ffffff; background-color: #000000; }
* { font-size: 1em; }
.Constant { color: #ff6060; }
.Special { color: #ff40ff; }
.Statement { color: #ffff00; }
.Comment { color: #8080ff; }
.Type { color: #00ff00; }
.PreProc { color: #ff40ff; }
-->
</style>
</head>
<body>
<pre id='vimCodeElement'>
<span class="Comment">% ---------------------------------------------------------------------------- %</span>
<span class="Comment">%% \file tock.tex</span>
<span class="Comment">%% \author Sebastien Beaugrand</span>
<span class="Comment">%% \sa <a href="http://beaugrand.chez.com/">http://beaugrand.chez.com/</a></span>
<span class="Comment">%% \copyright CeCILL 2.1 Free Software license</span>
<span class="Comment">% ---------------------------------------------------------------------------- %</span>
<span class="Comment">% #!/usr/bin/octave -q</span>
<span class="Comment">% global l = 19;</span>
<span class="Comment">% global n = str2num(argv(){1});</span>
<span class="Comment">% </span>
<span class="Comment">% function y = f(x)</span>
<span class="Comment">%   global l;</span>
<span class="Comment">%   global n;</span>
<span class="Comment">%   h = (1 + 0.5/cos(pi/n))*l*tan(pi/n/2) + x*tan(pi/n);</span>
<span class="Comment">%   r = sqrt(h*h + x*x);</span>
<span class="Comment">%   y = r*sin(pi/2*(31/17 - 28/17/n) + 3/17*asin(x/r)) - (l/2+x)*tan(pi/n);</span>
<span class="Comment">% endfunction</span>
<span class="Comment">% </span>
<span class="Comment">% [ecart, fval, info] = fzero(@f, [-5;10]);</span>
<span class="Comment">% printf(&quot;\\ecart=%.6fcm\n&quot;, ecart);</span>
<span class="Comment">% </span>
<span class="Comment">% h = (1 + 0.5/cos(pi/n))*l*tan(pi/n/2) + ecart*tan(pi/n);</span>
<span class="Comment">% rayon = sqrt(h*h + ecart*ecart);</span>
<span class="Comment">% printf(&quot;\\rayon=%.6fcm\n&quot;, rayon);</span>
<span class="Comment">% </span>
<span class="Comment">% ainit = pi/n + asin(ecart/rayon);</span>
<span class="Comment">% printf(&quot;\\def\\ainit{%.6f}\n&quot;, ainit*180/pi);</span>
<span class="Comment">% </span>
<span class="Comment">% aincr = (pi - 2*ainit)/17;</span>
<span class="Comment">% printf(&quot;\\def\\aincr{%.6f}\n&quot;, aincr*180/pi);</span>
<span class="Comment">% </span>
<span class="Comment">% hinit = (l/2 + ecart)/cos(pi/n) - l/2/cos(pi/n/2);</span>
<span class="Comment">% printf(&quot;\\hinit=%.6fcm\n&quot;, hinit);</span>
<span class="Comment">% </span>
<span class="Comment">% hincr = rayon*tan(aincr);</span>
<span class="Comment">% printf(&quot;\\hincr=%.6fcm\n&quot;, hincr);</span>
<span class="Comment">% </span>
<span class="Comment">% quinze = l/2*sin(pi/n/4);</span>
<span class="Comment">% printf(&quot;\\quinze=%.6fcm\n&quot;, quinze);</span>
<span class="Comment">% </span>
<span class="Comment">% yorig = -(l/2+ecart)/cos(pi/n);</span>
<span class="Comment">% printf(&quot;\\yorig=%.6fcm\n&quot;, yorig);</span>
<span class="Comment">% ---------------------------------------------------------------------------- %</span>
<span class="Comment">% ./tock.m 4</span>
<span class="Comment">% ./tock.m 6</span>
<span class="Comment">% latex tock.tex</span>
<span class="Comment">% dvipdf -dAutoRotatePages=/None tock.dvi tock.pdf</span>
<span class="Comment">% pdfjam -o tockA3.pdf --paper a3paper tock.pdf</span>
<span class="Comment">% pdfjam -o tockA2.pdf --paper a2paper tock.pdf</span>
<span class="Comment">% ---------------------------------------------------------------------------- %</span>
<span class="Statement">\documentclass</span><span class="Special">[</span><span class="Constant">a4paper</span><span class="Special">]{</span><span class="PreProc">article</span><span class="Special">}</span>
<span class="Statement">\usepackage</span><span class="Special">{</span><span class="Special">vmargin</span><span class="Special">}</span>
<span class="Statement">\setmarginsrb</span><span class="Special">{</span><span class="Constant">5mm</span><span class="Special">}{</span><span class="Constant">5mm</span><span class="Special">}{</span><span class="Constant">5mm</span><span class="Special">}{</span><span class="Constant">5mm</span><span class="Special">}{</span><span class="Constant">0cm</span><span class="Special">}{</span><span class="Constant">0cm</span><span class="Special">}{</span><span class="Constant">0cm</span><span class="Special">}{</span><span class="Constant">0cm</span><span class="Special">}</span>
<span class="Statement">\pagestyle</span><span class="Special">{</span>empty<span class="Special">}</span>
<span class="Statement">\usepackage</span><span class="Special">{</span><span class="Special">multido</span><span class="Special">}</span>
<span class="Statement">\usepackage</span><span class="Special">{</span><span class="Special">pstricks</span><span class="Special">}</span>

<span class="PreProc">\begin{document}</span>
<span class="Statement">\newcount\numero</span>
<span class="Statement">\newcommand</span><span class="Special">{</span><span class="Statement">\coin</span><span class="Special">}{</span><span class="Comment">%</span>
  <span class="Statement">\numero</span><span class="Statement">=</span>0
  <span class="Statement">\multido</span><span class="Special">{</span><span class="Statement">\r</span><span class="Statement">=</span><span class="Statement">\ainit</span>+<span class="Statement">\aincr</span>,<span class="Special">\i</span><span class="Statement">=</span>0+1<span class="Special">}{</span>18<span class="Special">}{</span><span class="Comment">%</span>
    <span class="Statement">\ifnum</span><span class="Special">\i</span>&lt;8
      <span class="Statement">\rput</span><span class="Special">{</span><span class="Statement">\r</span><span class="Special">}</span>(<span class="Statement">\the\rayon</span>;<span class="Statement">\r</span>)<span class="Special">{</span><span class="Comment">%</span>
        <span class="Statement">\ifnum\numero</span><span class="Statement">=</span>0
          <span class="Statement">\pscircle</span>[linewidth<span class="Statement">=</span><span class="Constant">2pt</span>](0,0)<span class="Special">{</span><span class="Statement">\the\cercle</span><span class="Special">}</span>
          <span class="Statement">\rput</span>(0,0)<span class="Special">{</span>18<span class="Special">}</span>
        <span class="Statement">\else</span>
          <span class="Statement">\ifnum\numero</span><span class="Statement">=</span>7
            <span class="Statement">\pscircle</span>(0,0)<span class="Special">{</span><span class="Statement">\the\cercle</span><span class="Special">}</span>
            <span class="Statement">\rput</span><span class="Special">{</span>-45<span class="Special">}</span>(0,0)<span class="Special">{</span><span class="Statement">\number\numero</span><span class="Special">}</span>
          <span class="Statement">\else</span>
            <span class="Statement">\pscircle</span>(0,0)<span class="Special">{</span><span class="Statement">\the\cercle</span><span class="Special">}</span>
            <span class="Statement">\rput</span>(0,0)<span class="Special">{</span><span class="Statement">\number\numero</span><span class="Special">}</span>
          <span class="Statement">\fi</span>
        <span class="Statement">\fi</span>
        <span class="Statement">\global\advance\numero</span>1
      <span class="Special">}</span>
    <span class="Statement">\fi</span>
    <span class="Statement">\ifnum</span><span class="Special">\i</span>&gt;10
      <span class="Statement">\rput</span><span class="Special">{</span><span class="Statement">\r</span><span class="Special">}</span>(<span class="Statement">\the\rayon</span>;<span class="Statement">\r</span>)<span class="Special">{</span><span class="Comment">%</span>
        <span class="Statement">\pscircle</span>(0,0)<span class="Special">{</span><span class="Statement">\the\cercle</span><span class="Special">}</span>
        <span class="Statement">\rput</span><span class="Special">{</span>-180<span class="Special">}{</span><span class="Statement">\number\numero</span><span class="Special">}</span>
        <span class="Statement">\global\advance\numero</span>1
      <span class="Special">}</span>
    <span class="Statement">\fi</span>
  <span class="Special">}</span>
  <span class="Statement">\rput</span>(<span class="Statement">\quinze</span>,<span class="Statement">\the\hinit</span>)<span class="Special">{</span><span class="Comment">%</span>
    <span class="Statement">\pscircle</span>(0,0)<span class="Special">{</span><span class="Statement">\the\cercle</span><span class="Special">}</span>
    <span class="Statement">\rput</span><span class="Special">{</span><span class="Statement">\aquinze</span><span class="Special">}</span>(0,0)<span class="Special">{</span><span class="Statement">\number\numero</span><span class="Special">}</span>
    <span class="Statement">\global\advance\numero</span>1
  <span class="Special">}</span>
  <span class="Statement">\advance\hinit</span>-<span class="Statement">\the\hincr</span>
  <span class="Statement">\rput</span>(0,<span class="Statement">\the\hinit</span>)<span class="Special">{</span><span class="Comment">%</span>
    <span class="Statement">\pscircle</span>(0,0)<span class="Special">{</span><span class="Statement">\the\cercle</span><span class="Special">}</span>
    <span class="Statement">\rput</span>(0,0)<span class="Special">{</span><span class="Statement">\number\numero</span><span class="Special">}</span>
    <span class="Statement">\global\advance\numero</span>1
  <span class="Special">}</span>
  <span class="Statement">\advance\hinit</span>2<span class="Statement">\hincr</span>
  <span class="Statement">\multido</span><span class="Special">{</span><span class="Statement">\d</span><span class="Statement">=</span><span class="Statement">\the\hinit</span>+<span class="Statement">\the\hincr</span><span class="Special">}{</span>4<span class="Special">}{</span><span class="Comment">%</span>
    <span class="Statement">\rput</span>(0,<span class="Statement">\d</span>)<span class="Special">{</span><span class="Comment">%</span>
      <span class="Statement">\pscircle</span>(0,0)<span class="Special">{</span><span class="Statement">\the\cercle</span><span class="Special">}</span>
      <span class="Statement">\rput</span>(0,0)<span class="Special">{</span><span class="Statement">\number\numero</span><span class="Special">}</span>
      <span class="Statement">\global\advance\numero</span>1
    <span class="Special">}</span>
  <span class="Special">}</span>
  <span class="Statement">\advance\hinit</span>-<span class="Statement">\the\hincr</span>
  <span class="Statement">\rput</span>(-<span class="Statement">\quinze</span>,<span class="Statement">\the\hinit</span>)<span class="Special">{</span><span class="Comment">%</span>
    <span class="Statement">\pscircle</span>(0,0)<span class="Special">{</span><span class="Statement">\the\cercle</span><span class="Special">}</span>
    <span class="Statement">\rput</span><span class="Special">{</span>-<span class="Statement">\aquinze</span><span class="Special">}</span>(0,0)<span class="Special">{</span>17<span class="Special">}</span>
  <span class="Special">}</span>
<span class="Special">}</span>
<span class="Type">\large</span>
<span class="Statement">\SpecialCoor</span>
<span class="Statement">\degrees</span><span class="Special">[</span>360<span class="Special">]</span>
<span class="Statement">\newlength\taille</span> <span class="Statement">\taille</span>=<span class="Constant">19cm</span>
<span class="Statement">\newlength\centre</span> <span class="Statement">\centre</span>=<span class="Statement">\taille</span>
<span class="Statement">\divide\centre</span>2
<span class="Statement">\newlength\ecart</span>
<span class="Statement">\newlength\rayon</span>
<span class="Statement">\newlength\hinit</span>
<span class="Statement">\newlength\hincr</span>
<span class="Statement">\newlength\quinze</span>
<span class="Statement">\newlength\yorig</span>
<span class="Statement">\newlength\cercle</span>
<span class="Statement">\ecart</span>=<span class="Constant">6.540213cm</span>
<span class="Statement">\rayon</span>=<span class="Constant">21.018675cm</span>
<span class="Statement">\def</span><span class="Statement">\ainit</span><span class="Special">{</span>63.129273<span class="Special">}</span>
<span class="Statement">\def</span><span class="Statement">\aincr</span><span class="Special">{</span>3.161262<span class="Special">}</span>
<span class="Statement">\hinit</span>=<span class="Constant">12.401561cm</span>
<span class="Statement">\hincr</span>=<span class="Constant">1.160872cm</span>
<span class="Statement">\quinze</span>=<span class="Constant">1.853358cm</span>
<span class="Statement">\yorig</span>=-<span class="Constant">22.684287cm</span>
<span class="Statement">\def</span><span class="Statement">\aquinze</span><span class="Special">{</span>22.5<span class="Special">}</span>
<span class="Statement">\cercle</span>=<span class="Constant">0.5cm</span>
<span class="Statement">\rput</span>(<span class="Statement">\the\centre</span>,-13.85)<span class="Special">{</span><span class="Comment">%</span>
  <span class="Statement">\multido</span><span class="Special">{</span><span class="Special">\i</span>=45+90<span class="Special">}{</span>4<span class="Special">}{</span><span class="Comment">%</span>
    <span class="Statement">\rput</span><span class="Special">{</span><span class="Special">\i</span><span class="Special">}</span>(0,0)<span class="Special">{</span><span class="Statement">\rput</span>(0,<span class="Statement">\yorig</span>)<span class="Special">{</span><span class="Statement">\coin</span><span class="Special">}}</span>
  <span class="Special">}</span>
<span class="Special">}</span>
<span class="Statement">\newpage</span>
<span class="Statement">\ecart</span>=-<span class="Constant">0.712105cm</span>
<span class="Statement">\rayon</span>=<span class="Constant">7.652416cm</span>
<span class="Statement">\def</span><span class="Statement">\ainit</span><span class="Special">{</span>24.660545<span class="Special">}</span>
<span class="Statement">\def</span><span class="Statement">\aincr</span><span class="Special">{</span>7.686995<span class="Special">}</span>
<span class="Statement">\hinit</span>=<span class="Constant">0.312263cm</span>
<span class="Statement">\hincr</span>=<span class="Constant">1.032879cm</span>
<span class="Statement">\quinze</span>=<span class="Constant">1.239999cm</span>
<span class="Statement">\yorig</span>=-<span class="Constant">10.147387cm</span>
<span class="Statement">\def</span><span class="Statement">\aquinze</span><span class="Special">{</span>15<span class="Special">}</span>
<span class="Statement">\cercle</span>=<span class="Constant">0.45cm</span>
<span class="Statement">\rput</span>(<span class="Statement">\the\centre</span>,-13.85)<span class="Special">{</span><span class="Comment">%</span>
  <span class="Statement">\multido</span><span class="Special">{</span><span class="Special">\i</span>=0+60<span class="Special">}{</span>6<span class="Special">}{</span><span class="Comment">%</span>
    <span class="Statement">\rput</span><span class="Special">{</span><span class="Special">\i</span><span class="Special">}</span>(0,0)<span class="Special">{</span><span class="Statement">\rput</span>(0,<span class="Statement">\yorig</span>)<span class="Special">{</span><span class="Statement">\coin</span><span class="Special">}}</span>
  <span class="Special">}</span>
<span class="Special">}</span>
<span class="PreProc">\end{document}</span>
</pre>
</body>
</html>
<!-- vim: set foldmethod=manual : -->