supervisor: Huub van de Wetering (MF 6.087, email@example.com),
|2||Proposal submission||Monday||18/02/2013, before 13h||oase||assignment proposal|
|Evaluation of proposals||Tuesday||19/02/2013||Aud13||-|
|3||Submission I||Thursday||28/02/2013, before 9h00||oase||report: concept, v1|
|Presentation day I||Friday||01/03/2013||LaPlace 1.105||presentation + demo|
|6||Submission II||Monday||18/03/2013||oase||report: complete, v2||Presentation day II||Tuesday||19/03/2013||Aud13||presentation + demo|
|7||Review||Tuesday||26/03/2013, before 17h||oase||-|
|8||Demo day||Friday||05/04/2013||LaPlace 1.105||full demo in a|
|Submission III||Monday||22/4/2013||mailbox @ MF6.209||report: final, v3;|
all other final deliverables
This assignment is created for improving the practical skills in creating computer graphics and visualization applications. Programming language and environment are at the choice of the student.
The proposal should be emailed to the supervisor in pdf format.
The supervisor will respond to the proposal during the second meeting.
Typically responses are suggestions for addition or removal of functionality or
change in planning
If more than two groups choose the same assignment, the supervisor will reward the groups with the best proposals, and ask the remaining groups to choose a different assignment.
The report should contain the following elements.
1 ⊕ infovis toolkit battle
There have been several attempts to implement toolkits for information visualization. None of which
resulted in widely accepted solutions. Recently, two new, more generic, attempts have been made.
One, D3.js, which is data driven, and the other, JavaFX, attempts to support visualization and animation in so-called rich clients.
Ideally, this assignment is executed by two groups, one group that uses JavaFX and the other one that uses D3.js. Both groups try to make a version of the same (complex) infovis widget. A good example of such a widget is a time series visualization and analysis tool, called KronoMiner.
2 ⊕ glider log viewer
With the advent of cheap and portable GPS equipment glider pilots started logging their flights in so-called IGC files. These files contain series of time-stamped locations (longitude, latitude, height). Some additional information is also available: a.o. pilot name, glider type, glider identification. Some viewers for these log files exist. Some possibly new features should be designed and implemented. Requirements for these features should be gathered in collaboration with two glider experts. Some interesting features could be:
2 ⊕ website visualization
Both visitor and developers of websites could benefit from a clear visualization of the structure of a webpage or a website. They could use the visualization to build a mental map of the site and eventually feel more comfortable at browsing the provided information. For website developers additional motivation might be that visualization might show flaws in the implementation or design of the web page. So, design and implement visualizations that support either a visitor or developer, or both, in appreciating or understanding substantially sized piece of web content.
Additional requirements could be:
4 ⊕ point based rendering
Rendering highly complex models results in triangles whose projected area is less than a few pixels. Using standard scanline-conversion methods for the rendering of these tiny triangles becomes inefficient because of the necessary overhead for the triangle setup. Therefore, above a certain complexity, points are the conceptually more efficient rendering primitive. Holes in the rendered image (e.g. when zooming in) can be avoided by image-based filters, by adjusting the sampling density, or by so-called surface splatting. In this case each point is associated with a radius and a normal vector and therefore represents a small disc in 3-space, that is projected onto the image plane.
5 ⊕ Hidden surface removal
Write a demo application for a completely self-developed hidden surface algorithm. Typical requirements used in this project are: high performance, large worlds, and dynamic environment. Additional tasks in this project are, for instance: complexity analysis, performance tests, and test scenes creation. Care should be taken to support some degree of shading, and interaction.