04.24.09

GeForce 8400M G, 8800 GTX, 9800 GT, and GTX 285 comparison

Posted in Uncategorized tagged , , , , , at 11:59 pm by Eon Strife

8400M G, 8800 GTX, 9800 GT, GTX 285 comparison

8400M G, 8800 GTX, 9800 GT, GTX 285 comparison

12.20.08

SIGGRAPH Asia 2008, 10 – 13 December 2008

Posted in Computer Graphics, Events, News tagged , , , at 11:46 pm by Eon Strife

2008 is indeed an interesting year in Singapore, as there are many ‘first’ time interesting events in this year, namely Microsoft Research Asia Symposium , Anime Festival Asia 2008, and last but not least, the spin-off of famous conference in computer graphics field, SIGGRAPH, is held in Asia for the first time in Singapore with the name SIGGRAPH ASIA. The SIGGRAPH conference is said to be the topmost conference in computer graphics, and having our papers been accepted in the conference may raise our ’status’ (or in the case of PhD student, might greatly smoothen our path to passing the PhD study). The quality of SIGGRAPH ASIA is said to be comparable to the regular SIGGRAPH held in United States.

This chance was particularly a blessing as this was the first time I attended a conference and it was one of the best conference albeit I had to spend large sum of money, Sin$450 (for full-conference pass) + US$ 25 (for registering to be an ACM student member) for attending the conference. However, the experience I got from this conference is worth the money I paid, as I met some of the most famous figures in Computer Graphics field such as Mark Kilgard, Kurt Akeley, Mark Harris, Henrik Wann Jensen, etc.  and also learned much from the four-days conference. Anyway, it is possible to be granted full conference pass by becoming  student volunteers who have to assist the conference by doing various jobs such checking attendees’ badges and carrying items. The downside of being a student volunteer is that it might not possible to attend some events in the conference (or worse, the ones relevant to the student’s research) if it is during the volunteer’s shift.

The conference does not merely have technical paper presentations, but also courses , sketches (short presentation of ongoing research), educators program, art gallery and emerging technology, computer animation festival, exhibition, and so on. Those events ran in parallel, so the attendees sometimes had to wisely decide which event to attend.

On Friday night, the reception was held in a seperate venue in Marina Barrage which has beautiful scene. However I did not anticipate it so I did not have a camera to take some shots. (Moreover, it was forbidden to take pictures in the conference yet I saw some people did it). It was a social time to get to know to researchers and to discuss the research. Luckily, on this occasion I managed to get introduced to my supervisor’s former supervisor, Tomoyuki Nishita.

On the last day I attended the Electronic Theatre together with my colleagues from my lab. In Electronic Theatre we were shown some of the best great CG animation clips. Some of them were already uploaded by somebody to youtube (Special Thanks to Vera Junaria, for keeping the following hyperlinks I lost):

The next SIGGRAPH ASIA will be in Yokohama next year in December. Let’s hope that I manage to publish a conference paper (or sketeches , or posters) for next year’s SIGGRAPH ASIA or any other future SIGGRAPHs so that this SIGGRAPH ASIA 2008 is not the first time and the last time I attended a SIGGRAPH conference

11.10.08

Microsoft Research Asia – Computing in the 21st Century, 7 November 2008

Posted in Events, News tagged , , , , at 11:37 pm by Eon Strife

On 7th November 2008, my collegues from our lab (gameLab) and me had a rare privilege to attend the conference Computing in the 21st Century held by Microsoft Research Asia(MSRA) in Suntec City Convention Centre. The conference was actually annual conference and most of the previous conferences were held in China. However, for this year we are fortunate enough to have the conference in Singapore such that the students in Singapore such as from NTU and NUS could have the chance to attend the conference.

The conference started at noon, however before it was officially started, Ms. Pratibha Kumar (Academic Developer Evangelist of Microsoft Singapore) gave us a brief overview of current status of Microsoft which now is focussing on rich user experience by combining server and client side of the applications. She also gave us brief demonstration of lates Microsoft products, DeepZoom and  Microsoft PopFly. DeepZoom basically is a cousin of Google Earth in which we can zoom deeply to the image and see the detail in the small regions of the image. It can be achieved by having images in multi-resolutions and the application will seamlessly from from one resolution to another resolution as the user zooms in or out. One example is the memorabilia page of Hard Rock in : http://memorabilia.hardrock.com/ as demonstrated by Ms. Pratibha Kumar in the conference. Another interesting demonstration is Microsoft Popfly in which we can build applications just by dragging and connecting the mashups or the building blocks without the need to do the programming.

