commit 849d414822e7ce3756ee881625d9132aa0dba300 Author: Justyna Ilczuk Date: Mon Feb 11 17:15:52 2013 +0100 First commit. Project reactivation. 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