WWmore / geometrylab

python + mayavi codebase for visualizing optimization problem in Geometry Processing / Archtectural Geometry

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

geometrylab

python + mayavi codebase for visualizing optimization problem in Geometry Processing / Archtectural Geometry

Basic Library License Documentation Generalized Optimization Code
Numpy,SciPy,Mayavi GitHub license doc ArchGeo

This library was initially developed by Davide Pellis. A generalized use of it has been developed in the ArchGeo library. Please refer the Documentation for more detail explanation.

Set up a working environment in Windows / MacOS

Using Anaconda to install every package.

1. Download Anaconda

2. Open Anaconda Prompt
```
$ conda create -n geo 
$ conda activate geo
$ conda install mayavi traits traitsui qt pyqt vtk scipy spyder 
$ conda install -c haasad pypardiso
```
3. Open Anaconda, under "geo" environment open Spyder

Once above installation failed because of versions conflict, then try below installations:

```
$ conda create -n geo python=3.6
$ conda activate geo
$ pip install numpy scipy
$ pip install python-vtk
$ pip install mayavi --no-cache
$ conda install -c haasad pypardiso
$ conda install pyface
```

File tree

File tree.

File


File

Mesh Optimization

The optimizer uses Guided Projection Algorithm, a Gauss-Newton algorithm, as dissused in the paper Form-finding with polyhedral meshes made simple, in a Python environment to produce quadmesh models.

Abstract of the paper 'Form-finding with Polyhedral Meshes Made Simple'

We solve the form-finding problem for polyhedral meshes in a way which combines form, function and fabrication; taking care of user-specified constraints like boundary interpolation, planarity of faces, statics, panel size and shape, enclosed volume, and last, but not least, cost. Our main application is the interactive modeling of meshes for architectural and industrial design. Our approach can be described as guided exploration of the constraint space whose algebraic structure is simplified by introducing auxiliary variables and ensuring that constraints are at most quadratic. Computationally, we perform a projection onto the constraint space which is biased towards low values of an energy which expresses desirable "soft" properties like fairness. We have created a tool which elegantly handles difficult tasks, such as taking boundary-alignment of polyhedral meshes into account, planarization, fairing under planarity side conditions, handling hybrid meshes, and extending the treatment of static equilibrium to shapes which possess overhanging parts.


Open the GUI

If you want to test how it works, just try python files in geometrylab/test: ex. run paneling.py, then a GUI window will be opened. You can add waterever you like for the settings of optimization and visualization.

More implementation architecture can refer to the DOS project, which is based on this codebase.

About

python + mayavi codebase for visualizing optimization problem in Geometry Processing / Archtectural Geometry

License:MIT License


Languages

Language:Python 100.0%