<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Hi Philip,</p>
    <p>Here is a possible implementation for the next major release of
      Scilab (6.2)<br>
    </p>
    <p><a class="moz-txt-link-freetext" href="https://codereview.scilab.org/#/c/21801/">https://codereview.scilab.org/#/c/21801/</a></p>
    <p>Take a look at the video and tell me if it is OK for you.
      However, there are still some glitches which have to fo be fixed
      (e,g, problems when zooming in isoview mode) but we have some time
      to think about it.</p>
    <p>S.<br>
    </p>
    <div class="moz-cite-prefix">Le 07/07/2021 à 08:49, P M a écrit :<br>
    </div>
    <blockquote type="cite"
cite="mid:CACf7ODsRKGC5WqwqYEUfEB2iqtmRejY6OqE4fr50SjYarnS26w@mail.gmail.com">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <div dir="ltr"><br>
        <div class="gmail_quote">
          <div dir="ltr">
            <div>Dear,</div>
            <div><br>
            </div>
            <div>is it possible to avoid the effect of auto-zoom /
              streching  when rotating a graph in 3D-view?...see result
              of attached code.<br>
            </div>
            <div><br>
            </div>
            <div>My best guess is that one would have to set the <span
                style="color:rgb(0,0,0)">a.<span
                  style="color:rgb(153,153,153)">margins</span></span>
              according to the actual a.<span
                style="color:rgb(153,153,153)">rotation_angles</span>
              for each frame....but is there a easier way?</div>
            <div><br>
            </div>
            <div>Thank you,</div>
            <div>Philipp<br>
            </div>
            <div>
              <pre style="font-family:Monospaced;font-style:normal;margin-left:40px"><span style="color:rgb(0,0,0)">R</span><span style="color:rgb(92,92,92)">=</span><span style="color:rgb(188,143,143)">23</span><span style="color:rgb(0,0,0)">;</span>
