fayolle / pyfrep Goto Github PK
View Code? Open in Web Editor NEWA simple python library for differentiable F-Rep modeling
License: MIT License
A simple python library for differentiable F-Rep modeling
License: MIT License
In the module reinit
, rename ImplicitNN
into ImplicitNNFun
.
We will use ImplicitNN
for neural nets used for fitting a point cloud.
When creating tensors, check that they have consistent types.
It seems that sometimes we use float32, other times float64. It doesn't always mix well.
Standardize naming conventions and parameters across SDF and non-SDF functions.
For example, we have primitives.cylX()
and sdf_primitives.cylinderX()
.
Use a consistent naming. For example in IO, some of the functions are called 'save' others are called 'write'.
Currently only gyroids and gyroid sheets are implemented.
Add other examples (for example lidinoids)
Add function to export a sampled grid to the VTK file format.
Several SDF primitives are missing (platonic solids, cone variants, triangle, ...). Add them.
Ideally it should be possible to have multiple backends (PyTorch, Jax) and to be able to switch easily between them.
Currently only PyTorch is supported.
Add code to save a surface mesh with a scalar value per node as a VTK file.
Check for missing primitives and operations from the literature on implicit surface and SDF based modeling.
Add an implementation of regularized evolution for fitting parametric primitives.
Add setup.py such that we do not need to add
sys.path.append(os.path.join(os.path.dirname(__file__), "../"))
in the shape scripts.
Change the project name to something else. The problem is that the term "differentiable" does not appear anywhere (the current name is "PyFRep").
Possible names: Diff-FRep, diff-FRep, Diff_FRep, diff_FRep?
Do not forget to change the project name in the file setup.py as well.
Add a simple implementation of slicing.
Add normalization schemes: Rvachev, Taubin (first order only)
The directory 'Examples' should only contain examples showcasing use-cases of the library.
Some of the examples can be removed (for example, one example of micro-structure is sufficient, the conv example is not needed, the gyroid example is probably not needed as well, ...)
Allow to fit a neural net (MLP) to a point cloud or a mesh
Trap NaN in grad, div, ...
It can happen when using r-functions. Use torch.nan_to_num
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.