All Projects → aalavandhaann → Py_BL_MeshSkeletonization

aalavandhaann / Py_BL_MeshSkeletonization

Licence: GPL-3.0 license
Mesh Skeleton Extraction Using Laplacian Contraction

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Py BL MeshSkeletonization

skeletor
3D skeleton extraction from meshes.
Stars: ✭ 115 (+259.38%)
Mutual labels:  skeleton, mesh, skeletonization
SkeletonBridgeRecon
The code for CVPR2019 Oral paper "A Skeleton-bridged Deep Learning Approach for Generating Meshes of Complex Topologies from Single RGB Images"
Stars: ✭ 72 (+125%)
Mutual labels:  skeleton, mesh
SkeletonMatching
This repository implements skeleton matching algorithm.
Stars: ✭ 30 (-6.25%)
Mutual labels:  skeleton, skeletonization
Creature godot
2D Skeletal Animation Creature Runtime for Godot Engine
Stars: ✭ 70 (+118.75%)
Mutual labels:  skeleton, mesh
Creature unity
2D Skeletal Animation Unity Runtimes for Creature
Stars: ✭ 50 (+56.25%)
Mutual labels:  skeleton, mesh
Gltfforue4
Import glTF 2.0 in Unreal Engine
Stars: ✭ 145 (+353.13%)
Mutual labels:  skeleton, mesh
webapp-skeleton
🎁 Web application project skeleton based on Nette Framework (@nette), Doctrine (@nettrine) and Contributte (@contributte) libraries by @f3l1x.
Stars: ✭ 82 (+156.25%)
Mutual labels:  skeleton
etc-skel
/etc/skel with super cool confs for tmux, psql, inputrc, git, bash, dircolors, and more.
Stars: ✭ 22 (-31.25%)
Mutual labels:  skeleton
libgltf
glTF 2.0 parser/loader for C++11, supports many extensions likes `KHR_draco_mesh_compression`, `KHR_lights_punctual`, `KHR_materials_clearcoat`, and more.
Stars: ✭ 55 (+71.88%)
Mutual labels:  mesh
easemesh
A service mesh implementation for connecting, control, and observe services in spring-cloud.
Stars: ✭ 454 (+1318.75%)
Mutual labels:  mesh
meshname
Meshname, a universal naming system for all IPv6-based mesh networks, including CJDNS and Yggdrasil
Stars: ✭ 65 (+103.13%)
Mutual labels:  mesh
AniFormer
Source code of our BMVC 2021 paper: AniFormer: Data-driven 3D Animation with Transformer
Stars: ✭ 24 (-25%)
Mutual labels:  mesh
Point2Mesh
Meshing Point Clouds with Predicted Intrinsic-Extrinsic Ratio Guidance (ECCV2020)
Stars: ✭ 61 (+90.63%)
Mutual labels:  mesh
telegram-bot-skeleton-ruby
Telegram bot skeleton in Ruby
Stars: ✭ 15 (-53.12%)
Mutual labels:  skeleton
apollo11
elementary app skeleton (hello houston)
Stars: ✭ 27 (-15.62%)
Mutual labels:  skeleton
skeletonization-js
Javascript implementation of image skeletonization
Stars: ✭ 34 (+6.25%)
Mutual labels:  skeletonization
classy blocks
Python classes for easier creation of OpenFOAM's blockMesh dictionaries.
Stars: ✭ 53 (+65.63%)
Mutual labels:  mesh
create-siler-app
🧱 Set up a modern Siler app by running one command.
Stars: ✭ 15 (-53.12%)
Mutual labels:  skeleton
petstore
A simple skeleton to build api's based on the chubbyphp-framework, mezzio (former zend-expressive) or slim.
Stars: ✭ 34 (+6.25%)
Mutual labels:  skeleton
react-skeleton-loader
A react helper for skeleton loaders
Stars: ✭ 61 (+90.63%)
Mutual labels:  skeleton

MeshSkeletonization

This is an implementation of Skeleton Extraction by Mesh contraction as cited below.

Au OK, Tai CL, Chu HK, Cohen-Or D, Lee TY. Skeleton extraction by mesh contraction. ACM Transactions on Graphics (TOG). 2008 Aug 1;27(3):44.

The plugin is still under development. As of now only the mesh contraction step is complete. There are 2 more steps to complete before extracting the skeleton of the mesh

Dependency python packages

  • BPY module (Blender python environment)
  • Numpy
  • Scipy

Usage

Install the plugin or copy the folder meshskeletonization inside the Blender addons folder. Then activate the plugin through Blender user interface. Once enabled you should be able to see a tab named Mesh Skeletonization in the tools panel.

Play around the following parameters and press Mesh Contraction for the contraction process. Depending on the mesh resolution and supplied parameters expect the time delay for the process to complete. Once the mesh contraction is complete you should find the contracted mesh (with almost zero volume) duplicated alongside the original mesh. The name of the contracted mesh will be a combination of the original mesh name concatenated with the parameter values you supplied.

In short:-

  • Select the mesh object in Object Mode
  • Press Mesh Skeletonization
  • You should see a duplicated mesh that is contracted

Notes

  • It is necessary to triangulate the mesh in Blender, otherwise results are going to be crazy
  • Except the linear systems solved to take some time as it uses numpy and scipy
  • If someone can help me with other steps, wow, greatly appreciated. Maybe I can help in some way back.

Have Fun

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].