<span style="color:rgb(0,0,0)">N</span><span style="color:rgb(92,92,92)">=</span><span style="color:rgb(188,143,143)">1000</span><span style="color:rgb(0,0,0)">;</span>
<span style="color:rgb(0,0,0)">nmax</span><span style="color:rgb(92,92,92)">=</span><span style="color:rgb(188,143,143)">1.1</span><span style="color:rgb(92,92,92)">*</span><span style="color:rgb(188,143,143)">6</span><span style="color:rgb(92,92,92)">*</span><span style="color:rgb(0,0,0)">N</span><span style="color:rgb(92,92,92)">/</span><span style="color:rgb(218,112,214)">%pi</span><span style="color:rgb(0,0,0)">;</span>
<span style="color:rgb(100,174,100);font-style:italic">// Random points in cube 2R*2R*2R</span>
<span style="color:rgb(0,0,0)">x</span><span style="color:rgb(92,92,92)">=</span><span style="color:rgb(50,185,185)">grand</span><span style="color:rgb(74,85,219)">(</span><span style="color:rgb(0,0,0)">nmax</span><span style="color:rgb(0,0,0)">,</span><span style="color:rgb(188,143,143)">1</span><span style="color:rgb(0,0,0)">,</span><span style="color:rgb(188,143,143)">'</span><span style="color:rgb(188,143,143)">unf</span><span style="color:rgb(188,143,143)">'</span><span style="color:rgb(0,0,0)">,</span><span style="color:rgb(92,92,92)">-</span><span style="color:rgb(0,0,0)">R</span><span style="color:rgb(0,0,0)">,</span><span style="color:rgb(0,0,0)">R</span><span style="color:rgb(74,85,219)">)</span><span style="color:rgb(0,0,0)">;</span>
<span style="color:rgb(0,0,0)">y</span><span style="color:rgb(92,92,92)">=</span><span style="color:rgb(50,185,185)">grand</span><span style="color:rgb(74,85,219)">(</span><span style="color:rgb(0,0,0)">nmax</span><span style="color:rgb(0,0,0)">,</span><span style="color:rgb(188,143,143)">1</span><span style="color:rgb(0,0,0)">,</span><span style="color:rgb(188,143,143)">'</span><span style="color:rgb(188,143,143)">unf</span><span style="color:rgb(188,143,143)">'</span><span style="color:rgb(0,0,0)">,</span><span style="color:rgb(92,92,92)">-</span><span style="color:rgb(0,0,0)">R</span><span style="color:rgb(0,0,0)">,</span><span style="color:rgb(0,0,0)">R</span><span style="color:rgb(74,85,219)">)</span><span style="color:rgb(0,0,0)">;</span>
<span style="color:rgb(0,0,0)">z</span><span style="color:rgb(92,92,92)">=</span><span style="color:rgb(50,185,185)">grand</span><span style="color:rgb(74,85,219)">(</span><span style="color:rgb(0,0,0)">nmax</span><span style="color:rgb(0,0,0)">,</span><span style="color:rgb(188,143,143)">1</span><span style="color:rgb(0,0,0)">,</span><span style="color:rgb(188,143,143)">'</span><span style="color:rgb(188,143,143)">unf</span><span style="color:rgb(188,143,143)">'</span><span style="color:rgb(0,0,0)">,</span><span style="color:rgb(92,92,92)">-</span><span style="color:rgb(0,0,0)">R</span><span style="color:rgb(0,0,0)">,</span><span style="color:rgb(0,0,0)">R</span><span style="color:rgb(74,85,219)">)</span><span style="color:rgb(0,0,0)">;</span>
<span style="color:rgb(0,0,0)">R2</span><span style="color:rgb(92,92,92)">=</span><span style="color:rgb(0,0,0)">R</span><span style="color:rgb(92,92,92)">*</span><span style="color:rgb(0,0,0)">R</span><span style="color:rgb(0,0,0)">;</span>
<span style="color:rgb(100,174,100);font-style:italic">// Exclude points outside of sphere with radius R</span>
<span style="color:rgb(0,0,0)">T</span><span style="color:rgb(92,92,92)">=</span><span style="color:rgb(74,85,219)">(</span><span style="color:rgb(0,0,0)">x</span><span style="color:rgb(92,92,92)">^</span><span style="color:rgb(188,143,143)">2</span><span style="color:rgb(92,92,92)">+</span><span style="color:rgb(0,0,0)">y</span><span style="color:rgb(92,92,92)">^</span><span style="color:rgb(188,143,143)">2</span><span style="color:rgb(92,92,92)">+</span><span style="color:rgb(0,0,0)">z</span><span style="color:rgb(92,92,92)">^</span><span style="color:rgb(188,143,143)">2</span><span style="color:rgb(74,85,219)">)</span><span style="color:rgb(92,92,92)">></span><span style="color:rgb(0,0,0)">R2</span><span style="color:rgb(0,0,0)">;</span>
<span style="color:rgb(0,0,0)">M</span><span style="color:rgb(92,92,92)">=</span><span style="color:rgb(74,85,219)">[</span><span style="color:rgb(0,0,0)">x</span> <span style="color:rgb(0,0,0)">y</span> <span style="color:rgb(0,0,0)">z</span><span style="color:rgb(74,85,219)">]</span><span style="color:rgb(0,0,0)">;</span>
<span style="color:rgb(0,0,0)">M</span><span style="color:rgb(74,85,219)">(</span><span style="color:rgb(0,0,0)">T</span><span style="color:rgb(0,0,0)">,</span><span style="color:rgb(255,170,0)">:</span><span style="color:rgb(74,85,219)">)</span><span style="color:rgb(92,92,92)">=</span><span style="color:rgb(74,85,219)">[</span><span style="color:rgb(74,85,219)">]</span><span style="color:rgb(0,0,0)">;</span>
<span style="color:rgb(74,85,219)">[</span><span style="color:rgb(0,0,0)">r</span> <span style="color:rgb(0,0,0)">c</span><span style="color:rgb(74,85,219)">]</span><span style="color:rgb(92,92,92)">=</span><span style="color:rgb(50,185,185)">size</span><span style="color:rgb(74,85,219)">(</span><span style="color:rgb(0,0,0)">M</span><span style="color:rgb(74,85,219)">)</span><span style="color:rgb(0,0,0)">;</span>
<span style="color:rgb(0,0,0)">M</span><span style="color:rgb(74,85,219)">(</span><span style="color:rgb(74,85,219)">(</span><span style="color:rgb(74,85,219)">(</span><span style="color:rgb(0,0,0)">N</span><span style="color:rgb(92,92,92)">+</span><span style="color:rgb(188,143,143)">1</span><span style="color:rgb(74,85,219)">)</span><span style="color:rgb(255,170,0)">:</span><span style="color:rgb(0,0,0)">r</span><span style="color:rgb(74,85,219)">)</span><span style="color:rgb(0,0,0)">,</span> <span style="color:rgb(255,170,0)">:</span><span style="color:rgb(74,85,219)">)</span><span style="color:rgb(92,92,92)">=</span><span style="color:rgb(74,85,219)">[</span><span style="color:rgb(74,85,219)">]</span><span style="color:rgb(0,0,0)">;</span>
<span style="color:rgb(0,0,0)">x</span><span style="color:rgb(92,92,92)">=</span><span style="color:rgb(0,0,0)">M</span><span style="color:rgb(74,85,219)">(</span><span style="color:rgb(255,170,0)">:</span><span style="color:rgb(0,0,0)">,</span><span style="color:rgb(188,143,143)">1</span><span style="color:rgb(74,85,219)">)</span><span style="color:rgb(0,0,0)">;</span> <span style="color:rgb(0,0,0)">y</span><span style="color:rgb(92,92,92)">=</span><span style="color:rgb(0,0,0)">M</span><span style="color:rgb(74,85,219)">(</span><span style="color:rgb(255,170,0)">:</span><span style="color:rgb(0,0,0)">,</span><span style="color:rgb(188,143,143)">2</span><span style="color:rgb(74,85,219)">)</span><span style="color:rgb(0,0,0)">;</span> <span style="color:rgb(0,0,0)">z</span><span style="color:rgb(92,92,92)">=</span><span style="color:rgb(0,0,0)">M</span><span style="color:rgb(74,85,219)">(</span><span style="color:rgb(255,170,0)">:</span><span style="color:rgb(0,0,0)">,</span><span style="color:rgb(188,143,143)">3</span><span style="color:rgb(74,85,219)">)</span><span style="color:rgb(0,0,0)">;</span> 
<span style="color:rgb(0,0,0)">f</span> <span style="color:rgb(92,92,92)">=</span> <span style="color:rgb(50,185,185)">figure</span><span style="color:rgb(74,85,219)">(</span><span style="color:rgb(74,85,219)">)</span><span style="color:rgb(0,0,0)">;</span>
<span style="color:rgb(0,0,0)">f</span><span style="color:rgb(92,92,92)">.</span><span style="color:rgb(170,170,170)">background</span> <span style="color:rgb(92,92,92)">=</span> <span style="color:rgb(188,143,143)">8</span><span style="color:rgb(0,0,0)">;</span>
<span style="color:rgb(0,0,0)">f</span><span style="color:rgb(92,92,92)">.</span><span style="color:rgb(170,170,170)">axes_size</span> <span style="color:rgb(92,92,92)">=</span> <span style="color:rgb(74,85,219)">[</span><span style="color:rgb(188,143,143)">300</span><span style="color:rgb(0,0,0)">,</span><span style="color:rgb(188,143,143)">300</span><span style="color:rgb(74,85,219)">]</span>

