159
edits
(7 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
==== Twitter Bot ==== | ==== Twitter Bot ==== | ||
Description: | |||
The 3Dbot takes images as input and maps them into a cube. | |||
The script creates multiple variations of these cubes changing the position and rotation of them. After doing that, the image is rendered and posted back to twitter. | |||
The geometry is created using vapory and rendered using POVray. | |||
[[File:Botsn.jpg]] | |||
===== Tutorial on how to install vapory on unix ===== | |||
[http://www.uni-weimar.de/medien/wiki/images/Vapory-on-osx.txt Tutorial here] | |||
=====Full code on GITHUB===== | |||
Note that you will need to source your own keys and install the necessary libraries to make it work. | |||
[https://github.com/veli2305/botsnplots Code on GitHub] | |||
===== Screenshots ===== | ===== Screenshots ===== | ||
Line 10: | Line 29: | ||
<source lang="python"> | <source lang="python"> | ||
###LOAD LIBRARIES ### | |||
from vapory import * | from vapory import * | ||
Line 15: | Line 36: | ||
from random import* | from random import* | ||
from PIL import Image | from PIL import Image | ||
###CREATE FUNCTION### | |||
def create_3D(): | def create_3D(): | ||
###DEFINE VARIABLES### | |||
#image.save("process.png") | #image.save("process.png") | ||
n_boxes=randint(25,34) | n_boxes=randint(25,34) | ||
Line 23: | Line 49: | ||
distances2 = [1*j for j in range(n_boxes)] | distances2 = [1*j for j in range(n_boxes)] | ||
###CREATE BOXES AT RANDOM LOCATIONS AND ASIGN IMAGE AS MAP### | |||
box= [Box([-0.5+y/4, -0.5+x/4, -0.5],[0.5+y/4,x/4+0.5,0.5],Texture('uv_mapping', | box= [Box([-0.5+y/4, -0.5+x/4, -0.5],[0.5+y/4,x/4+0.5,0.5],Texture('uv_mapping', | ||
Pigment( ImageMap('png', '"process.png"')), | Pigment( ImageMap('png', '"process.png"')), | ||
Line 31: | Line 57: | ||
for x in distances2 | for x in distances2 | ||
] | ] | ||
###SET UP SCENE FOR RENDERING AND SAVING THE FILE#### | |||
tt=[Background( "color", [0,0,0] )] | tt=[Background( "color", [0,0,0] )] | ||
Line 45: | Line 73: | ||
scene.render("chessboard.png", width=500, height=400, antialiasing=0.000001, quality=9) | scene.render("chessboard.png", width=500, height=400, antialiasing=0.000001, quality=9) | ||
###tHE SCRIPT IS LOADED AND THE FUNCTION ( def create_3D ) IS CALLED FROM WITHIN THE TWITTERBOT SCRIPT ### | |||
</source> | </source> |
edits