Tangible Memory Interaction

Made by Cody Soska

I tried to create a method of capturing, storing, and analyzing emotional memory so that it can be created in tangible artifacts later. The idea is to have a person physically handle and experience their emotional memory.

Created: February 9th, 2017



For this project, I was hoping to make a process whereby a user can have their emotional memories measure, quantified, and reproduced in a tangible form for them to interact with at a later point. The ultimate goal is a therapeutic process for people to identify patterns of emotional behavior, stress, joy, etc. and, by interacting with them, identify the causes of these states of emotion. Ultimately, I would like this process to be partially automated and generated from biometric data. This way, the results are accurate. The user should have input on what they would ultimately like their memory to be expressed.



For this project, I documented my emotional state every half hour. This info included "triggers" that could cause the emotional response. Who I was with and what I was doing are all documented and can form patterns of emotional memory.


2017,February 5,11:30 PM,good,work | reading,
2017,February 5,11:01 PM,good,work | reading,
2017,February 5,10:31 PM,good,work | reading,
2017,February 5,10:05 PM,good,work | reading,
2017,February 5,9:31 PM,good,work | reading,
2017,February 5,9:00 PM,good,work | reading,
2017,February 5,8:31 PM,good,work | reading,
2017,February 5,8:00 PM,good,work | reading,
2017,February 5,7:44 PM,good,work,
2017,February 5,6:31 PM,good,relax,
2017,February 5,6:00 PM,good,relax,
2017,February 5,5:48 PM,good,relax,
2017,February 5,4:56 PM,good,relax | with Jayme ,
2017,February 5,4:07 PM,good,good meal | with Jayme ,
2017,February 5,3:11 PM,good,with Jayme ,
2017,February 5,2:52 PM,good,relax | with Jayme ,
2017,February 5,2:00 PM,good,with Jayme ,
2017,February 5,1:48 PM,good,relax | nap,
2017,February 5,1:18 AM,good,relax,
2017,February 4,11:00 PM,good,relax | party | with Jayme ,
2017,February 4,10:39 PM,good,relax | party | with Jayme ,
2017,February 4,10:13 PM,good,relax | with Jayme ,
2017,February 4,9:30 PM,good,relax | with Jayme ,
2017,February 4,9:02 PM,good,relax | with Jayme ,
2017,February 4,8:43 PM,good,party | with Jayme ,Drinking
2017,February 4,8:05 PM,good,relax | with Jayme ,
2017,February 4,7:31 PM,good,with Jayme | driving,
2017,February 4,7:16 PM,rad,relax | good meal | with Jayme ,
2017,February 4,6:30 PM,good,relax | good meal | with Jayme ,
2017,February 4,6:00 PM,good,good meal | with Jayme ,



Using this information over a 4 days period, I was able to capture a good section of my typical day-to-day activities. By breaking this information down into time units, and assigning a colored block, I constructed a tangible piece out of legos. Each block color is an emotional state, and the vertical length of the block is how long I experienced that emotion. The height is how intense the emotional state was. 



After seeing this result, I realized the organization is easy, but this doesn't allow much freedom to the user. Since one of the goals of this project is a therapeutic process, I needed something that allows the user to have more decision in what they do with their emotional memory artifact. I realized that a process from Reality Computing can easily be applied to this project. Using an algorithm to generate a texture, and then map it onto a tile, custom emotional patterns can be generated. By taking biometric data from the user, this process becomes more honest than self-reporting. Each emotion can be identified, and its intensity quantified. This will be adapted to a specific computer generated texture, and the frequency of each pattern corresponds to the intensity of that feeling. 

import math

def twiddle_tile(srcfile, destfile, twiddlefunc):
    for line in srcfile:
        gps = line.split()
        if len(gps) == 4 and gps[0] == "v":
            vert = [float(v) for v in gps[1:]]
            if vert[1] < 0.0: # don't twiddle bottom of tile
                dest.write(line + "\n")
                vert_prime = twiddlefunc(vert[0], vert[1], vert[2])
                dest.write("v {} {} {}\n".format(*vert_prime))
        else: # line is not a vertex, so write it back unchanged
            dest.write(line + "\n")

def points(x, y, z):
    theta = math.atan2(z, x)
    amp = math.sin(theta * 25) * 1.5
    return (x, y+amp, z)

if __name__ == '__main__':
    srcfn = "tile_blank.obj"
    destfn = "tile_transform.obj"
    with open(srcfn, "rt") as src:
        with open(destfn, "wt") as dest:
            twiddle_tile(src, dest, points)
Click to Expand


Using the easiest available technology, 3D printing, I printed this resulting texture tile out. This process isn't the best for printing very small objects with distinct textures on them. Other materials such as fabric, rubber, plastic, metals, wood, etc. can be used to better correspond to the specific emotion of the user.

Share this Project

Focused on

I tried to create a method of capturing, storing, and analyzing emotional memory so that it can be created in tangible artifacts later. The idea is to have a person physically handle and experience their emotional memory.