Skip to content

Could libfive's core concepts be implemented by a non-expert? #520

Answered by mkeeter
lf94 asked this question in Q&A
Discussion options

You must be logged in to vote

This is a tough question to answer! At one point, I was a non-expert, but I was able to implement libfive; it's therefore possible, but one of the steps along the way may be "become an expert".

The core algorithms are not too tricky: meshing is an implementation of Manifold Dual Contouring, which requires some basic linear algebra but nothing exotic. I expect that someone could implement the basics version of libfive's meshing in 1-2K of Python (without tape simplification, i.e. given some f(x, y, z) -> (v, dv/dx, dv/dy, dv/dz))

However, it would be much slower!

Most of the work has gone into making it fast, plus some amount of work into making it handle weird corner cases. The biggest ex…

Replies: 5 comments 3 replies

Comment options

You must be logged in to vote
0 replies
Comment options

You must be logged in to vote
0 replies

This comment has been hidden.

Comment options

You must be logged in to vote
2 replies
@lf94
Comment options

@mkeeter
Comment options

Answer selected by lf94
Comment options

You must be logged in to vote
1 reply
@lf94
Comment options

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
3 participants
Converted from issue

This discussion was converted from issue #519 on January 25, 2023 18:26.