Week 1 | Week 2 | Week 3 | Week 4 | Week 5 | Week 6 | Week 7 | Week 8 | Week 9 | Week 10 |
Week One - June 1, 2003
My first week here in Minneapolis consisted mainly of getting acquainted with our resources and the program we will be
working
on. On our first day, we met with Joe Cherlin, a graduate student who has been working on this project a few months.
He
introduced us to the VR interface and system. The next day, we met with Professor Lee Anderson of the Architecture
Department. He has collaborated with Professor Interrante to put this project together and works closely with her on
its
development. He showed us the labs and the buildings we will need access to in the course of these 10 weeks. We met
with
Professor Interrante later in the week and were given our respective assigments. We were also given a presentation by
Professor Baoquan Chen of the EECS department of the project he is currently working on. It is a program that takes the
information read in by a panoramic laser scanner and stores it as a point cloud. The point cloud consists of distance
and
color data which is rendered as a 3-dimensional image to the screen. Since my assignment is actually to take his data
and map
it onto cylinders, one of Baoquan's research assistants, Hui Xu, was kind enough to give me the data and his code that
reads
in the data.
This week I spent more time focusing in on the details of my assigment. I have been reading academic papers on texture
mapping and Tour in Picture. Much of my week was spent meeting with Joe, Professor Anderson, and Professor Interrante
to get
more of an idea of how to begin my assignment. My intial task was to convert Hui's pixel data to a ppm file. As his
code was
hard for me to understand, much of my time was spent sifting through and understanding it, but I was able to finish
thanks to
help from Joe. My next step will be to learn more how to map an image to a polygon in a modeling program so that I will
be
able to map the scene onto a cylinder. |
This week we got our PC's up and running. No longer needing to share one computer, our work is coming along much more quickly. I've spent some time trying to manipulate the data so that the colors in the ppm file are dependent on range. I also got my ppm file mapped around a crude cylinder in the VR interface using a predefined cylinder function. It was useful in getting a taste of what the final product will feel like in that environment. Hui gave a mini presentation on his scanning project which I sat in on and he downloaded the files to my PC. It actually allows one to explore this 3 dimensional picture using keyboard commands - very interesting. Currently I'm trying to learn polar coordinates to be able to create a hemispherical backdrop. Some tasks that lie ahead are to learn openGL to create a mini interface to test my hemispherical mapping code and once I get that working, to integrate it into the real system. On Friday, Vicki informed us that we are going to Siggraph, a huge nationwide graphics conference, at the end of July. This year, it will be held in San Diego, CA. In the meantime, Tabitha, the other DMP participant, and I have been busy making arrangements to fly and stay in California. I have never been there before and I know this will be a truly great opportunity for me to learn a lot and meet presigious people from this field. |
On Monday I began the process of learning openGl. Joe helped me write a simple program that displays a triangle on a window. With an openGL template, I was able to fit together my hemispherical mapping code so that by Wednesday I rendered a hemisphere to the screen. Now that I have the hemishperical object, I must map my ppm file picture onto it. This task proves more difficult and I hope to accomplish this by the beginning of next week. In the meantime, I am trying to read more about texture mapping. |
At the beggining of this week, I successfully mapped the image onto my sphere. One of the complications I had run into
was that
the image was too large to texture map, so resizing it fixed the problem temporarily but compromised the original
resolution.
To keep the resolution, I had to break the image into three different textures. Nearly completed, the space between the
textures is the only bug I must fix.
Being the 4th of July weekend, Wednesday night I went to the Taste of Minnesota and saw the Wallflowers perform live. We also saw the fireworks show there on Friday which were very nice. Tabitha and I also purchased our plane tickets to San Diego this week and are both very excited to be going to California. | |
outside view of sphere |
inside view of sphere |
After a lot of hard work, I've finally broke the texture into 3 pieces and mapped them to the sphere successfully. The complication I was running into was that the quad polygons (which as a collective make up my sphere) between a given two textures were not being mapped correctly. After a talk with Vicki however, I was able to fix this error. In preparation for my next step, to break the texture further and map them onto several spheres for the 3-D effect, I changed around my code so my data structure allows me to create a sphere of any given radius. I spoke again with Vicki about how to proceed with this. It seems my next task will be to break the texture into pieces (i.e., foreground, background, etc.) and save the pieces as 3 separate files. Then my sphere code will read in the 3 files and decide which pixels should be transparent. In order to do this, I must read about transparency in openGL. |
Week Seven | |
At the start of week seven, I had a minor breakthrough and reached an impasse. On Monday, I successfully mapped
my textures onto three concentric spheres. Using OpenGL commands to move the viewpoint of the
window gave a 3-dimenional feel for the user. One complication I noticed was that holes appear
from lack of range data for certain points. Joe suggested the quickfix
of doubling objects on the spheres that are further back. In other words, the first sphere is mapped with a texture
of the image ground while the next sphere bares a texture of buildings in addition to the ground. The side effect
of this method is that in place of the holes are the doubles of objects.
I spent some time tweaking the visual effect by adjusting my breakup of the image, trial and error testing of different radii for the spheres, and the position of the viewer. On Wednesday, Joe helped me get my code into GLCreator. Getting it working actually turned out to be a disappointment. The field of view in GLCreator puts the user very close to the spheres. Consequently, pixels appear disproportionately large so that holes and jagged cutouts of objects are quite distracting. The remainder of the week I spent trying to fill in what holes I could but at this point I'm not sure how effective my efforts can be. For fun this weekend I got to go on a trip to the Boundary Waters in Northern Minnesota with Tabitha and the Behavioral Science REU. We visited the Soudan Mine and Physics Lab, a wolf reserve, and stayed overnight at Camp Widjiwagan. It overlooks a lake where we were able to canoe Saturday morning while listening to loon calls on the water. It was very scenic. | |
top view of spheres |
inside view of spheres |
Week Eight | |
During my eighth week here, Joe helped me optimize my code because it was running too slowly in GLCreator. I used fwrite to write the binary RGB information for the pixels and then used an fread to extract the data from the files. I also began the arduous task of filling in the holes in my textures using Adobe Photoshop. I'm not acquainted with the program so it took some time getting used to it. Hopefully I will be able to create a believable 3D background after I finish touching up the textures. |
Week Nine - Siggraph! | |
Tabitha and I left very early the Friday of week eight to catch our plane to San Diego, California. Once we landed, we managed to make it on just our wits to La Jolla where Tabitha's friend lives. We were staying with him for the couple days before the convention started. They were all very nice and drove us to the beach. The next day, Tabitha and I spent the day at Seaworld where we had a lot of fun meeting stingrays and dolphins. On Sunday, the Siggraph festivities commenced. We kicked off the convention by attending some courses: Theory and Practice of Non-Photorealistic Graphics, Introduction to Computer Graphics, and Reflections and Refractions for "Finding Nemo." Unfortunately, we had to leave early that night to check into our hotel. On day two of Siggraph, I went to the courses Geometric Data Structures for Computer Graphics, and Light in Nature: Real Effects and Their Simulation. Industrial Light and Magic (ILM) held a special session that night that was very entertaining as well as insightful into how to make it in the graphics industry. Day three of the convention, I attended the course Cross-Cultural User-Interface Design which brought to light cross cultural issues in web design I had never thought of before. It was also the first day of the Exhibition where all the major graphics companies send representatives to give presentations and advertise for their corporation. Some companies present were Pixar, ADI, ImageWorks, HP, NVidia, and Maya, to name a few. That night Tabitha and I attended the Electronic Theater which presented all the best computer animated short films of the year. I was very impressed with the quality of the animation as well as the plots. On day four, we scoured the exhibition some more and attended a sketch and application session that featured the making of The Matrix:Reloaded and The Lord of the Rings: Two Towers . We also sat in through most of the animation theater before heading over to the artificial intelligence special session entitled Android Dreams. It featured different types of AI from vacuums to dancing robots which will be standard household items in the near future. Since it was the last night of the conference, there was a reception where there were lots of food and dancing. It was fun. |
Week Ten | |
Even though I had a great time in San Diego, I was really happy to get back to Minneapolis. I realized that the city really grew on me. The Sunday of our return, we had a warm welcome back from the behavioral scientists and took a trip out horseback riding. Meanwhile, in the lab, I spent mucho time filling in the holes of the textures. It took much longer than I had anticipated but I eventually finished. | |
My remaining time was spent tying up loose ends: documenting my work, burning copies, and transferring
my code to Vicki's directory. Tabitha and I gave an informal presentation of our project for the behavioral scientists
which
went well.
Outside the lab, there were closing ceremonies of the REU programs including a dinner cruise on the St. Croix River. Overall, I had a great summer and I'm very grateful I got to spend it with such wonderful people : ) |