Thursday, December 20, 2018

Anaconda-Python Setup Records




If you encounter problems below:
  • twisted 18.7.0 requires PyHamcrest>=1.9.0, which is not installed.
just install below:
  • python.exe -m pip install PyHamcrest
If you encounter problems below:
  • Command "python setup.py egg_info" failed with error code 1 in C:\Users\yourfolder\AppData\Local\Temp\pip-install-8s57p4nw\fiona\
just install below:
  • python.exe -m pip install -I https://github.com/pypa/pip/archive/master.zip#egg=pip
  • python.exe -m pip install --upgrade setuptools
  • python.exe -m pip install ez_setup
  • python -m pip install --upgrade pip
  • python -m pip install psycopg2
  • pip install -I https://github.com/pypa/pip/archive/master.zip#egg=pip
  • pip install --upgrade google-cloud-datastore (this will prompt the PATH issue)
Still doesn't work? Try follow this (if you have install Microsoft visual studio 2017):

Wednesday, December 19, 2018

GeoPandas, Shapely, Fiona, PySAL, Pyliburo & Py4design

'GeoPandas is an open source project to make working with geospatial data in python easier. GeoPandas extends the datatypes used by pandas to allow spatial operations on geometric types. Geometric operations are performed by shapely. Geopandas further depends on fiona for file access and descartes and matplotlib for plotting.' to find out more...

Above passage via http://geopandas.org/

'Shapely is a Python package for set-theoretic analysis and manipulation of planar features using (via Python’s ctypes module) functions from the well known and widely deployed GEOS library. GEOS, a port of the Java Topology Suite (JTS), is the geometry engine of the PostGIS spatial extension for the PostgreSQL RDBMS. The designs of JTS and GEOS are largely guided by the Open Geospatial Consortium’s Simple Features Access Specification [1] and Shapely adheres mainly to the same set of standard classes and operations. Shapely is thereby deeply rooted in the conventions of the geographic information systems (GIS) world, but aspires to be equally useful to programmers working on non-conventional problems.' to find out more...

Source: https://shapely.readthedocs.io/en/stable/manual.html#spatial-analysis-methods

'Fiona is designed to be simple and dependable. It focuses on reading and writing data in standard Python IO style and relies upon familiar Python types and protocols such as files, dictionaries, mappings, and iterators instead of classes specific to OGR. Fiona can read and write real-world data using multi-layered GIS formats and zipped virtual file systems and integrates readily with other Python GIS packages such as pyproj, Rtree, and Shapely. Fiona is supported only on CPython versions 2.7 and 3.4+.' to find out more...

Source: https://fiona.readthedocs.io/en/latest/README.html#usage

'PySAL is an open source library of spatial analysis functions written in Python intended to support the development of high level applications. PySAL is open source under the BSD License.' to find out more...

Source: https://pysal.readthedocs.io/en/latest/

'Urban design optimisation is a powerful method for the exploration of multiple designs. In performing an urban design optimisation, we need to link and automatically execute multiple domain-specific applications, a technically complicated setup. Current solutions resolve the technical obstacle by embedding the applications within a single Computer-Aided Design (CAD) application to streamline the setup. The solution leverages the CAD application’s modelling workflow and capability to process the urban geometries for analyses. However, this solution is workflow specific; users either do not have access to optimisation algorithms or are restricted to the capabilities provided by a specific CAD application. For optimisation to be accessible to a wider community, we develop an open Python library, Pyliburo, to provide optimisation capability to all design workflows. Pyliburo aims to be easily integrated into a user’s existing design workflow to provide or enhance optimisation capability. To do so, Pyliburo emphasises interoperability, platform independence, ease of use, integration flexibility and extensibility. to find out more...

Source: http://www.ibpsa.org/proceedings/BS2017/BS2017_323.pdf

Python Library for Rapid Development of Design Workflows (Py4design)(Previously known as Pyliburo) to find out more...

Source: https://www.researchgate.net/project/Python-Library-for-Rapid-Development-of-Design-Workflows-Py4designPreviously-known-as-Pyliburo

Discussion and further reading:
YouTube:

Saturday, December 15, 2018

Computation with Math

YouTube:

Mathworks - Matlab & Simulink:

Building Performance Optimisation

ArDOT: A TOOL TO OPTIMISE ENVIRONMENTAL DESIGN OF BUILDINGS: 
Optimised Building Form for Environmental Sustainability
Simulation-Based Building Envelope Design Optimization Methodologies for Indoor Thermal Comfort – A Review
Optimization as a design strategy. Considerations based on building simulation-assisted experiments about problem decomposition

Wednesday, December 12, 2018

Generative Design

'Generative design is a form finding process that can mimic nature's evolutionary approach to design. It can start with design goals and then explore innumerable possible permutations of a solution to find the best option. By using cloud computing, generative design can cycle through thousands or even millions of design choices, test configurations and learn from each iteration what works and what doesn't. The process can enable designers to generate brand new options, beyond what a human alone could create, to arrive at a most effective design.' to find out more...

Passage via http://fab.cba.mit.edu/classes/865.18/design/generative/index.html

Related reading:
Hypar.io with YouTube video:


KNN Algorithm


K-d Tree

Findings:




Genetic Algorithm

'Genetic algorithms operate on a set of possible solutions. Because of the random nature of genetic algorithms, solutions found by an algorithm can be good, poor, or infeasible [defective, erroneous], so there should be a way to specify how good that solution is. This is done by assigning a fitness value [or just fitness] to the solution. Chromosomes represent solutions within the genetic algorithm. The two basic components of chromosomes are the coded solution and its fitness value.' to find out more...

Codes from Matlab:
https://www.mathworks.com/matlabcentral/fileexchange/14767-genetic-algorithm

Online findings:

Tuesday, December 11, 2018

Computational Spatial Layout Planning

http://kaisersrot.ch (10 years research project by Prof. Dr. Ludger Hovestadt For the latest works of former Kaisersrot members look at www.adaptivearchitektur.com and work since 2017 at user-generated-design.com
Related YouTube:


Related reading:
https://www.caad.arch.ethz.ch/blog/ludger-hovestadt/
https://www.jyrkivanamo.com/wordpress/wp-content/uploads/JyrkiVanamo_Thesis_lowres.pdf

Generative Algorithms in Architectural Spatial Layout Planning:
Parallel planning
Augmented space planning: Using procedural generation to automate desk layout:
Analysis of space layout using Attraction Force Model and Quadratic Assignment Problem:
Automated space layout planning for environmental sustainability:
K-d Tree Structure and Evolutionary Algorithms:
Optimising Spatial Adjacencies using evolutionary parametric tools
The computational method in building programming:
Architecture MIT:
Stanford University:
Bartlett School of Architecture (Space Syntax Lab)
Designing with Space Syntax: 

Space Syntax Workshop

Space Plan Generator

Subdivision Modelling in Blender by UH Studio Design Academy


How to Cad in Blender by BlenderZen posted in 2016

Not that I wanted to CAD but it is just the fundamental skills needed before leaping to another stage :)

Blender Architectural add-ons

A very useful series of youtube videos by UH Studio Design Academy recently. One of it is the architectural add-ons needed in Blender.

Python coding for Architects

Interesting reading: https://www.toptal.com/python/computational-geometry-in-python-from-theory-to-implementation