Tags

Saturday, December 7, 2013

Exhibit Preparation Update 01

I'm glad to say that the plans seem in motion for our generative class to have an exhibition early next semester. In preparation, I will continue to post updates as I finish my piece and get it to the gallery level of polish

Currently, I'll be looking at some colorspace information that Phil provided me.
My HCL colorspace version seems to be broken right now, so I'll need to look into why its not working.

Friday, December 6, 2013

Final Project Presentation

concept

Conceptually, the work "Playing with Chaos" explores visual representations of chaos for their aesthetic properties and structure. The work intends to inform its audience about the nature of chaos by portraying systems that expose the "unpredictable, but not quite random" nature of chaos

This work will (more than likely) be ultimately represented as either a real-time or static loop projected onto a gallery wall. Though touch/mobile aspects were previously explored (and the code-base for such still retained) no plans are in place for exhibiting the piece with these capabilities active.

aesthetic

A myriad of visual color palettes have been explored for the work, though currently, it appears that color modulation and a 1:1 mapping between the period of the chaotic input and the "period" of each box's hue within the HSV colorspace has produced the best compromise of visual interest without sacrificing or disingenuously representing the underlying chaotic system.

The LAB/HCL colorspace is also currently being explored to see the effects of holding the luminance, rather than "brightness" of each square more constant, though presentations of those results have been received less positively.

technical

The work utilizes a logistic map to generate a function which is chaotic across its entire period, an important matter when attempting to map directly from the chaotic value space to the visual color space. The sketch is developed in Processing with snippets of R used to generate some of the color palettes, and can run in real time. 

The system can now also be pre-rolled to a certain iteration, which opens the possibility for more interesting tests and experimentations

future work (for the show!)

Now that the framework has been sufficiently established and can run and be captured as video stream, I intend to:
  • test 2-dimensional chaotic systems 
  • continue to research alternative color palettes
  • allow the system to loop back to its initial state
  • explore realtime switching between any successful alternative visualizations


Monday, December 2, 2013

Final Project Update 09

Success!

I was finally able to implement the unified timer design. As a result, I can now make significantly smaller blocks. It also seems that previously, my code had actually been lagging a bit, as the new results are much snappier even when set to the same tick interval. Here's some screenshots for now, it may be awhile before I can get a screencast due to the memory increase this trade-off requires (fewer timers, many more blocks)








Future Work

  • Looping mode
  • Alternative visualizations
  • 2D chaos
  • Seamless / arbitrary switching between multiple chaos visualizations
  • Better video capture

Saturday, November 30, 2013

Final Project Update 08

Implementation is going alright, though I haven't had much time to work.

I've played with Android a bit more, but I just need to give it up. It seems that touch is not going to be a part of the project I present, though I'll leave the functionality in there for my friends or in case I find a different way to conceptualize it. Or for when I get bored.

The boxes resize to the grid properly, but I'm having trouble unifying the timers. I think I just need to step away for a bit and let my current work sit.

edit:

Whoops! Important stuff I almost forgot.
I found a MUCH easier way to deal with color spaces than what I've been doing.

LAB/HCL color in R

Using the colorspace library in R, I am able to interactively generate color palettes and output them as lists of  normalized sRGB values (perfect to convert with color()). I can define substeps for smoothing, coerce the colors to RGB, and have full control over ranges of luminance rather than just a single value.
It's probably not a good idea for me to use only one luminance anyway.

Full disclosure, I've never used R before, but it only took an hour for me to get up to speed with enough basics to write my small script and utilize the libraries. Sadly though...

Disappointed

As excited as I got, I'm actually quite disappointed in the color results I got from the HCL space. They are still feel either too saturated or too desaturated and muddy when seen in the context of the grid. I think I'll be returning to my previous HSV solution. Oh well...

<img src="r_hcl.jpg">

Sunday, November 24, 2013

Final Project Update 07

Tonight I talked with my twin, Josh, about my frustrations with my project, and I think having a fresh mind who is familiar with aspects of the project helped quite a bit. If not, the ranting sure did. Josh is a PhD student in the Department of Computer Science and has more of a mathy relationship with generative systems from his studies in HCI and AI.

I'll try to just bullet point a summary quickly:

Touch as a Medium

If I do insist on touch, can I utilize more from touch as a medium and use that? Maybe if people do draw out patterns that they then watch descend into chaos, could I find access to pressure sensitivity or use press duration to make the on-screen response more interesting or intuitive?

