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
Add function to export a sampled grid to the VTK file format.
Currently only gyroids and gyroid sheets are implemented.
Add other examples (for example lidinoids)
Add an implementation of regularized evolution for fitting parametric primitives.
Add code to save a surface mesh with a scalar value per node as a VTK file.
Add a simple implementation of slicing.
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 setup.py such that we do not need to add
sys.path.append(os.path.join(os.path.dirname(__file__), "../"))
in the shape scripts.
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.
Check for missing primitives and operations from the literature on implicit surface and SDF based modeling.
Allow to fit a neural net (MLP) to a point cloud or a mesh
Add normalization schemes: Rvachev, Taubin (first order only)
Trap NaN in grad, div, ...
It can happen when using r-functions. Use torch.nan_to_num
Standardize naming conventions and parameters across SDF and non-SDF functions.
For example, we have primitives.cylX()
and sdf_primitives.cylinderX()
.
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.
Several SDF primitives are missing (platonic solids, cone variants, triangle, ...). Add them.
Use a consistent naming. For example in IO, some of the functions are called 'save' others are called 'write'.
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, ...)
In the module reinit
, rename ImplicitNN
into ImplicitNNFun
.
We will use ImplicitNN
for neural nets used for fitting a point cloud.
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.