The conference was then opened with speeches delivered by Dr. Baining Guo (Assistant Managing Director of Microsoft Research Asia), Real Admiral Ronnie Tay (Chief Executive Officer of Infocomm Development Authority of Singapore), Dr. Su Guaning (President of NTU), and Professor Tan Eng Chye (Deputy President and Provost of NUS). The most interesting part of the speech is that our project Cacani and the head of our project, Prof. Seah Hock Soon were mentioned in Dr. Su Guaning’s speech. Another interesting point is that how the cooperation between Microsoft and NTU was started from a single direct e-mail to Bill Gates from NTU. Thus, if the reader is from an institution and wants to have cooperation with Microsoft, one should not be hesitate to open communication with Microsoft. After all, how can we expect others to know about ourselves without us going out and telling others ?

In the heart of the conference is the speeches from Keynote Speakers who are renowned and influential people in computing community, with three of them are Turing Award Recipients. The speakers are Dr. Rick Rashid, Dr. Raj Reddy, Dr. Tony Hoare (the creator of the infamous quicksort), Dr. Hsiao-Wuen hon, and Dr. Butler Lampson. The introduction to the speakers as well as the abstract of the speeches can be read in : http://research.microsoft.com/asia/21stcomputing/2008/ENindex3.html.

The first speaker, Dr. Rick Rashid explained how the research division was established back in 90’s with the focus was on basic research, over the time the research division (aka. Microsoft Research) grows and several branches of Microsoft Research in over the world was established. He also gave some demonstration of recent researches in Microsoft:

  • World Wide Telescope : A tool similar to Google Sky which can show the celestial bodies. The data used in this program are from NASA (and possibly also from other sources) and are used by every scientist in the world. This is part one of Microsoft programme, which is providing collaborative data to everyone in the world especially the scientists.

  • Boku : A simple visual programming tool for creating games easily with the targeted audience is the children. Dr. Rick Rashid also mentioned that his 9 year old child could do programming in C#. This is an amazing feat, as I was able to do programming (by reading high school programming book) after about few years older than his child, and that was only BASIC language.

  • Microsoft Surface : A cool touchscreen screen which can accept multiple touches simultaneously.

The next speaker, Dr. Raj Reddy who is the mentor of some of the Microsoft Research Asia leaders, talked how the technology can be used to aid the life of the people especially the poor ones. He gave some video examples, such as automatic car driving system (similar to KITT from Knight Rider), online database of works (books, music, videos, etc.), computer usage in school, and emergency response system to reduce the mortality (especially in India). He deviated a little by mentioning education system in India, how the SAT is unfair as not all students in India get proper education especially those poor ones in villages. To help poor students from villages, the university might take for example 10 students from each school in the village no without considering greatly the capability of the students.

The programme continued to the third speaker, the legendary Dr. Tony Hoare who is the inventor of the quicksort algorithm. His speech was about the his vision for the programming “Zero error programming”. What he’s explaining is more or less as the abstract of his speech covered in the conference introduction page.

The conference speech then revert back to the discussion about Microsoft Research, specifically Microsoft Research Asia, by Dr. Hsiao-Wuen hon. Apparently, every year Microsoft Research manages to submit huge amount of papers to the conference (eg. SIGGRAPH for computer graphics) and it becomes one of the biggest institution in computing field as MSRA is a pool of talents. Over the years, there are also more and more PhD students become intern at Microsoft Research. Some works from MSRA are presented in the speech, such as image deblurring from a blurred images (ie. taken from a camera with shaky hand), multimedia annotation of large image (eg. specific sound is played when the user zooms to a specific part of the image), engkool (chinese-english translation tool which considers the context of the sentence. Will be available in MSRA website), and travel map planner or note which coupled with images taken from a camera as well as data from GPS.

The last speaker, Dr. Butler Lampson, the development of the computer from past until the future. As in Moore’s law, the development of the computer is rapid and enable people to create many new innovative applications which can assist the life.

After all the speeches, there was an Q&A section. However, because we were too hungry at that time, we had to leave early and in the end we missed out some (possibly) interesting discussions in the Q&A as I noticed that there were many students queued up for the microphone.

During the conference, there were two awards awared to intern students, one is from NTU and another one is from NUS. Since both students were in China, their supervisors received the award on their behalf. The supervisor for the awardee from NTU turned out to be my lecturer for the course I’m taking this semester,(Digital Image Processing), Dr. Cham Tat Jen. Well, congratulation, Dr. Cham !

One side note, actually I expected the conference to had shown the demo of Windows 7. But unfortunately, they didn’t.

10.27.08

max, min, sup, inf

Posted in Mathematics at 1:14 pm by Eon Strife

Frequently, in maths texbooks we encounter the operations max and min which find the largest/greatest and the smallest/least element respectively in a set. For example, assume we have a set of integer numbers {2, 5, 7, 10}, thus :

max{2, 5, 7, 10} = 10

min(2, 5, 7, 10} = 2

We can easily see that 10 is the maximum number in the set and 2 is the minimum number in the set, hence the max and min.