Perhaps when a user presses, color radiates outwards and slowly blends with any colors based on its distance away, instead of overwriting nearby colors. 
A small OSD might also be helpful to explain controls or offer more options in a "touch mode"

If I want to test touch, just use my phone for now and get a tablet if it's worthwhile.

Dual screens, work with friend

Humoring the "game" idea, what if two people were meant to interact with this system and match each other's screen. Does that actually help?

I'm not sure about this idea, but I think I'll roll it around in my head a bit more. Up to this point I'd assumed the experience to always be between one person and the screen. Maybe a more social piece would be better.

Contextualize foreign concepts for audience

If I'm worried that I'll just end up telling everyone what they need to know about the piece, an alternative to text might be to contextualize the piece as a narrative story or something else relatable that could be more engaging. This might cause large changes in the project, but I'll keep it in mind

Since weather and stock markets show signs of chaos, perhaps look there for context. (Note to self: look up Condensation Cube, Haacke)

Also remember to keep maps simple, visual, and as 1:1 as possible.

Branch project to keep minimalism

If I love the aesthetic so much of the project that I don't want to change a thing, I may need to branch off so as to preserve my original idea, but also create something worthwhile as a final project.

Focus on useful optimizations, scale

Thread calculations or unify the timers so that much smaller boxes can be shown. I don't want to get too small though, or then I might as well be directly manipulating the screen's pixel array (which I can do from 654, but it's more code to write). The scale of the piece may change the experience dramatically, so get to testing it at the proper scale as soon as possible.

Include multiple alternative visualizations

One alternative we found interesting was having a single row centered vertically on the screen, and the grow the bar negative or positive (almost like an audio band spectrum) as the colors stray from their original value.
If I have time, I may very well implement this.

Attract mode might still be useful, and the ability to play both forward and in reverse would open up some options for looping the video if the touch aspect is fully removed.

Improved fitting function for variable width screen

Try to write a fitting function so that the screen fits better (probably centered) whenever the requested box size, rows, or columns don't divide evenly.

Wednesday, November 20, 2013

Final Project Update 06

After tonight's presentation, I have more critique to work on.
I feel like my project is a mess right now and its frustrating.

Critique and Feedback

1:1 mapping

My results turned out much differently when I started mapping 1D chaos data (logistic map) into a 2D field (RGB slice of LAB colorspace). Not only were my results not the visual improvement I had hoped for, I'm inclined to say they were "disingenuous" based on feedback I received in class. The suggestion was raised that if I intend to map to a 2D space that I use a 2D chaotic system; admittedly the only reason I tried it was because it hadn't crossed my mind, and the [0, 1) period of the logistic map was so convenient I was content and not searching for anything better suited.

Images as visual source?

Someone suggested if I was using 2D data that I allow arbitrary images to be used as the mapping. For example, someone takes a picture of himself and then the picture is reorganized chaoticly. It could have interesting results, but I think it points to less and less about the chaotic system, so I'm not sure if I like it all that much.

Still no clear concept when presenting

Summed up by:
"I'm still not sure what your project wants to be"
"Oh good! I'm not the only one"

I think this is honestly more of my fault than the project's. I'm not allowing the project to expand, and I'm exploring its boundaries at all. I've gotten tunnel vision trying to force my project into the touch-based mediums. Hopefully I'll be able to be a bit more flexible, but I'd like to try just one or two more aspects with touch.

Monday, November 18, 2013

Final Project Update 05

A good point that Phil brought up came up again in my conversation today. I've really grown to liking the distinction between reactive and interactive installations, though I think it may be challenging to incorporate true reactive elements into my piece.

It's frustrating to know that my current project does not lend itself well to showing chaos as do similiar systems, such as two coupled pendulums released at the same time. I hope I am able to make the mapping in this project as obvious and simple as in the pendulum example.

Every idea I have though leads back more towards a game, towards mirroring screens, or perhaps towards replaying output several times over. The more I think about it, this is becoming two projects, and neither is interactive. One is reactive simply to allow users to play with the system (since people seem to enjoy it so much), and nothing more. The other doesn't even need to be real time or live; it can be a video of the wall of chaos, like what I currently have. I imagine my inclination will aim more and more in the direction of the latter, just because it's been so hard for me to part with the aesthetic and simplicity of the project in its current state.

This leaves mostly aesthetics to be improved, more on that later.