Skip to content

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

License

Notifications You must be signed in to change notification settings

WWmore/geometrylab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages