Project Goals and Journal
Goals: | ||
General: | ||
Our initial goal is given how to build a vector field, we will manipulate boundaries and therefore the resulting field in order to see how the vector field can be benefitial to texture mapping. This may lead us to other uses of the surfaces vector fields. I initially thought we would be working with implicit surfaces, rather than traditional parametric surfaces, however we are using polygonal models to implement our research. | ||
Week 1: | ||
Review Background Papers | ||
Week 2: | ||
Combine two programs | ||
Week 3: | ||
Try to apply the idea of "Picking," to select start and end points, to the program from last week. | ||
Week 4: | ||
Apply the ideas from the paper Image Based Flow Visualization for Curved Surfaces to the program. | ||
Week 5: | ||
Apply shading to the algorithm. Try again to get "Picking" to work, so we can change the start and end points. | ||
Week 6: | ||
Document experimentation on lighting, frequency and size of noise pattern, number and position of sources and sinks, and different models. Write up final report. | ||
Journal of Project Experiences |
Week 1: |
This week we mostly reviewed papers on background and topics similar to what we will be researching. This proved to be quite difficult. Papers in very specified, detailed, and difficult, upper level topics like those we will be studying are difficult to take in an dunderstand all at once. Little by little thorough out the week as I reread them, and my mentor explained things to me, certin topics became more clear. I am a little nervous, however. I hope I am able to grasp all concepts necessary in order for us to move on with our research. |
By the end of the week I began looking at three possible programs we might use, and trying to learn Picking. I was trying to figure out the best way to use the three programs with one another. We plan to accomplish this section over teh next two weeks or so. |
Week 2: |
The week began on a rough note. On Friday I had been looking at and trying to understand alot of different things, on which took some notes. Even with the notes, however, it is difficult to get back into the deep research, especially without constant guidance. Alot of the research is done on your own. I have some ideas on how to combine the code we need, however, I still do not understand all of it. |
The week is progressing nicely. I am getting into the programming I need to do and it is coming along well. I am almost finished combining two of the programs that need to be combined. As I accomplish more, my spirits are lifted. |
![]() |
The first program read in data and displayed the image on the screen. The image I will mostly be using is the dolphin. |
Week 3: |
I have read an initial tutorial on picking and I seem to understand it. I have applied some of the code and it is working. The mouse is being detected in the right areas of the window. |
It turns out that the selection is not working. I cannot seem to figure out what is wrong. It is not reading in the values of x, y, and z corectly, or I do not know how to use them correctly. Because this is not a crutial step in our research, Quynh has suggested that I move ona nd we will come back to "Picking" later, |
![]() |
The second program calculated the vecotr field on the surface. After I combined the two programs, I made the new program display this vector field. |
Week 4: |
We went over the algorithm that I need to apply the code for and it seems very complicated. I need to use some commands in openGL that I have not seen before, so I am using reference books and websites for more information on these fuctions. |
The application of the algorithm is going very well. I have been able to complete several steps, despite slight temporary set backs. It is coming along nicely. Most of it is working, which I cannot believe. I am so glad that it is going well. |
![]() |
The result of the algorithm is to display an animated vector field, usinga noise image. The left is the noise image and the right is the image after flowing along the vector field. |
Week 5: |
I made another attempt at picking, but again moved on to the main algorithm and put it aside. |
I have gotten another aspect of the algorithm to work. That is, I can now rotate the model and the texture coordinates for each point are recalculated. This allows us to rotate while calculating the new vector field information for that view. |
![]() |
I experimented with some other models. This the elephant with one source and one sink, from different rotated points of view. |
Week 6: |
Experimentation is going pretty well. I was haveing a little trouble choosing differetn verticies to choose as sources and sinks because I did not get picking to work, but I decided to just choos max and mins in the x, y, and z direction. While writing the final report I realize that it is something I should have been writing the entire time I was here. I have taken my own notes and done experimentation but I did not document it well enough. Therefore, I have to do some of it over now. It is also difficult to go back and remember certain things from the papers I read teh first week; another reason why I should have begun writing this report even then. |
![]() |
This is an example of moving the sink to a different location. It was usually at the tip of the nose, but here it is at the tip of the top fin. |
References to Papers and Pages for Background Use: | ||
Paul's Online Math Tutorials and Notes | ||
This is a basic review of certain mathematical concepts needed for this research. This includes scalor fields, vetor fields, etc. (© 2003-2005 Paul Dawkins.) | ||
Texture Transfer During Shape Transformation | ||
This paper, cowritten by my mentor, includes inital concepts on creating scalor and vecotr fileds. It applies this to texture mapping between surfaces. Although this paper focuses on 3D space and time, our research will focus on 2D space and time. | ||
Topology Matching for Fully Automatic Similarity Estimation of 3D Shapes | ||
This Paper has information on how to automatically pick points; we will, however, begin by picking the max and min and allowing the user to pick the points. | ||
OpenGL Reference Manuel Second Edition; Editors: Renate Kempf and Chris Frazier; (c)1997 Silicon Graphics, Inc. | ||
This is a good reference to openGL code. | ||
Texture Synthesis on Surfaces | ||
This Paper has some relevant sections on vector fields. | ||
Image Based Flow Visualization | ||
Von Wijk's paper describes an algorithm that can display the motion along a 2 dimensional mesh. | ||
Image Based Flow Visualization for Curved Surfaces | ||
Von Wijk's paper describes an algorithm that can display the motion along a curved surface's vector field. This is the algorithm we implemented. | ||
Tissue Gridding Using a PDE Approach; Yezzi, A. | ||
This is the paper from which [Dinh] got certain methods of how to create a vector field from. | ||
Vector Field Design on Surfaces | ||
This Paper describes something similar to what we want to do, but with a different application. It provides great background and details on vector fields on surfaces and their properties and uses. | ||