<divid="unreleased-message"> You are reading an old version of the documentation (v2.2.0). For the latest version see <ahref="https://matplotlib.org/stable/gallery/mplot3d/trisurf3d.html">https://matplotlib.org/stable/gallery/mplot3d/trisurf3d.html</a></div>
<spanid="sphx-glr-gallery-mplot3d-trisurf3d-py"></span><h1>Triangular 3D surfaces<aclass="headerlink" href="#triangular-3d-surfaces" title="Permalink to this headline">¶</a></h1>
<spanclass="c1"># Make radii and angles spaces (radius r=0 omitted to eliminate duplication).</span>
<spanclass="n">radii</span><spanclass="o">=</span><ahref="https://docs.scipy.org/doc/numpy/reference/generated/numpy.linspace.html#numpy.linspace" title="View documentation for numpy.linspace"><spanclass="n">np</span><spanclass="o">.</span><spanclass="n">linspace</span></a><spanclass="p">(</span><spanclass="mf">0.125</span><spanclass="p">,</span><spanclass="mf">1.0</span><spanclass="p">,</span><spanclass="n">n_radii</span><spanclass="p">)</span>
<spanclass="n">angles</span><spanclass="o">=</span><ahref="https://docs.scipy.org/doc/numpy/reference/generated/numpy.linspace.html#numpy.linspace" title="View documentation for numpy.linspace"><spanclass="n">np</span><spanclass="o">.</span><spanclass="n">linspace</span></a><spanclass="p">(</span><spanclass="mi">0</span><spanclass="p">,</span><spanclass="mi">2</span><spanclass="o">*</span><spanclass="n">np</span><spanclass="o">.</span><spanclass="n">pi</span><spanclass="p">,</span><spanclass="n">n_angles</span><spanclass="p">,</span><spanclass="n">endpoint</span><spanclass="o">=</span><spanclass="bp">False</span><spanclass="p">)</span>
<spanclass="c1"># Repeat all angles for each radius.</span>
<spanclass="n">angles</span><spanclass="o">=</span><ahref="https://docs.scipy.org/doc/numpy/reference/generated/numpy.repeat.html#numpy.repeat" title="View documentation for numpy.repeat"><spanclass="n">np</span><spanclass="o">.</span><spanclass="n">repeat</span></a><spanclass="p">(</span><spanclass="n">angles</span><spanclass="p">[</span><spanclass="o">...</span><spanclass="p">,</span><ahref="https://docs.scipy.org/doc/numpy/reference/arrays.indexing.html#numpy.newaxis" title="View documentation for numpy.newaxis"><spanclass="n">np</span><spanclass="o">.</span><spanclass="n">newaxis</span></a><spanclass="p">],</span><spanclass="n">n_radii</span><spanclass="p">,</span><spanclass="n">axis</span><spanclass="o">=</span><spanclass="mi">1</span><spanclass="p">)</span>
<spanclass="c1"># (0, 0) is manually added at this stage, so there will be no duplicate</span>
<spanclass="c1"># points in the (x, y) plane.</span>
<spanclass="n">x</span><spanclass="o">=</span><ahref="https://docs.scipy.org/doc/numpy/reference/generated/numpy.append.html#numpy.append" title="View documentation for numpy.append"><spanclass="n">np</span><spanclass="o">.</span><spanclass="n">append</span></a><spanclass="p">(</span><spanclass="mi">0</span><spanclass="p">,</span><spanclass="p">(</span><spanclass="n">radii</span><spanclass="o">*</span><ahref="https://docs.scipy.org/doc/numpy/reference/generated/numpy.cos.html#numpy.cos" title="View documentation for numpy.cos"><spanclass="n">np</span><spanclass="o">.</span><spanclass="n">cos</span></a><spanclass="p">(</span><spanclass="n">angles</span><spanclass="p">))</span><spanclass="o">.</span><spanclass="n">flatten</span><spanclass="p">())</span>
<spanclass="n">y</span><spanclass="o">=</span><ahref="https://docs.scipy.org/doc/numpy/reference/generated/numpy.append.html#numpy.append" title="View documentation for numpy.append"><spanclass="n">np</span><spanclass="o">.</span><spanclass="n">append</span></a><spanclass="p">(</span><spanclass="mi">0</span><spanclass="p">,</span><spanclass="p">(</span><spanclass="n">radii</span><spanclass="o">*</span><ahref="https://docs.scipy.org/doc/numpy/reference/generated/numpy.sin.html#numpy.sin" title="View documentation for numpy.sin"><spanclass="n">np</span><spanclass="o">.</span><spanclass="n">sin</span></a><spanclass="p">(</span><spanclass="n">angles</span><spanclass="p">))</span><spanclass="o">.</span><spanclass="n">flatten</span><spanclass="p">())</span>
<spanclass="c1"># Compute z to make the pringle surface.</span>
<spanclass="n">z</span><spanclass="o">=</span><ahref="https://docs.scipy.org/doc/numpy/reference/generated/numpy.sin.html#numpy.sin" title="View documentation for numpy.sin"><spanclass="n">np</span><spanclass="o">.</span><spanclass="n">sin</span></a><spanclass="p">(</span><spanclass="o">-</span><spanclass="n">x</span><spanclass="o">*</span><spanclass="n">y</span><spanclass="p">)</span>
<spanclass="n">fig</span><spanclass="o">=</span><ahref="../../api/_as_gen/matplotlib.pyplot.figure.html#matplotlib.pyplot.figure" title="View documentation for matplotlib.pyplot.figure"><spanclass="n">plt</span><spanclass="o">.</span><spanclass="n">figure</span></a><spanclass="p">()</span>
<ahref="../../api/_as_gen/matplotlib.pyplot.show.html#matplotlib.pyplot.show" title="View documentation for matplotlib.pyplot.show"><spanclass="n">plt</span><spanclass="o">.</span><spanclass="n">show</span></a><spanclass="p">()</span>