Skip to main content

threevis

A Python library for visualizing meshes, point clouds, and other geometry in Jupyter notebooks

Installation

pip install threevis

Examples

Quick Mesh Inspection

import threevis
import openmesh as om

m = om.read_trimesh('examples/models/bunny.obj')

threevis.display_openmesh(m)

Custom Rendering

import threevis
import openmesh as om
import numpy as np

# Load Mesh
m = om.read_trimesh('mouse.obj')

# Create Context
ctx = threevis.Context(width=640, height=480)

# Get vertices and faces from the mesh
vertices = m.points()
faces = m.face_vertex_indices()

# We don't have normals, calculate them
normals = threevis.calculateFaceNormals(m.points(), m.face_vertex_indices())

# Choose a random color for each face
colors = threevis.FaceAttribute(np.random.rand(len(faces), 3))

# Draw the mesh with flat shading
ctx.draw_faces(vertices, faces, 
               normals = normals,
               colors = colors,
               shading = 'flat')

# Draw edges on top with random colors
ctx.draw_edges(vertices, m.ev_indices(), 
               colors = threevis.FaceAttribute(np.random.rand(len(m.ev_indices()), 3)),
               linewidth=3)

# Calculate data to display normals as edges
normal_vis_verts, normal_vis_edges = threevis.calculateNormalEdges(vertices, faces, normals, length=0.05)

# Draw the normals in
ctx.draw_edges(normal_vis_verts, normal_vis_edges, colors = colors)

# Draw a point for each vertex
ctx.draw_vertices(vertices, point_size=4, colors='red')

# Finally display it
ctx.display()

Development Setup

  • Install dependencies
  • Clone the repository
  • pip install -e .

Dependencies

Optional

Download files

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

Source Distribution

threevis-0.1.0.post25.tar.gz (506.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

threevis-0.1.0.post25-py2.py3-none-any.whl (11.5 kB view details)

Uploaded Python 2Python 3

File details

Details for the file threevis-0.1.0.post25.tar.gz.

File metadata

File hashes

Hashes for threevis-0.1.0.post25.tar.gz
Algorithm Hash digest
SHA256 f1d9d2b2805283cb1e2beb4ffb3d2962ac44c23ef0444d4289f08705632d31ae
MD5 d91d199366c044376bab7a3720faaf33
BLAKE2b-256 43033162174df26ca0a4ea057d772903396c53d275665c997dbc787fdd41fae3

See more details on using hashes here.

File details

Details for the file threevis-0.1.0.post25-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for threevis-0.1.0.post25-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 ca989d2d2c6f63da14c4b977dc109b662ffebefb8976980c0fc62a1a7afaffe8
MD5 6c1506e39478056921d62415374858e8
BLAKE2b-256 b2ff9597cc0ff28c940bc0f229b1c67e8357ecad95edc7b08ac14752c119d7e3

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.0.post25 This release

2 files

0.1.0.post21

2 files

0.1.0.post20

2 files

0.1.0.post11

1 file

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page