Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Empty file modified LICENSE
100644 → 100755
Empty file.
25 changes: 16 additions & 9 deletions README.md
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -7,18 +7,25 @@ lifted (verbatim) from "MODELING SNOW CRYSTAL GROWTH II: A mesoscopic lattice
map with plausible dynamics" by Janko Gravner and David Griffeath.

Requirements:
- PyPy (for fast execution of the simulations)
- PIL for exporting graphics (PyPy accesible)

* PyPy (for fast execution of the simulations)
* PIL for exporting graphics (PyPy accesible)

Requirements for Laser Cutting:
- Python only (no PyPy support)
- PIL (Python accessible)
- potrace (For translating SVG)
- scipy/numpy (For clustering)

* Python only (no PyPy support)
* PIL (Python accessible)
* potrace (For translating SVG)
* scipy/numpy (For clustering)

Requirements for 3D Printing:
- PyPy or Python
- PIL (PyPy/Python accessible)
- potrace (For translating SVG)

* PyPy or Python
* PIL (PyPy/Python accessible)
* potrace (For translating SVG)
* pstoedit (For generating EPS)
* ghostscript v 9.20 (For generating DXF. Versions > 9.20 break this functionaliy)
* OpenSCAD (For generating STL)
* CURA (For generating gcode. Currently not working)