<span style="color:rgb(0,0,0)">s</span> <span style="color:rgb(92,92,92)">=</span> <span style="color:rgb(174,92,176);text-decoration:underline">linspace</span><span style="color:rgb(74,85,219)">(</span><span style="color:rgb(188,143,143)">5</span><span style="color:rgb(0,0,0)">,</span> <span style="color:rgb(188,143,143)">1</span><span style="color:rgb(0,0,0)">,</span> <span style="color:rgb(0,0,0)">N</span><span style="color:rgb(74,85,219)">)</span><span style="color:rgb(0,0,0)">;</span>
<span style="color:rgb(0,0,0)">scatter3d</span><span style="color:rgb(74,85,219)">(</span><span style="color:rgb(0,0,0)">x</span><span style="color:rgb(0,0,0)">,</span><span style="color:rgb(0,0,0)">y</span><span style="color:rgb(0,0,0)">,</span><span style="color:rgb(0,0,0)">z</span><span style="color:rgb(0,0,0)">,</span><span style="color:rgb(0,0,0)">msizes</span><span style="color:rgb(92,92,92)">=</span><span style="color:rgb(188,143,143)">1</span><span style="color:rgb(0,0,0)">,</span><span style="color:rgb(0,0,0)">s</span><span style="color:rgb(74,85,219)">)</span><span style="color:rgb(0,0,0)">;</span>
<span style="color:rgb(0,0,0)">a</span> <span style="color:rgb(92,92,92)">=</span> <span style="color:rgb(174,92,176);text-decoration:underline">gca</span><span style="color:rgb(74,85,219)">(</span><span style="color:rgb(74,85,219)">)</span><span style="color:rgb(0,0,0)">;</span>
<span style="color:rgb(0,0,0)">a</span><span style="color:rgb(92,92,92)">.</span><span style="color:rgb(170,170,170)">box</span> <span style="color:rgb(92,92,92)">=</span> <span style="color:rgb(188,143,143)">"</span><span style="color:rgb(188,143,143)">off</span><span style="color:rgb(188,143,143)">"</span><span style="color:rgb(0,0,0)">;</span>
<span style="color:rgb(0,0,0)">a</span><span style="color:rgb(92,92,92)">.</span><span style="color:rgb(170,170,170)">axes_visible</span> <span style="color:rgb(92,92,92)">=</span> <span style="color:rgb(74,85,219)">[</span><span style="color:rgb(188,143,143)">"</span><span style="color:rgb(188,143,143)">off</span><span style="color:rgb(188,143,143)">"</span><span style="color:rgb(0,0,0)">,</span><span style="color:rgb(188,143,143)">"</span><span style="color:rgb(188,143,143)">off</span><span style="color:rgb(188,143,143)">"</span><span style="color:rgb(0,0,0)">,</span><span style="color:rgb(188,143,143)">"</span><span style="color:rgb(188,143,143)">off</span><span style="color:rgb(188,143,143)">"</span><span style="color:rgb(74,85,219)">]</span><span style="color:rgb(0,0,0)">;</span>
<span style="color:rgb(0,0,0)">a</span><span style="color:rgb(92,92,92)">.</span><span style="color:rgb(170,170,170)">x_label</span><span style="color:rgb(92,92,92)">.</span><span style="color:rgb(170,170,170)">visible</span> <span style="color:rgb(92,92,92)">=</span> <span style="color:rgb(188,143,143)">"</span><span style="color:rgb(188,143,143)">off</span><span style="color:rgb(188,143,143)">"</span>
<span style="color:rgb(0,0,0)">a</span><span style="color:rgb(92,92,92)">.</span><span style="color:rgb(170,170,170)">y_label</span><span style="color:rgb(92,92,92)">.</span><span style="color:rgb(170,170,170)">visible</span> <span style="color:rgb(92,92,92)">=</span> <span style="color:rgb(188,143,143)">"</span><span style="color:rgb(188,143,143)">off</span><span style="color:rgb(188,143,143)">"</span>
<span style="color:rgb(0,0,0)">a</span><span style="color:rgb(92,92,92)">.</span><span style="color:rgb(170,170,170)">z_label</span><span style="color:rgb(92,92,92)">.</span><span style="color:rgb(170,170,170)">visible</span> <span style="color:rgb(92,92,92)">=</span> <span style="color:rgb(188,143,143)">"</span><span style="color:rgb(188,143,143)">off</span><span style="color:rgb(188,143,143)">"</span>

