GeoBuilder: A Geometric Algorithm Visualization and Debugging System for 2D and 3D Geometric Computing
TL;DR: The design of the GeoBuilder system is described and its applications are demonstrated, which features Java's promising portability, engagement of collaboration in algorithm development, and automatic camera positioning for tracking 3D geometric objects.
read more
Abstract: 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.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Figures

Fig. 8. Snapshots captured while constructing the convex hull. This procedure is visualized with a camera unmoved in the manual mode; seven input points from A to G sequentially locate farther away from the viewport. The five subfigures illustrate in order the triangles generated. (a) CDE. (b) BCD and BCE. (c) ABD and ABE. (d) ACD. (e) CDF . Notably, the 3D objects may overlap one another in front of the camera. Without moving the camera dynamically to proper positions, we cannot observe all changes of the algorithm states. 
Fig. 3. GeoBuilder is embedded into the OpenCPS portal. (a) GeoBuilder as a content object in the implementation space. (b) Associated JNLP file. (c) Running a 2D Voronoi diagram program. 
Fig. 7. Observation sphere and camera position decision. (a) Snapshots of the GeoBuilder IDE, the canvas panel of Geo3DDrawingBean, and the window of global view. (b) Observation sphere and the parameters of the camera position. (c) The camera will move from the original position C to a new position to watch the object, centered at P , in the next step. The candidate points A and B are the projections of P onto the observation sphere. 
Fig. 1. System architecture of the GeoBuilder. The back end of the GeoBuilder system connects to an Algorithm Server to request compiling and debugging services. The states of replicated application processes can be synchronized by the Collabench Server. 
TABLE 2 Felder’s Learning Style 
Fig. 4. Frame code to develop a geometric algorithm with circle objects involved. (a) Autogenerated codes. (b), (c), and (d) Finding the smallest enclosing circle.
Citations
•Book
Software Visualization
Stephan Diehl
- 01 Jan 2002
TL;DR: This half-day tutorial gives an overview of the current state-of-the-art in software visualization, identifying common principles illustrated by many examples and giving pointers to tools available today.
153
MonitTDPA: A tool for monitoring the tracing of dynamic programming algorithms
Hazem M. Bahig,Ahmed Y. Khedr +1 more
TL;DR: A complete visualization system is created to teach dynamic programming algorithms, where a student is able to trace the algorithm step‐by‐step, similar to the debugger, but in a simplified way, and the system can handle errors during the execution of the algorithm.
7
Debugging Tool to Learn Algorithms: A Case Study Minimal Spanning Tree
Ahmed Y. Khedr,Hazem M. Bahig +1 more
TL;DR: A visualization tool that works as a debugger to learn the minimal spanning tree and gives the user a feedback from the execution of the algorithm by storing the errors that occurred by the user.
References
The quickhull algorithm for convex hulls
TL;DR: This article presents a practical convex hull algorithm that combines the two-dimensional Quickhull algorithm with the general-dimension Beneath-Beyond Algorithm, and provides empirical evidence that the algorithm runs faster when the input contains nonextreme points and that it used less memory.
deal.II—A general-purpose object-oriented finite element library
TL;DR: The paper presents a detailed description of the abstractions chosen for defining geometric information of meshes and the handling of degrees of freedom associated with finite element spaces, as well as of linear algebra, input/output capabilities and of interfaces to other software, such as visualization tools.
Exploring the role of visualization and engagement in computer science education
Thomas L. Naps,Guido Rößling,Vicki L. Almstrum,Wanda Dann,Rudolf Fleischer,Christopher D. Hundhausen,Ari Korhonen,Lauri Malmi,Myles McNally,Susan H. Rodger,J. Ángel Velázquez-Iturbide +10 more
- 24 Jun 2002
TL;DR: It is argued that such technology, no matter how well it is designed, is of little educational value unless it engages learners in an active learning activity, and a new taxonomy of learner engagement with visualization technology is suggested.
Numerical solution of partial differential equations on parallel computers
Are Magnus Bruaset,Aslak Tveito +1 more
- 01 Jan 2006
TL;DR: This paper discusses the design and implementation of hypre, a Library of Parallel High Performance Preconditioners, and develops a Geodynamics Simulator with PETSc and Parallel Lattice Boltzmann Methods for CFD Applications.
Related Papers (5)
S. K. Ellershaw,Michael J. Oudshoorn +1 more
- 19 Oct 1993
Greg Abram,Lloyd A. Treinish +1 more
- 29 Oct 1995