![Example Snowflake](https://raw.githubusercontent.com/vishnubob/snowflake/master/media/example.png)
Empty file modified media/collage_huge.png
100644 → 100755
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file modified media/collage_large.jpg
100644 → 100755
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file modified media/collage_medium.jpg
100644 → 100755
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file modified media/collage_small.jpg
100644 → 100755
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file modified media/example.png
100644 → 100755
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file modified media/examples/snowflake_01.png
100644 → 100755
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file modified media/examples/snowflake_02.png
100644 → 100755
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file modified media/examples/snowflake_03.png
100644 → 100755
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file modified media/examples/snowflake_04.png
100644 → 100755
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file modified media/examples/snowflake_05.png
100644 → 100755
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file modified media/examples/snowflake_06.png
100644 → 100755
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file modified media/examples/snowflake_07.png
100644 → 100755
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file modified media/examples/snowflake_08.png
100644 → 100755
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file modified media/examples/snowflake_09.png
100644 → 100755
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file modified media/examples/snowflake_10.png
100644 → 100755
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file modified media/examples/snowflake_11.png
100644 → 100755
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file modified media/examples/snowflake_12.png
100644 → 100755
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file modified media/examples/snowflake_13.png
100644 → 100755
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file modified media/examples/snowflake_14.png
100644 → 100755
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file modified media/examples/snowflake_15.png
100644 → 100755
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file modified media/examples/snowflake_16.png
100644 → 100755
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file modified media/examples/snowflake_17.png
100644 → 100755
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file modified media/examples/snowflake_18.png
100644 → 100755
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file modified media/examples/snowflake_19.png
100644 → 100755
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file modified media/examples/snowflake_20.png
100644 → 100755
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file modified media/examples/snowflake_21.png
100644 → 100755
Empty file modified media/examples/snowflake_22.png
100644 → 100755
Empty file modified media/examples/snowflake_23.png
100644 → 100755
Empty file modified media/examples/snowflake_24.png
100644 → 100755
Empty file modified media/examples/snowflake_25.png
100644 → 100755
Empty file modified media/examples/snowflake_26.png
100644 → 100755
Empty file modified media/examples/snowflake_27.png
100644 → 100755
Empty file modified media/examples/snowflake_28.png
100644 → 100755
Empty file modified media/examples/snowflake_29.png
100644 → 100755
Empty file modified media/examples/snowflake_30.png
100644 → 100755
Empty file modified media/examples/snowflake_31.png
100644 → 100755
Empty file modified media/examples/snowflake_32.png
100644 → 100755
Empty file modified media/examples/snowflake_33.png
100644 → 100755
Empty file modified media/examples/snowflake_34.png
100644 → 100755
Empty file modified media/examples/snowflake_35.png
100644 → 100755
Empty file modified media/examples/snowflake_36.png
100644 → 100755
Empty file modified media/examples/snowflake_37.png
100644 → 100755
Empty file modified media/examples/snowflake_38.png
100644 → 100755
Empty file modified media/examples/snowflake_39.png
100644 → 100755
Empty file modified media/examples/snowflake_40.png
100644 → 100755
Empty file modified media/examples/snowflake_41.png
100644 → 100755
Empty file modified media/examples/snowflake_42.png
100644 → 100755
Empty file modified media/examples/snowflake_43.png
100644 → 100755
Empty file modified media/examples/snowflake_44.png
100644 → 100755
Empty file modified media/examples/snowflake_45.png
100644 → 100755
Empty file modified media/examples/snowflake_46.png
100644 → 100755
Empty file modified media/examples/snowflake_47.png
100644 → 100755
Empty file modified media/examples/snowflake_48.png
100644 → 100755
Empty file modified media/examples/snowflake_49.png
100644 → 100755
Empty file modified media/examples/snowflake_50.png
100644 → 100755
Empty file modified media/examples/snowflake_51.png
100644 → 100755
Empty file modified media/examples/snowflake_52.png
100644 → 100755
Empty file modified media/examples/snowflake_53.png
100644 → 100755
Empty file modified media/examples/snowflake_54.png
100644 → 100755
Empty file modified media/examples/snowflake_55.png
100644 → 100755
Empty file modified media/examples/snowflake_56.png
100644 → 100755
Empty file modified media/examples/snowflake_57.png
100644 → 100755
Empty file modified media/examples/snowflake_58.png
100644 → 100755
Empty file modified media/examples/snowflake_59.png
100644 → 100755
Empty file modified media/examples/snowflake_60.png
100644 → 100755
Empty file modified media/examples/snowflake_61.png
100644 → 100755
Empty file modified media/examples/snowflake_62.png
100644 → 100755
Empty file modified media/examples/snowflake_63.png
100644 → 100755
Empty file modified media/examples/snowflake_64.png
100644 → 100755
Empty file modified media/examples/snowflake_65.png
100644 → 100755
Empty file modified media/examples/snowflake_66.png
100644 → 100755
Empty file modified media/examples/snowflake_67.png
100644 → 100755
Empty file modified media/examples/snowflake_68.png
100644 → 100755
Empty file modified media/examples/snowflake_69.png
100644 → 100755
Empty file modified media/examples/snowflake_70.png
100644 → 100755
Empty file modified media/examples/snowflake_71.png
100644 → 100755
Empty file modified media/examples/snowflake_72.png
100644 → 100755
Empty file modified media/examples/snowflake_73.png
100644 → 100755
Empty file modified media/examples/snowflake_74.png
100644 → 100755
Empty file modified media/examples/snowflake_75.png
100644 → 100755
Empty file modified media/examples/snowflake_76.png
100644 → 100755
Empty file modified media/examples/snowflake_77.png
100644 → 100755
Empty file modified media/examples/snowflake_78.png
100644 → 100755
Empty file modified media/examples/snowflake_79.png
100644 → 100755
Empty file modified media/examples/snowflake_80.png
100644 → 100755
Empty file modified media/examples/snowflake_81.png
100644 → 100755
Empty file modified media/make_collage.py
100644 → 100755
Empty file.
Empty file modified media/slides/Slide03.png
100644 → 100755
Empty file modified media/slides/Slide04.png
100644 → 100755
Empty file modified media/slides/Slide05.png
100644 → 100755
Empty file modified media/slides/Slide06.png
100644 → 100755
Empty file modified media/slides/Slide07.png
100644 → 100755
Empty file modified media/slides/Slide08.png
100644 → 100755
Empty file modified media/slides/Slide09.png
100644 → 100755
Empty file modified media/slides/Slide10.png
100644 → 100755
Empty file modified media/slides/Slide11.png
100644 → 100755
Empty file modified media/slides/Slide12.png
100644 → 100755
Empty file modified media/slides/Slide13.png
100644 → 100755
Empty file modified media/slides/Slide14.png
100644 → 100755
Empty file modified media/slides/Slide15.png
100644 → 100755
Empty file modified media/slides/Slide16.png
100644 → 100755
Empty file modified media/slides/Slide17.png
100644 → 100755
Empty file modified media/slides/Slide18.png
100644 → 100755
Empty file modified media/slides/Slide20.png
100644 → 100755
Empty file modified media/slides/Slide21.png
100644 → 100755
Empty file modified papers/h2l.pdf
100644 → 100755
Empty file.
18 changes: 18 additions & 0 deletions scripts/snowflake.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,26 @@

import os
import sys
import argparse
from sfgen import *


SNOWFLAKE_DEFAULTS = {
"size": 200,
"name": "snowflake",
"bw": False,
"env": '',
"pipeline_3d": False,
"pipeline_lasercutter": False,
"randomize": False,
"max_steps": 0,
"margin": .85,
"curves": False,
"datalog": False,
"debug": False,
"movie": False,
}

def ensure_python():
# pylab doesn't play well with pypy
# so this will cause us to re-exec if
Expand Down
11 changes: 7 additions & 4 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,12 @@
"py_modules":[
"sfgen.__init__",
"sfgen.curves",
"sfgen.splines",
"sfgen.engine",
"sfgen.graphics",
"sfgen.engine",
"sfgen.graphics",
"sfgen.movie",
"sfgen.render",
"sfgen.runner",
"sfgen.splines",
],
"install_requires": [
"pillow",
Expand All @@ -24,7 +27,7 @@
"scripts":[
"scripts/snowflake.py",
],
"version": "0.3",
"version": "0.31",
}

if __name__ == "__main__":
Expand Down
6 changes: 6 additions & 0 deletions src/__init__.py
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,12 @@ def log_output(name):
logger = logging.getLogger()
logger.addHandler(foh)


from curves import *
from graphics import *
from engine import *
# added movie, render, runner
# 2018-0212
from movie import *
from render import *
from runner import *
Empty file modified src/curves.py
100644 → 100755
Empty file.
Loading