Knot Generator
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.gitignore
README.md
aabb.py
algebra.py
bspline.py
consts.py
dragon.obj
gllists.py
graph.py
knots.py
knotty.py
objloader.py
outersurface.py
primitives.py
teapot.obj

README.md

Knotty - Chinese Knot Generator

CS285 Project - Brandon Wang, Andrew Lee

Requirements

How to use

python knotty.py your_file.obj

Typically used options

  • Specifications: `python knotty.py your file.obj -r [RESOLUTION] -c [CS_SCALE] -z [MAX_DIM]

    • RESOLUTION: Maximum voxel dimension
    • CS_SCALE: Cross section scale/radius
    • MAX_DIM: Maximum dimension size for STL/OBJ output
  • Non-well-behaved OBJ's: python knotty.py your_file.obj -b

    Use -b for a slower, more accurate voxelization

Current Status

###Done

  • Initial OpenGL Code:

    • PyOpenGL working
    • Viewport/quaternion rotation working
  • Voxelization:

    • "Well-behaved" OBJs
      • Winding Number
      • Parity/XOR
    • All OBJ
      • 3 pass boundary voxels
  • Patterning:

    • Up and down control points specified
    • Control points to spline
    • Eulerian path construction (Single thread)
  • Polygon:

    • Spline to polygon
    • Watertight polygon
    • Polygon to STL
    • Polygon to OBJ

###Not Done

  • Extensions to non-axis-aligned shapes (Triangles, quads)