2019-10-10 03:47:47 +02:00
2019-10-04 22:12:07 +02:00
2019-10-10 03:47:47 +02:00
2019-09-17 12:29:41 -04:00
2019-09-20 23:12:33 +02:00
2019-09-20 23:12:33 +02:00

To-do items, wanted features, bugs:

  • Examples of branching. This will probably need recursion via functions (or an explicit stack some other way).

  • I need to figure out winding order. It is consistent through seemingly everything, except for reflection and close_boundary_simple. (When there are two parallel boundaries joined with something like join_boundary_simple, traversing these boundaries in their actual order to generate triangles - like in close_boundary_simple - will produce opposite winding order on each. Imagine a transparent clock: seen from the front, it moves clockwise, but seen from the back, it moves counter-clockwise.)

  • Make it easier to build up meshes a bit at a time?

  • Factor out recursive/iterative stuff to be a bit more concise

  • Embed this in Blender?

  • File that bug that I've seen in trimesh/three.js (see trimesh_fail.ipynb)

  • Parametrize gen_twisted_boundary over boundaries and do my nested spiral

  • Why do I get the weird zig-zag pattern on the triangles, despite larger numbers of them? Is it something in how I twist the frames?

    • How can I compute the torsion on a quad? I think it comes down to this: torsion applied across the quad I'm triangulating leading to neither diagonal being a particularly good choice. Subdividing the boundary seems to help, but other triangulation methods (e.g. turning a quad to 4 triangles by adding the centroid) could be good too.
    • Facets/edges are just oriented the wrong way...
  • I need an actual example of branching/forking. If I simply split a boundary into sub-boundaries per the rules I already have in my notes, then this still lets me split any way I want to without having to worry about joining N boundaries instead of 2, doesn't it?

Other notes:

  • Picking at random the diagonal on the quad to triangulate with does seem to turn 'error' just to noise, and in its own way this is preferable.

Abstractions

  • Encode the notions of "generator which transforms an existing list of boundaries", "generator which transforms another generator"
  • This has a lot of functions parametrized over a lot of functions. Need to work with this somehow. (e.g. should it subdivide this boundary? should it merge opening/closing boundaries?)
  • Work directly with lists of boundaries. The only thing I ever do with them is apply transforms to all of them, or join adjacent ones with corresponding elements.
Description
No description provided
Readme 11 MiB
Languages
Jupyter Notebook 87.5%
Python 12.5%