The Community for Technology Leaders
RSS Icon
Issue No.02 - March/April (2009 vol.15)
pp: 234-248
Jyh-Da Wei , Chang Gung University, Taipei
Ming-Hung Tsai , Institute of Information Science, Academia Sinica, Taipei
Gen-Cher Lee , Institute of Information Science, Academia Sinica, Taipei
Jeng-Hung Huang , Institute of Information Science, Academia Sinica, Taipei
Der-Tsai Lee , Institute of Information Science, Academia Sinica, Taipei
Algorithm visualization is a unique research topic that integrates engineering skills such as computer graphics, system programming, database management, computer networks, etc., to facilitate algorithmic researchers in testing their ideas, demonstrating new findings, and teaching algorithm design in the classroom. Within the broad applications of algorithm visualization, there still remain performance issues that deserve further research, e.g., system portability, collaboration capability, and animation effect in 3D environments. Using modern technologies of Java programming, we develop an algorithm visualization and debugging system, dubbed GeoBuilder, for geometric computing. The GeoBuilder system features Java's promising portability, engagement of collaboration in algorithm development, and automatic camera positioning for tracking 3D geometric objects. In this paper, we describe the design of the GeoBuilder system and demonstrate its applications.
Visualization techniques and methodologies, Geometric algorithms, languages, and systems
Jyh-Da Wei, Ming-Hung Tsai, Gen-Cher Lee, Jeng-Hung Huang, Der-Tsai Lee, "GeoBuilder: A Geometric Algorithm Visualization and Debugging System for 2D and 3D Geometric Computing", IEEE Transactions on Visualization & Computer Graphics, vol.15, no. 2, pp. 234-248, March/April 2009, doi:10.1109/TVCG.2008.93
[1] A. Aurum, P. Parkin, and K. Cox, “Knowledge Management in Software Engineering Education,” Proc. Fourth IEEE Int'l Conf. Advanced Learning Technologies (ICALT '04), pp. 370-374, 2004.
[2] W. Bangerth, R. Hartmann, and G. Kanschat, DEAL.II Differential Equations Analysis Library, Technical Reference, http:/, 2008.
[3] W. Bangerth, R. Hartmann, and G. Kanschat, “Deal.II—A General-Purpose Object-Oriented Finite Element Library,” ACM Trans. Math. Software, vol. 33, no. 4, p. 24, 2007.
[4] C.B. Barber, D.P. Dobkin, and H. Huhdanpaa, “The Quickhull Algorithm for Convex Hulls,” ACM Trans. Math. Software, vol. 22, no. 4, pp. 469-483, 1996.
[5] W.H. Bares and J.C. Lester, “Intelligent Multi-Shot Visualization Interfaces for Dynamic 3D Worlds,” Proc. Fourth Int'l Conf. Intelligent User Interfaces (IUI '99), pp. 119-126, 1999.
[6] M. Bäsken and S. Näher, “GeoWin—A Generic Tool for Interactive Visualization of Geometric Algorithms,” Software Visualization, pp.88-100, Springer, 2002.
[7] M.H. Brown and M.A. Najork, “Algorithm Animation Using 3D Interactive Graphics,” Proc. Sixth Ann. ACM Symp. User Interface Software and Technology (UIST '93), pp. 93-100, 1993.
[8] M.H. Brown and R. Sedgewick, “A System for Algorithm Animation,” Proc. ACM SIGGRAPH '84, pp. 177-186, 1984.
[9] G. Cattaneo, P. Faruolo, U.F. Petrillo, and G.F. Italiano, “JIVE: Java Interactive Software Visualization Environment,” Proc. IEEE Symp. Visual Languages and Human Centric Computing (VLHCC '04), pp. 41-43, 2004.
[10] P. D'Ambra, M. Danelutto, D. di Serafino, and M. Lapegna, “Advanced Environments for Parallel and Distributed Applications: A View of Current Status,” Parallel Computing, vol. 28, no. 12, pp. 1637-1662, 2002.
[11] S. Diehl, “Software Visualization,” Proc. 27th Int'l Conf. Software Eng. (ICSE '05), pp. 718-719, 2005.
[12] H.P. Dommel and J.J. Garcia-Luna-Aceves, “Floor Control for Multimedia Conferencing and Collaboration,” Multimedia Systems, vol. 5, no. 1, pp. 23-38, 1997.
[13] S. Fleishman, D. Cohen-Or, and D. Lischinski, “Automatic Camera Placement for Image-Based Modeling,” Computer Graphics Forum, vol. 19, no. 2, pp. 101-110, 2000.
[14] J. Fontana, “Collaborative Software Ages Slowly,” Network World Fusion, http:/, 2003.
[15] A. Hausner and D.P. Dokkin, “GAWAIN: Visualizing Geometric Algorithms with Web-Based Animation,” Proc. 14th Ann. Symp. Computational Geometry (SCG '98), pp. 411-412, 1998.
[16] T.D. Hendrix, J.H. Cross II, and L.A. Barowski, “An Extensible Framework for Providing Dynamic Data Structure Visualizations in a Lightweight IDE,” Proc. ACM SIGCSE '04, pp. 387-391, 2004.
[17] S. Hupfer, L.-T. Cheng, S. Ross, and J. Patterson, “Introducing Collaboration into an Application Development Environment,” Proc. ACM Conf. Computer Supported Cooperative Work (CSCW '04), vol. 6, pp. 21-24, 2004.
[18] A. Kerren and J.T. Stasko, Algorithm Animation—Introduction, chapter 1, pp. 1-15, Springer, 2002.
[19] L. Kettner and S. Näher, “Two Computational Geometry Libraries: LEDA and CGAL,” Handbook of Discrete and Computational Geometry, second ed., J.E. Goodman and J. O'Rourke, eds., chapter 64, pp. 1435-1463, CRC Press, 2004.
[20] M. Knepley, R. Katz, and B. Smith, “Developing a Geodynamics Simulator with PETSc,” Numerical Solution of Partial Differential Equations on Parallel Computers, A. Bruaset and A. Tveito, eds., pp. 413-438, Springer, 2006.
[21] M. Krebs, T. Lauer, T. Ottmann, and S. Trahasch, “Student-Built Algorithm Visualizations for Assessment: Flexible Generation, Feedback and Grading,” Proc. ACM SIGCSE '05, pp. 281-285, 2005.
[22] E. Lahtinen and T. Ahoniemi, “Annotations for Defining Interactive Instructions to Interpreter Based Program Visualization Tools,” Electronic Notes in Theoretical Computer Science, vol. 178, pp.121-128, 2007.
[23] E. Lahtinen, H.-M. Jarvinen, and S. Melakoski-Vistbacka, “Targeting Program Visualizations,” Proc. ACM SIGCSE '07, pp. 256-260, 2007.
[24] D. Lee, C.F. Shen, and S.M. Sheu, “Geosheet: A Distributed Visualization Tool for Geometric Algorithms,” Int'l J. Computational Geometry and Applications, vol. 8, no. 2, pp. 119-155, 1998.
[25] D.T. Lee, G.C. Lee, and Y.W. Huang, “Knowledge Management for Computational Problem Solving,” J. Universal Computer Science, vol. 9, no. 6, pp. 563-570, 2003.
[26] L.H. Lin, D.T. Lee, and K.F. Aoki, “DAViD: A Distributed Algorithm Visualization and Debugging System for Geometric Computing in 3D,” J. Three Dimensional Images, vol. 15, no. 1, pp. 67-73, 2001.
[27] Y.L. Lin, J.D. Wei, G.C. Lee, and D.T. Lee, “A Visualization Tool for the Sitemap of a Knowledge Portal and the Concept Map of Group Knowledge,” Proc. Fifth Int'l Conf. Knowledge Management (I-KNOW '05), pp. 179-186, 2005.
[28] S. Markus, S. Weerawarana, E.N. Houstis, and J.R. Rice, “Scientific Computing via the Web: The Net Pellpack PSE Server,” IEEE Computational Science and Eng., vol. 4, no. 3, pp. 43-51, 1997.
[29] M. Mu, “PDE.Mart: A Network-Based Problem-Solving Environment for PDEs,” ACM Trans. Math. Software, vol. 31, no. 4, pp. 508-531, 2005.
[30] M.A. Najork, “Web-Based Algorithm Animation,” Proc. 38th Design Automation Conf. (DAC '01), pp. 506-511, 2001.
[31] T. Naps, “Exploring the Role of Visualization and Engagement in Computer Science Education,” ACM SIGCSE Bull., vol. 35, no. 2, 2003.
[32] T.M. Nina Amenta, S. Levy, and M. Phillips, “Geomview: A System for Geometric Visualization,” Proc. 11th Ann. Symp. Computational Geometry (SCG '95), pp. 412-413, 1995.
[33] J. O'Rourke, Computational Geometry in $C$ , second ed. Cambridge Univ. Press, 1998.
[34] P.S. Pacheco, Parallel Programming with MPI. Morgan Kaufmann, 1996.
[35] T. Panas, R. Lincke, and W. Lowe, “Online-Configuration of Software Visualizations with Vizz3D,” Proc. ACM Symp. Software Visualization (SOFTVIS '05), pp. 173-182, 2005.
[36] M. Pendergast, Groupgraphics: Prototype to Product. McGraw-Hill, pp. 209-227, 1995.
[37] M. Roseman and S. Greenberg, “GroupKit: A Groupware Toolkit for Building Real-Time Conferencing Applications,” Proc. ACM Conf. Computer Supported Cooperative Work (CSCW '92), pp. 43-50, 1992.
[38] M. Roseman and S. Greenberg, “Building Real-Time Groupware with GroupKit, a Groupware Toolkit,” ACM Trans. Computer-Human Interaction, vol. 3, no. 1, pp. 66-106, 1996.
[39] N. Rummel, H. Spada, and S. Hauser, “Learning to Collaborate in a Computer-Mediated Setting: Observing a Model Beats Learning from Being Scripted,” Proc. Seventh Int'l Conf. Learning Sciences (ICLS '06), pp. 634-640, 2006.
[40] M. Shneerson and A. Ta, “GASP-II—A Geometric Algorithm Animation System for an Electronic Classroom,” Proc. 14th Ann. Symp. Computational Geometry (SCG '98), pp. 405-406, 1998.
[41] J. Stasko, A. Badre, and C. Lewis, “Do Algorithm Animations Assist Learning?: An Empirical Study and Analysis,” Proc. IFIP TC13 Int'l Conf. Human-Computer Interaction and ACM Conf. Human Factors in Computing Systems (INTERCHI '93), pp. 61-66, 1993.
[42] J.T. Stasko and J.F. Wehrli, “Three-Dimensional Computation Visualization,” Proc. IEEE Symp. Visual Languages, pp. 100-107, 1993.
[43] C. Sun and D. Chen, “Consistency Maintenance in Real-Time Collaborative Graphics Editing Systems,” ACM Trans. Computer-Human Interaction, vol. 9, no. 1, pp. 1-41, 2002.
[44] A. Tal and D. Dobkin, “Visualization of Geometric Algorithms,” IEEE Trans. Visualization and Computer Graphics, vol. 1, no. 2, pp.194-204, June 1995.
[45] M.-H. Tsai, J.-D. Wei, J.-H. Huang, and D.T. Lee, “A Portable Geometric Algorithm Visualization System with Dynamic Camera Positioning for Tracking 3D Objects,” Proc. 22nd Ann. Symp. Computational Geometry (SCG '06), pp. 479-480, 2006.
[46] M. Zancanaro, O. Stock, and I. Alfaro, “Using Cinematic Techniques in a Multimedia Museum Guide,” Proc. Int'l Conf. Museums and the Web, 2003.
[47] Algorithmic Solutions Software GmbH LEDA, http://www.mpi-sb. mpg.deLEDA/, 2008.
[48] Java Web Start Technology, /, 2008.
[49] JOGL API Project, https:/, 2008.
[50] Manual of GeoLEDA Library, GeoBuilder/GeoLedaManualindex.html , 2006.
[51] OpenCPS Website, http:/, 2008.
[52] Plone Foundation, http:/, 2008.
[53] ShareTone Project, , http:/, 2006.
[54] WebCollab—Collabench's Home, http://webcollab.iis.sinica. Collabench, 2006.
[55] Zope Corporation, http://www.zope.orgDocumentation/, 2008.
14 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool