274b-ab

Spring 2000

CSC 274 Computational Geometry

Back to 274b-ab homepage

Basically, the problem is about visibility. For example,the flight simulators that are used by student pilots should perform many tasks to make the pilot forget that she is sitting in a simulator. The most important thing is what the pilot sees, therefore correct and realistic visualization of the landscape or the runway to land on is extremely important. This involves modeling the landscape and rendering the models. The way to do this is called the "hidden surface removal", which is determining for each pixel on the screen the object that is visible. Just as well, shadowing plays a great role in visualization. Calculations should be made in order to find the intensity of light that the object emits in the direction of viewpoint.

This whole rendering task should be done in real time in such simulators so there is no time for such complex calculations. There are two solutions that allows the rendering to be done in real time. One of them is the z-buffer algorithm. However, this algorithm requires too much memory since there is a test applied on each pixel on the screen comparing the z-coordinates of the objects and the viewpoint. The second solution which is the "painter's algorithm" avoids this problem. It first sorts out the objects that are visible in "depth order" which is the order of closeness to the viewpoint. And then the objects are scan converted in the back-to-front order overwriting pixels that are covered by the object in the front. This is similar to how the painters put paint on canvas layer by layer. That is where the name comes from! :) However this sorting process is not as easy as it sounds because sometimes the objects dont have a depth order, i.e, if they have cyclic overlap then the cycles should be broken down by a splitting process.To be able to make this sorting in real time an elegant data structure called binary partition trees (BSP tress) are used.

P.S: Although I checked severel computer dicitonaries online I coulnd't find the definitions for the last few term mentioned above.

* hidden surface removal

* z-buffer algorithm

* painter's algorithm

* depth order

* binary search partition (trees)

Keyword: hidden surface removal

*http://www.eml.hiroshima-u.ac.jp/~doba/java/ZBUF/test.html - a Java applet

*http://www.uni-paderborn.de/fachbereich/AG/monien/PUBLICATIONS/ABSTRACTS/M_hidden_surface.html - an abstract of a paper

*http://www.cs.dartmouth.edu/reports/abstracts/TR86-123/ - a graphic system - BRUCE from Dartmouth

*http://robotics.Stanford.EDU/~murali/papers/thesis - T.M. Murali's PhD Thesis on efficient Hidden Surface Removal

*http://http.icsi.berkeley.edu/techreports/1993.abstracts/tr-93-032.html - a technical report

*http://www.udayton.edu/~cps/cps560/notes/hidden/

Keyword: z-buffer algorithm

*http://www.fsz.bme.hu/~szirmay/radiosit/z.html - an applet

*http://cs-cmn1.kookmin.ac.kr/cg/hypgraph/scanline/visiblilty/zbuffer.htm

*http://www.cs.nps.navy.mil/people/faculty/capps/iap/class5/z/

*http://www.dcc.ufba.br/mat056/hypgraph/scanline/visibility/scan.htm

Keyword: Painter's Algorithm

*http://www.gamers.org/dEngine/quake/papers/ddjzsort.html - has links to other sources

*http://cs-cmn1.kookmin.ac.kr/cg/hypgraph/scanline/visibility/painter.htm

*http://www.student.kuleuven.ac.be/~m9507467/Tutorials/Calamitas_Tutorial_10.htm

Keyword: BSP Trees

*http://www.geocities.com/SiliconValley/2151/bsp.html

*http://www.ce.unipr.it/~tommesa/jaluit.html- a BSP Tree compiler

*http://www.math.tau.ac.il/~sariel/TA/wcg98b/bsp/BSP.html - an applet

*http://macinsearch.com/infomac/dev/lib/bsp-tree-demo-15.html

1.

@inproceedings{aeg-kbisd-98

, author = "Pankaj K. Agarwal and Jeff Erickson and Leonidas J. Guibas"

, title = "Kinetic {BSP}s for Intersecting Segments and Disjoint Triangles"

, booktitle = "Proc. 9th ACM-SIAM Sympos. Discrete Algorithms"

, nickname = "SODA '98"

, year = 1998

, pages = "107--116"

, update = "98.07 bibrelex, 98.03 agarwal"

}

2.

@inproceedings{bdm-tepa1-95

, author = "A. B{\"a}umker and W. Dittrich and F. {Meyer auf der Heide}"

, title = "Truly efficient parallel algorithms: $1$-optimal multisearch for an extension of the {BSP} model"

, booktitle = "Proc. 3rd Annu. European Sympos. Algorithms"

, nickname = "ESA"

, year = 1995

, pages = "17--30"

, update = "96.09 orourke"

}

3.

