diff --git a/src/product_gen/__pycache__/generate_product.cpython-35.pyc b/src/product_gen/__pycache__/generate_product.cpython-35.pyc index 7d017e3..b006e0b 100644 Binary files a/src/product_gen/__pycache__/generate_product.cpython-35.pyc and b/src/product_gen/__pycache__/generate_product.cpython-35.pyc differ diff --git a/src/product_gen/generate_product.py b/src/product_gen/generate_product.py index 0f18fb7..7c53936 100644 --- a/src/product_gen/generate_product.py +++ b/src/product_gen/generate_product.py @@ -19,6 +19,12 @@ def generate(shape_parameters, output_prefix, is_final=False): # Set up materials and textures color = (0.1, 0.1, 0.1) + + colors = [(0.1, 0.1, 0.1), + (0.68, 0.68, 0.68), + (0.033, 0.065, 0.376), + (0.019, 0.202, 0.032)] + color = random.choice(colors) if "bio" not in shape_parameters["shape"]: colormap = {"shade": color, "base": (132.0/255.0, 64.0/255.0, 11.0/255.0), diff --git a/src/rendering/__pycache__/setup_scene.cpython-35.pyc b/src/rendering/__pycache__/setup_scene.cpython-35.pyc index d289391..b736b11 100644 Binary files a/src/rendering/__pycache__/setup_scene.cpython-35.pyc and b/src/rendering/__pycache__/setup_scene.cpython-35.pyc differ diff --git a/src/utility/apply_texture.py b/src/utility/apply_texture.py index 81fad0c..b0f57e6 100644 --- a/src/utility/apply_texture.py +++ b/src/utility/apply_texture.py @@ -1,5 +1,6 @@ import os import sys +import ast import random import json import product_gen.generate_product @@ -17,17 +18,18 @@ if __name__ == "__main__": if not os.path.exists(os.getcwd() + "/" + output): os.makedirs(os.getcwd() + "/" + output) - height = float(shape_params["height"]) - radius = float(shape_params["radius"]) + shape_parameters = {} + shape_parameters["shape"] = shape + shape_parameters["output"] = output + shape_parameters["height"] = float(shape_params["height"]) + shape_parameters["radius"] = float(shape_params["radius"]) + shape_parameters["fixture_radius"] = float(shape_params["fixture_radius"]) + shape_parameters["division_offsets"] = [float(x) for x in shape_params["division_offsets"]] + shape_parameters["style"] = shape_params["style"] + shape_parameters["division_patterns"] = shape_params["division_patterns"] + shape_parameters["division_radii"] = [float(x) for x in shape_params["division_radii"]] - colors = [(0.1, 0.1, 0.1), - (0.68, 0.68, 0.68), - (0.033, 0.065, 0.376), - (0.019, 0.202, 0.032)] - color = random.choice(colors) - product_gen.generate_product.generate(shape, height, radius, color, output) + product_gen.generate_product.generate(shape_parameters, output) - shape_parameters = shape_params - shape_parameters["color"] = color with open(os.getcwd() + "/" + output + "/"+ output + '.json', 'w') as outfile: json.dump(shape_parameters, outfile) diff --git a/src/utility/final_render.py b/src/utility/final_render.py index 98ce61e..d604219 100644 --- a/src/utility/final_render.py +++ b/src/utility/final_render.py @@ -18,9 +18,15 @@ if __name__ == "__main__": if not os.path.exists(os.getcwd() + "/" + output): os.makedirs(os.getcwd() + "/" + output) - height = float(shape_params["height"]) - radius = float(shape_params["radius"]) - color = ast.literal_eval(shape_params["color"]) - print(color[0]) - product_gen.generate_product.generate(shape, height, radius, - color, output, is_final=True) + shape_parameters = {} + shape_parameters["shape"] = shape + shape_parameters["output"] = output + shape_parameters["height"] = float(shape_params["height"]) + shape_parameters["radius"] = float(shape_params["radius"]) + shape_parameters["fixture_radius"] = float(shape_params["fixture_radius"]) + shape_parameters["division_offsets"] = [float(x) for x in shape_params["division_offsets"]] + shape_parameters["style"] = shape_params["style"] + shape_parameters["division_patterns"] = shape_params["division_patterns"] + shape_parameters["division_radii"] = [float(x) for x in shape_params["division_radii"]] + + product_gen.generate_product.generate(shape_parameters, output, is_final=True) diff --git a/src/utility/generate_shape.py b/src/utility/generate_shape.py index 585708d..5add65f 100644 --- a/src/utility/generate_shape.py +++ b/src/utility/generate_shape.py @@ -32,7 +32,9 @@ if __name__ == "__main__": shape_parameters = sd.get_random_shape_description(shape, [bbox_xmax, bbox_ymax], [feature_xmin, feature_ymin]) - + shape_parameters = product_gen.generate_product.generate(shape_parameters, output) + shape_parameters["output"] = output + with open(os.getcwd() + "/" + output + "/"+ output + '.json', 'w') as outfile: json.dump(shape_parameters, outfile) diff --git a/src/utility/test456/test456.blend b/src/utility/test456/test456.blend index 65eaa82..facf2ee 100644 Binary files a/src/utility/test456/test456.blend and b/src/utility/test456/test456.blend differ diff --git a/src/utility/test456/test456.blend1 b/src/utility/test456/test456.blend1 index 5f0346c..90f4b1c 100644 Binary files a/src/utility/test456/test456.blend1 and b/src/utility/test456/test456.blend1 differ diff --git a/src/utility/test456/test456.json b/src/utility/test456/test456.json index fdab12e..024db76 100644 --- a/src/utility/test456/test456.json +++ b/src/utility/test456/test456.json @@ -1 +1 @@ -{"fixture_radius": 0.3, "division_radii": [0.7366486532785445, 0.8362702452541098, 0.9661599163089211, 0.9867733391465805], "radius": 0.611924774203075, "division_patterns": ["inv_square", "inv_ramp", "sine", "inv_square"], "shape": "cone", "height": 3.7486713335143, "style": "light", "division_offsets": [0.25, 0.25, 0.25, 0.25]} \ No newline at end of file +{"style": "light", "division_radii": [0.16451120949404027, 0.23096033701138935, 0.305533414672969, 0.7390854533319504], "height": 3.3522235508986156, "output": "test456", "division_offsets": [0.25, 0.25, 0.25, 0.25], "radius": 2.917962292483968, "shape": "cone", "division_patterns": ["square", "inv_ramp", "inv_square", "ramp"], "fixture_radius": 0.3} \ No newline at end of file diff --git a/src/utility/test456/test456.png b/src/utility/test456/test456.png index d343779..1009722 100644 Binary files a/src/utility/test456/test456.png and b/src/utility/test456/test456.png differ diff --git a/src/utility/test456/test456_hall.png b/src/utility/test456/test456_hall.png new file mode 100644 index 0000000..068240a Binary files /dev/null and b/src/utility/test456/test456_hall.png differ diff --git a/src/utility/test456/test456_kitchen.png b/src/utility/test456/test456_kitchen.png new file mode 100644 index 0000000..652970f Binary files /dev/null and b/src/utility/test456/test456_kitchen.png differ diff --git a/src/utility/test456/test456_landing.png b/src/utility/test456/test456_landing.png new file mode 100644 index 0000000..2f8399e Binary files /dev/null and b/src/utility/test456/test456_landing.png differ diff --git a/test/lamp_shape_generation.py b/test/lamp_shape_generation.py new file mode 100644 index 0000000..da6d0a9 --- /dev/null +++ b/test/lamp_shape_generation.py @@ -0,0 +1,23 @@ +import numpy as np +import matplotlib.pyplot as plt + +height = 10 +radius = 2 +base_radius = 0.5 +base_length = 1.0 + +x_base = np.linspace(0, base_length, 10) +y_base = base_radius*np.ones(x_base.shape[0]) + +x_lamp = np.linspace(base_length, height, 100) +y_lamp = base_radius + ((x_lamp)/height)*(radius-base_radius) + +x = np.append(x_base, x_lamp) +y = np.append(y_base, y_lamp) +plt.plot(x, y) + +axes = plt.gca() +axes.set_xlim([0, 1.1*base_length+height]) +axes.set_ylim([0,1.1*radius]) + +plt.show() diff --git a/test/test/test.blend b/test/test/test.blend index 0261bf9..d156041 100644 Binary files a/test/test/test.blend and b/test/test/test.blend differ diff --git a/test/test/test.blend1 b/test/test/test.blend1 index e10dd86..0261bf9 100644 Binary files a/test/test/test.blend1 and b/test/test/test.blend1 differ diff --git a/test/test/test.json b/test/test/test.json index 92094a2..104dd73 100644 --- a/test/test/test.json +++ b/test/test/test.json @@ -1 +1 @@ -{"shape": "pendant", "division_offsets": [0.25, 0.25, 0.25, 0.25], "height": 3.6812407081509724, "fixture_radius": 0.3, "division_radii": [0.294556044831744, 0.587752251293952, 0.8598310084103927, 0.9056905517274985], "division_patterns": ["ramp", "ramp", "ramp", "sine"], "radius": 2.2969131039025945, "style": "billard"} \ No newline at end of file +{"shape": "pendant", "style": "billard", "division_offsets": [0.25, 0.25, 0.25, 0.25], "division_patterns": ["sine", "inv_square", "sine", "sine"], "fixture_radius": 0.3, "radius": 1.108292895591573, "height": 2.3656568205530943, "division_radii": [0.5013193491935374, 0.5714972928268524, 0.7183081060448532, 0.7995437239322076]} \ No newline at end of file diff --git a/test/test/test.png b/test/test/test.png index ea56682..1d8fb1e 100644 Binary files a/test/test/test.png and b/test/test/test.png differ