Skip to main content

Polyscope: A viewer and user interface for 3D data.

Project description

Polyscope's documentation is hosted at polyscope.run

Polyscope

Build Status

Polyscope is a C++ viewer and user interface for 3D data like meshes and point clouds. Scientists, engineers, artists, and hackers can use Polyscope to prototype and debug algorithms---it is designed to easily integrate with existing codebases and popular libraries. The lofty objective of Polyscope is to offer a useful visual interface to your data via a single line of code.

Polyscope uses a paradigm of structures and quantities. A structure is a geometric object in the scene, such as a surface mesh or point cloud. A quantity is data associated with a structure, such as a scalar function or a vector field.

When any of these structures and quantities are registered, Polyscope displays them in an interactive 3D scene, handling boilerplate concerns such as toggling the display of various data, colormapping data and editing maps, providing "picking" support to click in the scene and display numerical quantities, and generating histograms of scalar values.

A simple workflow for visualizing data in Polyscope looks like:

#include "polyscope/polyscope.h"
#include "polyscope/surface_mesh.h"

// Initialize polyscope
polyscope::init();

// Register a surface mesh structure
polyscope::registerSurfaceMesh("my mesh", mesh.vertices, mesh.faces);

// Add a scalar and a vector function to the mesh
polyscope::getSurfaceMesh("my mesh")->addVertexScalarQuantity("my_scalar", scalarQuantity);
polyscope::getSurfaceMesh("my mesh")->addFaceVectorQuantity("my_vector", vectorQuantity);

// Show the gui
polyscope::show();

Polyscope is designed to make your life easier. It is simple to build, and fewer than 10 lines of code should be sufficient to start visualizing. Thanks to some template magic, Polyscope can probably directly read from the data types you're already using!


Author: Nicholas Sharp

If Polyscope contributes to an academic publication, cite it as:

@misc{polyscope,
  title = {Polyscope},
  author = {Nicholas Sharp and the Polyscope contributors},
  note = {www.polyscope.run},
  year = {2019}
}

Development of this software was funded in part by NSF Award 1717320, an NSF graduate research fellowship, and gifts from Adobe Research and Autodesk, Inc.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

polyscope-0.0.2.tar.gz (5.9 MB view hashes)

Uploaded Source

Built Distributions

polyscope-0.0.2-pp36-pypy36_pp73-manylinux2010_x86_64.whl (2.0 MB view hashes)

Uploaded PyPy manylinux: glibc 2.12+ x86-64

polyscope-0.0.2-pp36-pypy36_pp73-macosx_10_13_x86_64.whl (1.9 MB view hashes)

Uploaded PyPy macOS 10.13+ x86-64

polyscope-0.0.2-pp27-pypy_73-manylinux2010_x86_64.whl (2.0 MB view hashes)

Uploaded PyPy manylinux: glibc 2.12+ x86-64

polyscope-0.0.2-pp27-pypy_73-macosx_10_13_x86_64.whl (1.9 MB view hashes)

Uploaded PyPy macOS 10.13+ x86-64

polyscope-0.0.2-cp38-cp38-manylinux2010_x86_64.whl (2.0 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.12+ x86-64

polyscope-0.0.2-cp38-cp38-manylinux2010_i686.whl (2.1 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.12+ i686

polyscope-0.0.2-cp38-cp38-macosx_10_13_x86_64.whl (1.9 MB view hashes)

Uploaded CPython 3.8 macOS 10.13+ x86-64

polyscope-0.0.2-cp37-cp37m-manylinux2010_x86_64.whl (2.0 MB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.12+ x86-64

polyscope-0.0.2-cp37-cp37m-manylinux2010_i686.whl (2.1 MB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.12+ i686

polyscope-0.0.2-cp37-cp37m-macosx_10_13_x86_64.whl (1.9 MB view hashes)

Uploaded CPython 3.7m macOS 10.13+ x86-64

polyscope-0.0.2-cp36-cp36m-manylinux2010_x86_64.whl (2.0 MB view hashes)

Uploaded CPython 3.6m manylinux: glibc 2.12+ x86-64

polyscope-0.0.2-cp36-cp36m-manylinux2010_i686.whl (2.1 MB view hashes)

Uploaded CPython 3.6m manylinux: glibc 2.12+ i686

polyscope-0.0.2-cp36-cp36m-macosx_10_13_x86_64.whl (1.9 MB view hashes)

Uploaded CPython 3.6m macOS 10.13+ x86-64

polyscope-0.0.2-cp35-cp35m-manylinux2010_x86_64.whl (2.0 MB view hashes)

Uploaded CPython 3.5m manylinux: glibc 2.12+ x86-64

polyscope-0.0.2-cp35-cp35m-manylinux2010_i686.whl (2.1 MB view hashes)

Uploaded CPython 3.5m manylinux: glibc 2.12+ i686

polyscope-0.0.2-cp35-cp35m-macosx_10_9_x86_64.whl (1.9 MB view hashes)

Uploaded CPython 3.5m macOS 10.9+ x86-64

polyscope-0.0.2-cp27-cp27mu-manylinux2010_x86_64.whl (2.0 MB view hashes)

Uploaded CPython 2.7mu manylinux: glibc 2.12+ x86-64

polyscope-0.0.2-cp27-cp27mu-manylinux2010_i686.whl (2.1 MB view hashes)

Uploaded CPython 2.7mu manylinux: glibc 2.12+ i686

polyscope-0.0.2-cp27-cp27m-manylinux2010_x86_64.whl (2.0 MB view hashes)

Uploaded CPython 2.7m manylinux: glibc 2.12+ x86-64

polyscope-0.0.2-cp27-cp27m-manylinux2010_i686.whl (2.1 MB view hashes)

Uploaded CPython 2.7m manylinux: glibc 2.12+ i686

polyscope-0.0.2-cp27-cp27m-macosx_10_13_x86_64.whl (1.9 MB view hashes)

Uploaded CPython 2.7m macOS 10.13+ x86-64

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page