Skip to content

Instantly share code, notes, and snippets.

View mikedh's full-sized avatar

Michael Dawson-Haggerty mikedh

View GitHub Profile
import os
cwd = os.path.abspath(os.path.expanduser(os.path.dirname(__file__)))
def backup(frag):
"""
Parse a string backwards to find the first value which can
be a variable name, parenthisized or bracked expression.
@mikedh
mikedh / cust16.glb.header.json
Created July 28, 2022 17:47
Byte alignment error
{
"scene": 0,
"scenes": [{ "nodes": [0] }],
"asset": {
"version": "2.0",
"generator": "https://github.com/mikedh/trimesh"
},
"accessors": [
{
"componentType": 5125,
import os
import time
import trimesh
import numpy as np
tol_norm = 1e-4
def test_align(align):
import os
import trimesh
import numpy as np
tol_norm = 1e-4
def test_align(align):
"""

robot-gltf

Summary

An effort to replace ROS packages describing a robot (a directory structure with URDF, SRDF, OBJ-MTL-STL-salad) with a single GLTF 2.0 GLB file including URDF and SRDF descriptions in the "extras" field of the GLTF header.

Proposed Robot-GLTF Format

  • All geometry is put into a GLTF 2.0 .GLB file.
  • Nodes in GLTF scene description are not used, but can be defined for visualization
  • The URDF and SRDF descriptions are stored in the extras field of the GLTF header.
  • Using the extras field keeps us completely compliant with the spec.
@mikedh
mikedh / arg.json
Created January 16, 2019 21:56
triangles error
{"vertices": [[11.0, 0.0], [10.995184726672196, -0.0980171403295605], [10.98078528040323, -0.19509032201612808], [10.95694033573221, -0.2902846772544621], [10.923879532511286, -0.3826834323650894], [10.881921264348355, -0.4713967368259972], [10.831469612302545, -0.5555702330196017], [10.773010453362737, -0.6343932841636449], [10.707106781186548, -0.7071067811865469], [10.634393284163647, -0.7730104533627363], [10.555570233019603, -0.8314696123025447], [10.471396736825998, -0.8819212643483545], [10.382683432365091, -0.9238795325112863], [10.290284677254464, -0.9569403357322085], [10.19509032201613, -0.9807852804032302], [10.098017140329562, -0.9951847266721967], [10.000000000000002, -1.0], [9.901982859670442, -0.995184726672197], [9.804909677983874, -0.9807852804032308], [9.70971532274554, -0.9569403357322094], [9.617316567634912, -0.9238795325112875], [9.528603263174004, -0.881921264348356], [9.444429766980399, -0.8314696123025463], [9.365606715836357, -0.7730104533627382], [9.292893218813454, -0.707106781186
# -*- coding: utf-8 -*-
"""
Simple coloring shader example.
Press any number key (not on the numpad) to change the triangle color
"""
import numpy as np
import trimesh
import timeit
import time
from collections import deque
import matplotlib.pyplot as plt
from scipy.spatial import cKDTree as KDTree
import os
import trimesh
class FileSystemResolver(object):
def __init__(self, source):
"""
Resolve files based on a source path.
"""
"""
bricks.py
-------------
Fun with meshes of bricks.
"""
import trimesh
import numpy as np