Generative Networks Pt. 2

A project log for Metaverse Lab

Experiments with Decentralized VR/AR Infrastructure, Neural Networks, and 3D Internet.

alusionalusion 02/26/2016 at 17:430 Comments

Link to Part 1

Location Based Mixed Reality WiFi Glitch Art

I've been really busy lately. Earlier this month, a hackerspace in Warsaw Poland published a guide to hacking an awesome device called the Zsun, a WiFi card reader that's been hacked to run OpenWrt. It costs $11 and has 64MB RAM, 16MB SPI Flash, and USB SD Card Reader and is perfect for converting into an AVALON node.

When finished, it will receive power through USB and will seed it's own access point or connect with others nodes in a meshnet.

The vision I have for this art project is that the zsun listen to ambient WiFi signals around it and extract image data to retexture itself. We will need a script to process the images. We will use imagemagick for creating the textures for the leaves.

Basic stuff covered in

# Convert input image into a binary black and white stencil
convert leaf.png matte:- | convert - stencil.png
# Make black transparent (can also add fuzz)
convert -transparent Black stencil.png mask.png

# Composite the mask over the background image
convert mask.png -channel Black -separate +channel girl.png +swap -composite out.png
Creating the Initial Scene in Blender

Creating a patch of land, the area could symbolize the signal range.

Mapping the textures onto a Japanese Maple 3D model.

Creating a simple Janus app
<title>Japanese Maple</title>
<AssetObject id="room_dae" src="room.dae" />
<AssetObject id="jap_maple_dae" src="jap_maple.dae.gz" />
<AssetImage id="black" src="black.gif" tex_clamp="true" />
<Room pos="0 0 1" xdir="1 0 0" ydir="0 1 0" zdir="0 0 1" skybox_down_id="black" skybox_front_id="black" skybox_left_id="black" skybox_back_id="black" skybox_right_id="black" skybox_up_id="black">
<Object id="room_dae" js_id="0" pos="0 -1.6 -5" scale="3.6 3.6 3.6" lighting="false" cull_face="none" collision_id="room_dae" blend_src="src_color" />
<Object id="jap_maple_dae" js_id="1" pos="0 -1.6 -5" scale="3.6 3.6 3.6" lighting="false" collision_id="maple_COLL" blend_src="one" blend_dest="zero" />

Link to default tree

This is already looking better than the basic Multiplayer VR sample in Project Tango store:

No offense to Johnny Lee, he is awesome and I've always been a great fan of his work! Lets build the Metaverse together :)

Sourcing Textures

Web Scraping and Virtual Reality is a powerful combination to visualize data and use computers to create art. A good primer and my personal recommendation for those wishing to get into scraping is Web Scraping with Python. Not only is it a lot of fun, you'll obtain a deeper understanding of the internet and build up some very useful skills along the way.

# Pythonpy will evaluate any python expression from the command line. Install via:
sudo pip install pythonpy
# Make sure you also have BeautifulSoup installed
sudo pip install beautifulsoup4
# scrape from imgur and then name images via sequence
curl | py 'map(lambda _: _.attrs["src"].partition("//")[-1], bs4.BeautifulSoup(sys.stdin).findAll("img"))' | xargs -n1 wget >/dev/null 2>&1 && ls | cat -n | while read n f; do mv "$f" "$n.jpg"; done
The next step is to incorporate these images into our DOM.

To be continued..