-
Notifications
You must be signed in to change notification settings - Fork 75
Computer Graphics Brainstorming Notes
- Insert ideas for brainstorm here, using the same syntax (space, dash, space, idea)
- http://schuelerlabor.informatik.rwth-aachen.de/modul/wie-kommt-das-bild-auf-den-bildschirm-einstieg-die-computergrafik has a module of 3d graphics
- povray explanation: http://www.cs.unc.edu/~rademach/xroads-RT/RTarticle.html
- draw on the screen and it makes it pseudo-3D from the camera distances. And showed how those where heights where made.
- http://upload.wikimedia.org/wikipedia/commons/thumb/e/e7/Simple_raycasting_with_fisheye_correction.gif/400px-Simple_raycasting_with_fisheye_correction.gif
- show same scene rendered wire frame, with /without lighting etc. - system students can use?
- in some ways graphics software is just taking keyboard strokes, mouse clicks turning them into pixels on a 2d screen, but data is also collected externally eg. mocap, mri scans. But really about creativity and perception.
- richard's dancing orc?
- colour models - show same image with components
- chapter 29 of Algorithms Unplugged (Vocking et al) - further reading - bresenhams algorithm for circles
- bead game, painter's algorithm http://www.game2learn.com/?page_id=92
- html5 interaction for Bresenham: try to draw lines (45 degrees, then more complex, reward for getting accurate; then circles) Then give bresenham rule for specific case and reward for drawing it (perhaps buzz if wrong pixel each time?)
- a project on povray seems to exercise main ideas e.g. : http://theringlord.org/derakoninstructions/povray.html
- Unplugged line and circle drawing activity
- David McCandless: The beauty of data visualization ed.ted.com
- Joshua Scott - python OpenGL system to experiment with
- ray tracing demo/activities? is there an activity based on a physical model with a grid and string to objects? Would raise ideas like occlusion, reflection Define and render a scene using provided ray-tracing software e.g. ThinkQuest's The Online POV-Ray Tutorial. See Wikipedia: Ray Tracing and POV-Ray
- csunplugged walk the line activity http://csunplugged.org/line-drawing
- anti aliasing
- show video of 3D to give idea of why transforms are needed e.g. show transforms changing/camera movement/object movement/replication/scaling, then do interactive in 2D, then activity/project with webGL 3D with lighting etc.? Have a test near start to say if webGL installed, and how to configure browser
- a video interview with someone from weta would be great e.g. Marcus Schoo?
- http://www.game2learn.com/?page_id=92 painters alg?
- read "Flatland"
- http://www.expandknowledge.net/ekp/bookstore.php?bpage=bookpage&bid=b01 seems like its pitched at just the right level, but need to by a physical copy for US$82? Uses python?
- curiosity: look at number of credits for lighting and related things in Schrek, Avatar. and number of programmers etc.
- http://en.wikipedia.org/wiki/WebGL might allow rendering in web from commands? Official site: http://www.khronos.org/webgl/ tutorial: http://learningwebgl.com/ http://learningwebgl.com/blog/?page_id=1217
- cube: http://www.ibiblio.org/e-notes/webgl/polyhedra/cube.html
- Browser setup: http://learningwebgl.com/blog/?p=11 - could write an html5 interface to webgl - just put in matrices, main objects, camera angle etc. and watch it rendered? Does this already exist somewhere? maybe this sort of thing: http://learningwebgl.com/lessons/lesson11/index.html
- or http://www.webgl.com/2012/04/webgl-demo-shader-toy/ (lots of demos here -can we build a simple one with sliders for position, colour, camera etc?)
- povray tutorial starting example http://library.thinkquest.org/3285/tutorial/simple.html
- Tim Lambert has a nice applet for trying out Bresenham's algorithm which is a more efficient way of drawing lines. Please see also the The DDA (Digital Differential Analyzer) algorithm, which uses the equation of the line. (shows calculations and steps through - good exercise- try more than 45 degrees)
- ains Ray Tracing using strings and duct tape! See also Raytracing video by
- as Computer Science 10 - Lecture 2: 3D Graphics vide
I think for this topic, it could be important to mention the links into math, and also provide links to more advanced stuff, as there will be some high school students who are very confident with math, and could investigate this topic quite possibly to the level that more advanced university students would (and there are probably some that already have!). Graphics seems to be popular with the “geekiest” and “smartest” students. Of course students who aren’t so confident in math should still be given stuff they can understand as well.
Lower level details of graphics http://csunplugged.org/line-drawing
Notes from Mukund: The term "Visual Computing" generally encompasses both computer graphics and computer vision algorithms. The EPS library has an excellent book (for undergrad students) by Frank Nielsen: "Visual Computing: Geometry, Graphics and Vision".
Possible activities/projects for Yr 13 students could also include scene modelling using images (image-based rendering, used in arcade games), animations using sprites, modelling surfaces using splines (without going into the mathematical aspects of splines), surfaces of revolution (for creating models such as a wine glass), and simple methods to generate terrain models, computational geometry methods (such as convex hulls, closest pair of points).
Ray tracing is an advanced topic that requires the understanding of concepts such as illumination models, ray object intersection methods, and object oriented programming. If a ray tracing software is used, then students need not worry about these concepts, and could still gain a general appreciation of the visual effects a ray tracer can produce.
The description of the topic area looks good and includes an outline of important methods and application areas which Yr 13 students could explore and analyse with the help of software.
Extra ideas from Richard G: ALGORITHMS: converting RGB to HSI, camera calibration to remove radial distortion, Gaussian filter, median filter, sharpening filter, canny edge detector, Hough transform (to find lines and circles), Lucas-Kanade optical flow, morphological functions (erode, dilate, open, close).
Note: Documentation has been moved to the docs
folder of the repository.