close-circle
Close

Generative Networks Pt. 2

A project log for Metaverse Lab

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

alusion 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. http://imgur.com/a/XP6oX

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 https://hackaday.io/project/4423-stereo-vision-experiments

# 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
<html>
<head>
<title>Japanese Maple</title>
</head>
<body>
<FireBoxRoom>
<Assets>
<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" />
</Assets>
<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" />
</Room>
</FireBoxRoom>
</body>
</html>

Link to default tree

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

https://play.google.com/store/apps/details?id=net.johnnylee.multiplayervr&hl=en

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 http://imgur.com/ | 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..


Discussions