@article{cf-fopsg-92

, author = "Norman Chin and Steven Feiner"

, title = "Fast object-precision shadow generation for areal light sources using {BSP} trees"

, journal = "Comput. Graph."

, volume = 25

, month = mar

, year = 1992

, pages = "21--30"

, note = "Proc. 1992 Sympos. Interactive 3D Graphics"

, keywords = "shadow volume, area light source, penumbra, umbra"

, update = "98.07 bibrelex, 97.07 agarwal"

}

4.

@inproceedings{cf-nrtsg-89

, author = "Norman Chin and Steven Feiner"

, title = "Near Real-Time Shadow Generation Using {BSP} Trees"

, booktitle = "Proc. SIGGRAPH '89"

, volume = 23

, number = 3

, publisher = "ACM SIGGRAPH"

, address = "New York"

, month = aug

, year = 1989

, pages = "99--106"

, update = "98.11 bibrelex, 97.07 agarwal, 97.03 schwarzkopf"

}

5.

@inproceedings{gs-cedsb-96

, author = "Alexandros Gerbessiotis and Constantinos Siniolakis"

, title = "Communication Efficient Data Structures on the BSP Model with Applications in Computational Geometry"

, booktitle = "Proceedings of EUROPAR'96"

, month = aug

, year = 1996

, keywords = "BSP Model, Data Structures"

, update = "96.09 orourke"

}

6.

@inproceedings{t-obspa-90

, author = "Enric Torres"

, title = "Optimization of the Binary Space Partition Algorithm ({BSP}) for the Visualization of Dynamic Scenes"

, booktitle = "Eurographics '90"

, publisher = "North-Holland"

, year = 1990

, pages = "507--518"

, update = "97.07 agarwal"

}

7.

@article{aks-cdofo-95

, author = "Pankaj K. Agarwal and M. Katz and Micha Sharir"

, title = "Computing depth orders for fat objects and related problems"

, journal = "Comput. Geom. Theory Appl."

, volume = 5

, year = 1995

, pages = "187--206"

, succeeds = "aks-cdorp-94"

, update = "98.07 agarwal, 98.03 mitchell, 96.09 devillers"

}

8.

@inproceedings{aks-cdorp-94

, author = "Pankaj K. Agarwal and M. J. Katz and Micha Sharir"

, title = "Computing depth orders and related problems"

, booktitle = "Proc. 4th Scand. Workshop Algorithm Theory"

, year = 1994

, pages = "1--12"

, precedes = "aks-cdorp-95"

, update = "98.03 mitchell, 97.11 katz, 96.09 devillers, 96.05 agarwal, 95.09 agarwal"

}

9.

@article{aks-cdorp-95

, author = "Pankaj K. Agarwal and M. J. Katz and Micha Sharir"

, title = "Computing depth orders and related problems"

, journal = "Comput. Geom. Theory Appl."

, volume = 5

, year = 1995

, pages = "187--206"

, succeeds = "aks-cdorp-94"

, update = "98.03 mitchell, 97.11 katz, 97.03 agarwal"

}

10.

@book{b-rsdoh-93

, author = "M. de Berg"

, title = "Ray Shooting, Depth Orders and Hidden Surface Removal"

, series = "Lecture Notes Comput. Sci."

, volume = 703

, publisher = "Springer-Verlag"

, address = "Berlin, Germany"

, year = 1993

, keywords = "book, ray shooting, depth orders, hidden surface removal, translation orders, graphics, data structures"

, succeeds = "b-earsh-92"

, update = "96.09 agarwal, 94.05 schwarzkopf"

}

11.

@inproceedings{b-ghsr-93

, author = "M. de Berg"

, title = "Generalized hidden surface removal"

, booktitle = "Proc. 9th Annu. ACM Sympos. Comput. Geom."

, year = 1993

, pages = "1--10"

, precedes = "b-ghsr-96"

, cites = "am-rsps-92, b-hsrr-90, c-tsplt-91a, cegs-lscaa-89, cg-vippg-89, bhosk-ershs-91, bo-hsrco-92, e-acg-87, gao-isost-90, go-nasch-87, ghlst-ltavs-87, hs-ndssg-86, kos-ehsro-92, ms-rcibt-88, m-wcohs-87, oy-nubkm-91, rs-eoshs-88i, ZZZ"

, update = "98.03 bibrelex, 96.09 devillers, 93.09 jones"

}

12.

@article{bhosk-ershs-94

, author = "M. de Berg and D. Halperin and M. Overmars and J. Snoeyink and M. van Kreveld"

, title = "Efficient ray shooting and hidden surface removal"

, journal = "algo"

, volume = 12

, year = 1994

, pages = "30--53"

, succeeds = "bhosk-ershs-91"

}

13.

@article{b-hsrr-90

, author = "M. Bern"

, title = "Hidden surface removal for rectangles"

, journal = "J. Comput. Syst. Sci."

, volume = 40

, year = 1990

, pages = "49--69"

, succeeds = "b-hsrr-88"

, update = "95.05 franciosa"

}