As we delve further in mathematics, we will encounter the sup (supremum) and inf (infimum). What sup and inf do are almost the same as what max and min do:

sup{2, 5, 7, 10} =10

inf{2, 5, 7, 10} = 2

For a set with finite elements (in simple words, a set which we know the number of elements inside the set and we can also list each element in the set one by one) like in the above, sup is essentially the same as max and inf is the same as min. However, for an infinite set (a set which we do not know the number of elements in the set, and it is impossible to list all the elements in the set) like the set of real numbers x {0.0 < x < 10.0}, we  cannot determine the maximum and the minimum value since the maximum number is a number which is very small less than 10.0 and similarly the minimum number is the number which is very small greater than 0.0, hence we are unable to use max and min. However, if we use sup on the set, we will get the smallest number outside of the set which is greater than all of the values inside the set (least upper bound). Similarly, by using inf, we obtain the largest number outside of the set which is less than all the values inside the set (greatest lower bound). For example:

sup{0.0 < x < 10.0} = 10.0

inf{0.0 < x < 10.0 } = 0.0

Hence, if we use sup and inf on a finite set, it is basically the same as using max and inf on the set and the element we obtain is one of the elements inside the set. However, it is different if we use them on an infinite set, we will obtain the least upper bound (for sup) and greatest lower bound (for inf), and the element we get is not the one of the elements in the set.

01.14.08

Polar Form in 15 Minutes

Posted in Computer Graphics, Mathematics tagged , , , at 5:22 pm by Eon Strife

B-Spline as a tool to draw a complex shape is pretty popular but unfortunately it’s a bit complicated (Check this Wikipedia article and the links inside it first if you’re not acquainted with B-Spline yet.) . Dr. L. Ramshaw introduced the Polar Form to simplify the understanding and the computation of B-Spline.

In short, every control point (or de Boor point) is given a number of values (we can think of them as a label for the point) which are taken from the knot vector. The number of values assigned to each point depends on the degree of the B-Spline, if it’s a cubic B-Spline, then each point is assigned three values. For example, if the knot vector of a B-Spline curve is {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}, then the polar values for the first point P0 is (1, 2, 3) (note : it always starts at the second element of knot vector), for the second point P1 is (2, 3, 4), the third point P2 is (3, 4, 5), and so on until the last point P5 (6, 7, 8 ) (note : the last element of the knot vector is excluded). The nice thing about this labeling is that the positions of the values of each point are not fixed and can be changed without changing the spatial position of the point in the space. For example, P0(1, 2, 3) is just the same as P0(2, 3, 1).

Given these points with their own polar values we can compute the spatial coordinate of another point as long as there are two points which have same number of degree-1 polar values with each other and with the new point. For example in degree 4, we can compute P(2, 3, 4, 5) if we already have two existing points which have polar values P(x, 3, 4, 5) or P(2, x, 4, 5), or P(2, 3, x, 5), or P(2, 3, 4, x). As for another example from the previous paragraph, we can compute P(3, 3.5, 4) by using P(2, 3, 4) and P(3, 4, 5). The formula for the computation is (parameter u(s) are the values shared by the three points) :

formula.jpg

Sometimes we can’t calculate a point directly and we have to calculate the intermediate points first. For example, if we want to find P(4, 4, 4) we have to compute P(3, 4, 4) and P(4, 4, 5). P(3, 4, 4) can be computed using P(2, 3, 4) and P(3, 4, 5), and P(4, 4, 5) can be computed using P(4, 5, 6). It’s as if we choose the sequence of operations arbitrary, and it will become more difficult in higher degree, which will be somehow impossible for computer to do it.

There’s a systematic way to do the process (and because of that it’s possible to program it into computer). The way to do it is pretty simple, we start from the desired point, and in each iteration we recursively compute two points which are needed to compute the particular point. The way to determine the two points is just to remove one duplicate element (if there are no duplicates anymore, we remove the one which is not in the knot vector) and replace it with the immediate lower value in the knot vector(for the first point used) or higher value in the knot vector(for the second point used). For example, if we have a five degree B-Spline with the knot vector {…, 0, 1, 2, 3, 4, 6, 7, 8, 10, 12, 14, …} and we want to compute P(6, 6, 6, 6, 6), we can do this sequence of operations, starting from the top to bottom :

untitled2.jpg

Now we know how to compute using Polar Form, the rest is easy. To draw a B-Spline we do the iteration over the knot vector. Using the aforementioned cubic B-Spline, for if example if we want to compute the point on the curve just say on t = 3.5, we assign the point with polar values P(3.5, 3.5, 3.5) (duplicates the t degree times) and compute it.

To learn more about polar form and the formal explanation of the polar form, you may check this paper (An Introduction to Polar Forms).

Next page