We discussed about using different macro patches instead of array in Javascript. After much debate, we decided to continue working with the Javascript. So we worked on the matching algorithm till lunch.
After lunch, we got help from Cheng Teng. After awhile, he went over to help Ryan and Leonard because they had problems loading the models provided from him. So we went to compare the codes we did in the application with Lightdraw's. We then realized that we missed out one line of code. Added that line of code in and it was working. We finally made progress after so many days of trying.
The application now allows multi-user support. However, if there were 2 pens on the screen and the first pen got idled/removed, only the second laser is able to select the remaining pen. So we discussed on how to solve the problem and concluded to check the 'moving' patch.
Not long after, Kevin came in and told me that I'll start working with Ryan and Leonard on the 3D model application until You Hock and Ming Hong finished the multi-user function before I return to work on the 'Toggle' and 'Idle' function. We continued to work on the multi-user function for the rest of the day.
3 February 2009
After the usual breakfast routine, I installed Kineme 3D plugin with the help of Leonard. After the installation, a pop-up appeared informing me that the trial period would only last for 1 more day as Leonard had installed the plugin before.
I then started to explore what functions could the plugin do and tried to load a model. The Kineme 3D object loader could support different model formats such as .FBX, .DAE, .MD2, DXF, .OBJ, 3DS. However, I was unable to load. Ryan then advice me to restart the computer because he had faced the same problem before. I restarted the computer and the model is then able to load. Here's the model I loaded:

I managed to make the model rotate before lunch. After lunch, I tried making the model move. However, I need to know the model's initial size. So I went to look for Kevin to inform him to inform him about the plugin trial deadline and his suggestion on how to move the model before his meting. He said he would discuss with Ming Hong about the plugin and he asked me to find out if I could set the model's size to 'Fit to Screen'.
I went to help You Hock with the testing of the 'Whiteboard' application before researching on how to fit the 3D model to screen.

After much research, I found out that in Kineme 3D object loader, there's a Normalize function which would set the model's size to fit the screen's size. I then continued working on trying to move the model for the rest of the day.
4 February 2009
I continued working on getting the model to move. I decided to implement an easier way of moving the model - moving the model to where the mouse is clicked. I then asked Ming Hong about what Z-axis rotation is about because I need to change the rotation axis of the model once it is moved. He explained it to me and then I went on to complete the 'Move' function.
Kevin then came in and we showed him our progress. After showing him, I found a cool function in Mac which works like using the remote computer in Windows before heading for lunch. Here's a screenshot:

After lunch, I tried to load the Rolls Royce model. However, it wasn't able to load because my version of Kineme has expired. So I tried using the iMac to load. The iMac's version also expired while trying to load the model. So we went to look for Kevin and informed him about our situation. He went to discussed with Ming Hong and bought the Kineme 3D plugin. We then registered with the serial key provided.
After registering, Kevin taught me a Mac shortcut - apple+tab+q to quit applications because I was attempting to close several applications. After registering, I tried loading the Rolls Royce model again. This time, it took more than 10 minutes and not yet done. So I decided move on and revert my model back to the skateboard to work on the scale function.
Before we left, we saw a very pretty sight of a rainbow from Kevin's desk. Here's a picture of the rainbow:

5 February 2009
I tested the loading of 2 models on the same application after breakfast because Kevin mentioned about getting the 3D application to work with more than 1 models at 1 time. Quartz Composer is able to load more than one as one of the examples that came with Kineme3D could load 3 models. Here's a screenshot of the Quartz Composition:

This means that I have to modify the codes for the 'Moving' function. I guess I'll modify it after I'm done with the 'Scaling' function. After finishing the 'Scaling' function, we left for NUS because we had to attend a talk there. At NUS, we saw Cheng Teng's project.
6 February 2009
I continued working on the 'Scaling' function when I reached the office. Not long, Leonard requested the 'objLoader' plugin as he wanted to test how fast could a ".obj" format model load on it. Before lunch, I managed to scale the model. What's left is only to compute how much to scale down.
Bernard invited us for lunch at level 5 because it's IHPC Chinese New Year Celebration. Here are some pictures I took during lunch:



After lunch, Kevin informed us that we were not suppose to be at the lunch as we were interns and we do not have the same benefit as IHPC's staff. We sent an email to him to apologize and will consult him if we before we do anything.
After apologizing, I asked Ming Hong on how to compute the scaling. He taught me how and I implemented the formula. Once again, this situation showed me how important mathematics is. I managed to finish the 'Scaling' function at the end of the day. I'll integrate my part with Leonard's on Monday.
Reflection for the week:
In a blink of an eye, it's the final month of my attachment here at IHPC. I've truly learnt a lot for the past few months. This week is no exception. I've learnt more about 3D modeling by working on an application to manipulate the model. Normally, to manipulate a model based on pure coding itself is tough. Luckily, we are working on Quartz Composer which provided us an easier platform to manipulate a 3D model.
I've also discovered a few other interesting functions on the Mac with the help of Kevin and listening to some podcasts.
No comments:
Post a Comment