summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJustyna Ilczuk <justyna.ilczuk@gmail.com>2013-02-11 17:15:52 +0100
committerJustyna Ilczuk <justyna.ilczuk@gmail.com>2013-02-11 17:15:52 +0100
commit849d414822e7ce3756ee881625d9132aa0dba300 (patch)
treee311d8ac5bd5319dcac6af51b77f6ff697f50900
downloadcookie_cutter-849d414822e7ce3756ee881625d9132aa0dba300.tar.gz
cookie_cutter-849d414822e7ce3756ee881625d9132aa0dba300.tar.bz2
cookie_cutter-849d414822e7ce3756ee881625d9132aa0dba300.tar.xz
cookie_cutter-849d414822e7ce3756ee881625d9132aa0dba300.zip
First commit. Project reactivation.
-rw-r--r--README.txt1
-rw-r--r--README.txt~1
-rw-r--r--cookie_generator.py57
3 files changed, 59 insertions, 0 deletions
diff --git a/README.txt b/README.txt
new file mode 100644
index 0000000..700fc84
--- /dev/null
+++ b/README.txt
@@ -0,0 +1 @@
+I started this project few months ago. Now I'm going to ressurect it. cookie_generator.py is a script I wrote then. I plan to use the same idea, but implement it in different way.
diff --git a/README.txt~ b/README.txt~
new file mode 100644
index 0000000..8d1c8b6
--- /dev/null
+++ b/README.txt~
@@ -0,0 +1 @@
+
diff --git a/cookie_generator.py b/cookie_generator.py
new file mode 100644
index 0000000..87fbd54
--- /dev/null
+++ b/cookie_generator.py
@@ -0,0 +1,57 @@
+#print "Hello"
+from __future__ import division
+from math import sqrt
+from math import atan
+
+
+def distance(pos1, pos2):
+ return sqrt(sum([ (x[0] -x[1])**2 for x in zip(pos1, pos2)]))
+
+def compute_lengths(positions):
+ lengths = []
+ for i in range(len(positions)):
+ if (i < len(positions) -1):
+ lengths.append(distance(positions[i], positions[i+1]))
+ else:
+ lengths.append(distance(positions[i], positions[0]))
+
+ return lengths
+
+def direction(pos1, pos2):
+ if ((pos1[1] - pos2[1]) != 0):
+ if (atan((pos1[0]-pos2[0])/(pos1[1] - pos2[1]))!= 0):
+ return atan((pos1[0]-pos2[0])/(pos1[1] - pos2[1]))*180/3.1415
+
+
+def compute_angles(positions):
+ return [direction(x, positions[(i+1)% len(positions)]) for i, x in enumerate(positions)]
+
+
+def generate_scad_script(positions, angles, lengths):
+ #positions[len(positions) -1] = positions[0]
+ text = ""
+ for element in zip(positions, angles, lengths):
+ text += "translate(" + str(element[0]) + ") "
+ text += "rotate([0, 0," + str(element[1]) +"]) "
+ text += "cube([" + str(element[2]) + ", 2, 6]);\n"
+
+ return text
+
+
+def main():
+ sample_positions = [
+ [0, 3, 0],
+ [5, 5, 0],
+ [-8, 6, 0]
+ ]
+ lengths = compute_lengths(sample_positions)
+
+ angles = compute_angles(sample_positions)
+ print lengths
+ print angles
+ print distance([1, 0, 3], [2, 5, 5])
+ print direction([1, 0, 3], [2, 5, 5])
+
+ print generate_scad_script(sample_positions, angles, lengths )
+main()
+ \ No newline at end of file