<span style="color:rgb(0,0,0)">outgif</span> <span style="color:rgb(92,92,92)">=</span> <span style="color:rgb(188,143,143)">"</span><span style="color:rgb(188,143,143)">Sphere03.gif</span><span style="color:rgb(188,143,143)">"</span><span style="color:rgb(0,0,0)">;</span>
<span style="color:rgb(0,0,0)">idGif</span> <span style="color:rgb(92,92,92)">=</span> <span style="color:rgb(0,0,0)">animaGIF</span><span style="color:rgb(74,85,219)">(</span><span style="color:rgb(174,92,176);text-decoration:underline">gcf</span><span style="color:rgb(74,85,219)">(</span><span style="color:rgb(74,85,219)">)</span><span style="color:rgb(0,0,0)">,</span> <span style="color:rgb(0,0,0)">outgif</span><span style="color:rgb(0,0,0)">,</span> <span style="color:rgb(188,143,143)">1</span><span style="color:rgb(0,0,0)">,</span><span style="color:rgb(188,143,143)">2</span><span style="color:rgb(74,85,219)">)</span><span style="color:rgb(0,0,0)">;</span>
<span style="color:rgb(160,32,240)">for</span> <span style="color:rgb(0,0,0)">i</span> <span style="color:rgb(92,92,92)">=</span> <span style="color:rgb(188,143,143)">0</span><span style="color:rgb(255,170,0)">:</span><span style="color:rgb(188,143,143)">360</span><span style="color:rgb(0,0,0)">;</span>
    <span style="color:rgb(0,0,0)">a</span><span style="color:rgb(92,92,92)">.</span><span style="color:rgb(170,170,170)">rotation_angles</span> <span style="color:rgb(92,92,92)">=</span> <span style="color:rgb(74,85,219)">[</span><span style="color:rgb(188,143,143)">45</span><span style="color:rgb(0,0,0)">,</span> <span style="color:rgb(0,0,0)">i</span><span style="color:rgb(74,85,219)">]</span><span style="color:rgb(0,0,0)">;</span>
    <span style="color:rgb(0,0,0)">idGif</span> <span style="color:rgb(92,92,92)">=</span> <span style="color:rgb(0,0,0)">animaGIF</span><span style="color:rgb(74,85,219)">(</span><span style="color:rgb(174,92,176);text-decoration:underline">gcf</span><span style="color:rgb(74,85,219)">(</span><span style="color:rgb(74,85,219)">)</span><span style="color:rgb(0,0,0)">,</span> <span style="color:rgb(0,0,0)">idGif</span><span style="color:rgb(74,85,219)">)</span><span style="color:rgb(0,0,0)">;</span> <span style="color:rgb(100,174,100);font-style:italic">// Adds the current figure to the GIF stream</span>
