Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/drewish/Cityscape
Generates simple geometric cityscapes in the style of Donald Crews
https://github.com/drewish/Cityscape
Last synced: about 2 months ago
JSON representation
Generates simple geometric cityscapes in the style of Donald Crews
- Host: GitHub
- URL: https://github.com/drewish/Cityscape
- Owner: drewish
- Created: 2015-02-09T03:12:00.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2017-12-31T20:29:07.000Z (about 7 years ago)
- Last Synced: 2024-11-01T13:11:42.344Z (2 months ago)
- Language: C++
- Homepage:
- Size: 1.8 MB
- Stars: 6
- Watchers: 4
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Cityscape
![Flying](./flying_by_donald_crews.jpg)
This project was inspired by [Donald Crews' book Flying](http://www.amazon.com/gp/product/0688092357).
My wife had gotten the book for our son, but having loved [Truck](http://www.amazon.com/Truck-Donald-Crews/dp/0688104819)
as a child, I fell in love with the style and thought it would be fun to spend
a weekend writing a program to generate a city in his style.As I worked on an algorithm to divide a blocks into lots, I realized that rather
than a topic for a weekend project, it really a topic for a PhD thesis.
Fortunately. [Tom Kelly has already written that thesis](http://twak.blogspot.com/2014/02/unwritten-procedural-modeling-with.html),
and it's fascinating. His survey of procedural modeling techniques gave me a ton
of ideas and he's included an algorithm for using the block's straight skeleton
to partitioning it into lots.The goal of this project is an app that will accept a series of roads, and
generate a city of buildings in Crews' style, around them. I decided to use the CGAL
library for its straight skeleton and that forced me to learn a lot about C++
templates, which slowed my progress. But as I've started to discover how to use
it, I found the breadth of CGAL's functionality to be amazing. It may not do it
fast, but it'll do it accurately.![Screen shot of Cityscape](./SEEME.png)
## Installation
Clone this repo:
```
git clone https://github.com/drewish/Cityscape.git
```Install my `triangulate-3d` branch of Cinder 0.9.1dev in a sibling directory:
```
git clone --recursive https://github.com/drewish/Cinder.git -b triangulate-3d
Cinder/xcode/fullbuild.sh
```Install CGAL 4.11 using homebrew:
```
brew install cgal
```Open the app up in Xcode:
```
open Cityscape/xcode/Cityscape.xcodeproj
```