{ "cells": [ { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false }, "outputs": [], "source": [ "%matplotlib inline" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Parametric Geometric Objects {#parametric_example}\n\nCreating parametric objects from `parametric_api`{.interpreted-text\nrole=\"ref\"}.\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false }, "outputs": [], "source": [ "from math import pi\n\nimport pyvista as pv" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This example demonstrates how to plot parametric objects using pyvista\n\n# Supertoroid\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false }, "outputs": [], "source": [ "supertoroid = pv.ParametricSuperToroid(n1=0.5)\nsupertoroid.plot(color='lightblue', smooth_shading=True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Parametric Ellipsoid\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false }, "outputs": [], "source": [ "# Ellipsoid with a long x axis\nellipsoid = pv.ParametricEllipsoid(10, 5, 5)\nellipsoid.plot(color='lightblue')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Partial Parametric Ellipsoid\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false }, "outputs": [], "source": [ "# cool plotting direction\ncpos = [\n (21.9930, 21.1810, -30.3780),\n (-1.1640, -1.3098, -0.1061),\n (0.8498, -0.2515, 0.4631),\n]\n\n\n# half ellipsoid\npart_ellipsoid = pv.ParametricEllipsoid(10, 5, 5, max_v=pi / 2)\npart_ellipsoid.plot(color='lightblue', smooth_shading=True, cpos=cpos)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Pseudosphere\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false }, "outputs": [], "source": [ "pseudosphere = pv.ParametricPseudosphere()\npseudosphere.plot(color='lightblue', smooth_shading=True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Bohemian Dome\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false }, "outputs": [], "source": [ "bohemiandome = pv.ParametricBohemianDome()\nbohemiandome.plot(color='lightblue')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Bour\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false }, "outputs": [], "source": [ "bour = pv.ParametricBour()\nbour.plot(color='lightblue')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Boy\\'s Surface\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false }, "outputs": [], "source": [ "boy = pv.ParametricBoy()\nboy.plot(color='lightblue')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Catalan Minimal\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false }, "outputs": [], "source": [ "catalanminimal = pv.ParametricCatalanMinimal()\ncatalanminimal.plot(color='lightblue')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Conic Spiral\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false }, "outputs": [], "source": [ "conicspiral = pv.ParametricConicSpiral()\nconicspiral.plot(color='lightblue')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Cross Cap\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false }, "outputs": [], "source": [ "crosscap = pv.ParametricCrossCap()\ncrosscap.plot(color='lightblue')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Dini\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false }, "outputs": [], "source": [ "dini = pv.ParametricDini()\ndini.plot(color='lightblue')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Enneper\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false }, "outputs": [], "source": [ "enneper = pv.ParametricEnneper()\nenneper.plot(cpos=\"yz\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Figure-8 Klein\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false }, "outputs": [], "source": [ "figure8klein = pv.ParametricFigure8Klein()\nfigure8klein.plot()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Henneberg\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false }, "outputs": [], "source": [ "henneberg = pv.ParametricHenneberg()\nhenneberg.plot(color='lightblue')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Klein\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false }, "outputs": [], "source": [ "klein = pv.ParametricKlein()\nklein.plot(color='lightblue')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Kuen\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false }, "outputs": [], "source": [ "kuen = pv.ParametricKuen()\nkuen.plot(color='lightblue')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Mobius\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false }, "outputs": [], "source": [ "mobius = pv.ParametricMobius()\nmobius.plot(color='lightblue')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Plucker Conoid\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false }, "outputs": [], "source": [ "pluckerconoid = pv.ParametricPluckerConoid()\npluckerconoid.plot(color='lightblue')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Random Hills\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false }, "outputs": [], "source": [ "randomhills = pv.ParametricRandomHills()\nrandomhills.plot(color='lightblue')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Roman\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false }, "outputs": [], "source": [ "roman = pv.ParametricRoman()\nroman.plot(color='lightblue')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Super Ellipsoid\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false }, "outputs": [], "source": [ "superellipsoid = pv.ParametricSuperEllipsoid(n1=0.1, n2=2)\nsuperellipsoid.plot(color='lightblue')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Torus\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false }, "outputs": [], "source": [ "torus = pv.ParametricTorus()\ntorus.plot(color='lightblue')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Circular Arc\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false }, "outputs": [], "source": [ "pointa = [-1, 0, 0]\npointb = [0, 1, 0]\ncenter = [0, 0, 0]\nresolution = 100\n\narc = pv.CircularArc(pointa, pointb, center, resolution)\n\npl = pv.Plotter()\npl.add_mesh(arc, color='k', line_width=4)\npl.show_bounds()\npl.view_xy()\npl.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Extruded Half Arc\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false }, "outputs": [], "source": [ "pointa = [-1, 0, 0]\npointb = [1, 0, 0]\ncenter = [0, 0, 0]\nresolution = 100\n\narc = pv.CircularArc(pointa, pointb, center, resolution)\npoly = arc.extrude([0, 0, 1])\npoly.plot(color='lightblue', cpos='iso', show_edges=True)" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.12.2" } }, "nbformat": 4, "nbformat_minor": 0 }