<span style="color:rgb(160,32,240)">end</span><span style="color:rgb(0,0,0)">;</span>
<span style="color:rgb(0,0,0)">animaGIF</span><span style="color:rgb(74,85,219)">(</span><span style="color:rgb(0,0,0)">idGif</span><span style="color:rgb(74,85,219)">)</span><span style="color:rgb(0,0,0)">;</span>    <span style="color:rgb(100,174,100);font-style:italic">// Closes the GIF stream</span></pre>
            </div>
            <div><br>
              <br>
            </div>
            <div><br>
            </div>
            <div><br>
            </div>
            <div><br>
            </div>
            <div><br>
              <br>
            </div>
          </div>
        </div>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <pre class="moz-quote-pre" wrap="">_______________________________________________
users mailing list
<a class="moz-txt-link-abbreviated" href="mailto:users@lists.scilab.org">users@lists.scilab.org</a>
<a class="moz-txt-link-freetext" href="http://lists.scilab.org/mailman/listinfo/users">http://lists.scilab.org/mailman/listinfo/users</a>
</pre>
    </blockquote>
    <pre class="moz-signature" cols="72">-- 
Stéphane Mottelet
Ingénieur de recherche
EA 4297 Transformations Intégrées de la Matière Renouvelable
Département Génie des Procédés Industriels
Sorbonne Universités - Université de Technologie de Compiègne
CS 60319, 60203 Compiègne cedex
Tel : +33(0)344234688
<a class="moz-txt-link-freetext" href="http://www.utc.fr/~mottelet">http://www.utc.fr/~mottelet</a>
</pre>
  </body>
</html>