|What I did
Co-Head, with Richard Riesenfeld, of the Alpha_1 Project. Co-Principal Investigator of the National Science Foundation, Science and Technology Center for Computer Graphics and Scientific Visualization. Principal Investigator of the NSF Young Scholar's Program, Utah Summer Computing Institute for Computer Graphics, Modeling and Expert Systems. My mentor Elaine Cohen is a professor of computer science at the University of Utah. Her current areas of interest and research are the following: Algorithms, Representations, and High Level Design Operators for Complex Models in Computer Graphics, Geometric Modeling, and Mechanical Design.
Reverse Engineering and Data Fitting.
Integrated Process Planning and Computer Aided Manufacturing.
Physically Based Modeling for Animation and Design.
New Paradigms for Modeling.
Kinematics, Dynamics, and Design of Mechanical Systems and Assemblies.
Selected Applications Projects including Medical Modeling and Imaging, and Paleontological Reconstructions.
The Escher Sphere
The first project of my research is the Escher Sphere. I am to find out how Escher Spheres are created and, using an interactive program, create one which will possibly be fabricated. I will also experiment with Celtic Knots and attempt to create one on the Escher Sphere.
An Escher Sphere created by Jane Yen.
I will also be experimenting with animation. My goal here is mainly to see how animation works and to create animated figures.
I will be giving four 20-minute presentations of research papers to a small group.
Silhouette clipping can be diefined by taking a polygonal model and making it less complex while preserving the basic shape of the model. If the basic shape of a model is preserved and the rest is blurred, our eyes tend to fill in what's missing. The advantage to silhouette clipping is that the models are less expensive. They take up less memory and/or speed up the rendering time. There are five software methods of silhouette clipping that I am aware of. My project is two code up four of the five methods, get timings on them, and write a paper comparing them.
My Research I began my summer research with little knowledge of what computer science research is like. I learned how to create a webpage and familiarized myself with HTML. Also, Jane Yen and Carlo Séquin's research on echserspheres was introduced to me. I read their paper on Escherspheres, presented it to a small group, and experimented with the program they had written to create the Escherspheres. The down-loadable version of the program didn't work at first so I notified Jane Yen of the problems I had running the program. It took a while, but I was eventually able to run the program. The program allows a user to choose one of the platonic solids. The edges of the platonic solid are then projected onto a default sphere. Each face of the platonic solid is considered to be one tesselation. The user then is allowed to move the edges of the faces. When the user clicks on an edge, a point is added to that edge. The user can then move that point around to alter shape of the tesselation. However, it's not easy to create a shape. When one edge is moved so are many others. Since all of the tesselations are the same, changing the shape of one changes the shape of them all. This causes another edge of the tesselation to change its shape as well. After the edges of the tesselation are adjusted, the user can switch modes so that the points adjust the radius of the sphere at that particular spot. Also, interior points can be added so that depth can be added to the face of each tesselation. My next task was to read a variety of research papers and present them to a small group of around ten people. This was to help with my people skills because over the course of the first few weeks it became evident that I was shy. The research papers I read all dealt with silhouette extraction. My presentations of the papers to a group weren't very good, but it gave me experience, which is good. The papers were really confusing at first because they were all about fast methods of detecting silhouettes. The problem is that testing every edge to see if it's a silhouette is really slow. The papers were about ways of organizing these edges so that every edge does not have to be tested. I found myself reading the papers over and over because, with my knowledge of the subject matter, the concepts weren't easy to understand. For the remainder of the summer, I worked on implementing the different methods of fast silhouette extraction. It turns out that I didn't understand exactly how I was supposed to implement the silhouette methods clearly enough because once I thought I was finished, I figured out what it was that I was supposed to have implemented. What I implemented went through the processes described in the papers, but never actually built the trees which needed to be built. I realized too late that the process of building the tree needed to be done once and that several viewpoint were to use that tree. I thought my program would be run each time a viewpoint is passed into the function which executes my program. What I implemented is possibly even slower than just testing every edge. My project is being passed on to someone else. The original intention was that I would end up writing a paper comparing the various methods of fast silhouette extraction. That won't happen now. The person to which my project has been passed will implement some of the same methods I tried to implement, but none of my work will be used. So here's what I learned. If you don't understand something the first time you read it, read it again. The first attempt of implementing an umfamiliar method of doing something is very likely to be garbage. Sometimes it isn't until after you fail that you learn how to succeed. I gained experience in reading the work of others and presenting it to a group. This summer has broken the ice for me in the matter of presenting previous research to a group. I feel like I've learned a lot and overall, I had a great learning experience.
Links to some of the papers I read...
|Illustrating Smooth Surfaces
|Interactive Technical Illustration
|What I did