2IV05 - additional component CG - 2013-2014 Q3
for previous versions see 2IV05


instructor: Huub van de Wetering (MF 6.087, hDOTvDOTdDOTweteringATtue.nl),


Agenda

weektaskdaydateplacestudent
deliverable
1 Introduction Tuesday 04/02 LG -1.19 -
2 Proposal submission Monday 10/02, before 13h e-mail box assignment proposal
Evaluation of proposals Tuesday 11/02 LG -1.19 -
3 Submission I Friday 21/02, before 13h00 oase
e-mail box
report: concept, v1
4 Presentation day I Friday 28/02 Aud 10 presentation + demo
5 Submission II Friday 14/03 oase report: complete, v2
6 Presentation day II Friday 21/03 Aud10 presentation + demo
7 Review Tuesday oase -
8 Demo day Friday 04/04 Aud10 full demo in a
market setting
Submission III Tuesday 22/4, before 24h mailbox @ MF6.209 report: final, v3;
all other final deliverables



Description

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.

Procedure:

  1. Students work in groups of two persons and register as such in Oase.
    In case of a small number of participants, this may be reduced to groups of one person.
  2. Each group chooses one of the assignments given below.
  3. Each group writes a proposal for the assignment.
    The proposal should contain: The total size of this proposal should be 4 to 6 pages.

    The proposal should be emailed to the instructor in pdf format. The instructor 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 instructor will reward the groups with the best proposals, and ask the remaining groups to choose a different assignment.

  4. The students start working on their assignments and can consult the instructor after making an appointment.
  5. Submission I: concept version of the final report, featuring sections and subsections with an appropriate description of the intended content, or the actual content where that is possible.
  6. Presentation day I/II: each group gives a short, 10 minute, presentation about the project and shows a running prototype illustrating the already implemented concepts. Clearly explain requirements, state problems and their solutions, as far as feasible. Care must be taken to state clearly the status of the project: what is already finished, what still needs to be done, etc.
    At PD I, the instructor will give feedback: on the project, the presentation (if necessary), and on the concept report of submission I.
  7. Submission II: a complete report has to be submitted; see report requirements below. The supervisor will review this report and notify the students of his findings.
  8. Demo day: Students present their results to fellow students and to a selection of staff members of the visualization group.
  9. Submission III: final deliverables, including a change report wrt submission II. This change report should not only state what has been changed in the report but also clearly state what the students did as a result of the review they received before. See below for more remarks on deliverables.



final deliverables




Report requirements

The report should contain the following elements.

The total size of the report should be about 10-15 pages.




Hint
Please give your application attractive and functional interactivity. This will not only help you to develop and test your own program but, for sure, others will not like your program, if you don't like it yourself. Both functionality and usability of the system will be graded.




Assignments 2013-2014 Q4

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.

Additional information


2 ⊕ 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.
full description


3 ⊕ Hidden surface removal
Write a demo application for a self-developed hidden surface algorithm. Typical requirements used in this project are: high performance, large worlds, and/or dynamic environment. Additional tasks in this project are, for instance: complexity analysis, performance tests, and test scenes creation. For showing off care should be taken to support nice shading, usable interaction, and flashy models.


4 ⊕ open data
Making data available to the general public is only half of the story. Being able to use the data to its full potential requires processing this data. However, how to process the data and what to look for is not at all obvious. Here visualization may come to the rescue to get a good feel of what kind of information is in a dataset. For this assignment you need to pick a non-trivial dataset and create a tool for visually browsing that dataset for interesting information.

Several organizations make their data openly available, see for istance:


5 ⊕ block editor: geometric modelling
Make a geometry editor where the geometry is based on stacking simple building blocks. The editor should allow for efficient construction of complex scenes.


6 ⊕ graph editor/layout
Graphs are very common data structures. Visualizing graphs may greatly enhance understanding them. Below an example (left figure) is given in which a user used a tool to automatically create a layout of a graph. This layout was unsatisfactory and was afterwards hand edited to come to a better solution (right image). The graphs represent so-called finite state machines. For this assignment you should make a tool that can layout labeled graphs representing finite state machines. An expert is available who can tell more about properties of the resulting layout.

after automatic layout after tuning by the user

The graph topology and labels of this example are specified in this file.