Parametric Geometric Objects#

Creating parametric objects from Parametric Objects.

from __future__ import annotations

from math import pi

import pyvista as pv

This example demonstrates how to plot parametric objects using pyvista

Supertoroid#

supertoroid = pv.ParametricSuperToroid(n1=0.5)
supertoroid.plot(color='lightblue', smooth_shading=True)
create parametric geometric objects

Parametric Ellipsoid#

# Ellipsoid with a long x axis
ellipsoid = pv.ParametricEllipsoid(10, 5, 5)
ellipsoid.plot(color='lightblue')
create parametric geometric objects

Partial Parametric Ellipsoid#

# cool plotting direction
cpos = [
    (21.9930, 21.1810, -30.3780),
    (-1.1640, -1.3098, -0.1061),
    (0.8498, -0.2515, 0.4631),
]


# half ellipsoid
part_ellipsoid = pv.ParametricEllipsoid(10, 5, 5, max_v=pi / 2)
part_ellipsoid.plot(color='lightblue', smooth_shading=True, cpos=cpos)
create parametric geometric objects

Pseudosphere#

pseudosphere = pv.ParametricPseudosphere()
pseudosphere.plot(color='lightblue', smooth_shading=True)
create parametric geometric objects

Bohemian Dome#

bohemiandome = pv.ParametricBohemianDome()
bohemiandome.plot(color='lightblue')
create parametric geometric objects

Bour#

bour = pv.ParametricBour()
bour.plot(color='lightblue')
create parametric geometric objects

Boy’s Surface#

boy = pv.ParametricBoy()
boy.plot(color='lightblue')
create parametric geometric objects

Catalan Minimal#

catalanminimal = pv.ParametricCatalanMinimal()
catalanminimal.plot(color='lightblue')
create parametric geometric objects

Conic Spiral#

conicspiral = pv.ParametricConicSpiral()
conicspiral.plot(color='lightblue')
create parametric geometric objects

Cross Cap#

crosscap = pv.ParametricCrossCap()
crosscap.plot(color='lightblue')
create parametric geometric objects

Dini#

dini = pv.ParametricDini()
dini.plot(color='lightblue')
create parametric geometric objects

Enneper#

enneper = pv.ParametricEnneper()
enneper.plot(cpos="yz")
create parametric geometric objects

Figure-8 Klein#

figure8klein = pv.ParametricFigure8Klein()
figure8klein.plot()
create parametric geometric objects

Henneberg#

henneberg = pv.ParametricHenneberg()
henneberg.plot(color='lightblue')
create parametric geometric objects

Klein#

klein = pv.ParametricKlein()
klein.plot(color='lightblue')
create parametric geometric objects

Kuen#

kuen = pv.ParametricKuen()
kuen.plot(color='lightblue')
create parametric geometric objects

Mobius#

mobius = pv.ParametricMobius()
mobius.plot(color='lightblue')
create parametric geometric objects

Plucker Conoid#

pluckerconoid = pv.ParametricPluckerConoid()
pluckerconoid.plot(color='lightblue')
create parametric geometric objects

Random Hills#

randomhills = pv.ParametricRandomHills()
randomhills.plot(color='lightblue')
create parametric geometric objects

Roman#

roman = pv.ParametricRoman()
roman.plot(color='lightblue')
create parametric geometric objects

Super Ellipsoid#

superellipsoid = pv.ParametricSuperEllipsoid(n1=0.1, n2=2)
superellipsoid.plot(color='lightblue')
create parametric geometric objects

Torus#

torus = pv.ParametricTorus()
torus.plot(color='lightblue')
create parametric geometric objects

Circular Arc#

pointa = [-1, 0, 0]
pointb = [0, 1, 0]
center = [0, 0, 0]
resolution = 100

arc = pv.CircularArc(pointa, pointb, center, resolution)

pl = pv.Plotter()
pl.add_mesh(arc, color='k', line_width=4)
pl.show_bounds()
pl.view_xy()
pl.show()
create parametric geometric objects

Extruded Half Arc#

pointa = [-1, 0, 0]
pointb = [1, 0, 0]
center = [0, 0, 0]
resolution = 100

arc = pv.CircularArc(pointa, pointb, center, resolution)
poly = arc.extrude([0, 0, 1])
poly.plot(color='lightblue', cpos='iso', show_edges=True)
create parametric geometric objects
/home/runner/work/pyvista/pyvista/pyvista/core/filters/poly_data.py:2997: PyVistaFutureWarning: The default value of the ``capping`` keyword argument will change in a future version to ``True`` to match the behavior of VTK. We recommend passing the keyword explicitly to prevent future surprises.
  warnings.warn(

Total running time of the script: (0 minutes 8.653 seconds)

Gallery generated by Sphinx-Gallery