Your Guide to GPGPU with WebGL

Experimentation with the use of the GPU for general purpose computing (GPGPU) targeted to simulations in instructional design for mathematics and physics. Detailed notes include explanations of algorithms, motivations, and potential pitfalls. Over time it will include additional refinements and useful examples.

Visualization Catalog

It's clip art for visualizations. Just include these small HTML fragments into your content for clear and interactive visualizations. You can even contribute additional visualizations to the collection. The few lines of HTML load the visualizations from our GitHub repository, so you can get started with very little investment in time or resources.

Visualizing Vector Fields

VField produces powerful interactive visualizations of vector fields, including electric fields, from simple configurations. Or use the API directly for more sophisticated presentations and better performance. These visualizations and their interactions are designed to integrate seamlessly with your content and not pull the student out of the flow your presentation. This contrasts sharply with most other interactive toolkits that provide self contained pieces that may not match the content or style of your presentation, and fail to provide integrated interactivity with the content as a whole.

Visualizing an Electric Field With HTML5 and WebGL

Model and visualize electric fields from arbitrary charge configurations. An easy to use framework built on WebGL and JavaScript with examples including dipoles, spherical charge distributions, and Gaussian surfaces. The framework focuses on instructional use and provides true three dimensional models, easy to understand visualizations, and intuitive interaction. Use this open source framework in your online and in class physics content.

This project has been replaced by the more capable Visualizing Vector Fields All examples and documentation will be moved to that project.

A Highly Interactive Gauss's Law Review

Highly interactive discussions of Gauss's law applied to a point charge, a line charge, and a charged plane. Each topic includes multiple presentation styles

  • Textual description
  • 3D charges and fields
  • 2D E vs X graph
  • Mathematical treatment

All of these components are interactive and interact with each other. For example moving the pointer on the E vs X graph updates the Gaussian surface in the 3D visualization, the math and the text. This invites the reader to be an active participant, to explore, as part of their education. Wide ranging concepts such as symmetry and physical intuition are deeply embedded in the discussion.

A Force-Directed Graph

A force-directed graph extracts organizational structure from communications patterns. Each member of the organization is modeled by assigning everyone an identical charge, then attaching a spring between each pair where the strength of the spring is determined by the volume of communications. The system is then graphed and evolved so that the learner sees the system as it evolves. This is an excellent teaching example because it provides an interesting example of the application of physics, math and computer science.

OpenGL ES in the Hand and on the Web

Presentation slides with speaker notes for easy comprehension. An introduction and overview of OpenGL ES with examples from WebGL and Android. Starting from the absolute beginning, increasingly complex examples are built illustrating the fundamental aspects of OpenGL such as vertices, vertex and fragment shaders, perspective and user interaction and animation using live WebGL. The final application is then shown as an android application.

Consistent Hashing and Caching

A look at the role of consistent hashing in a distributed cache, with specific applications to JBoss infinispan and JBoss cache.

Customizing JTable: A Practical Example

An in depth walkthrough customizing the behavior of a Swing component to build a table with a row header containing the columns that identify each row. Each step in the process is motivated by a usability issue, so that the final result behaves seamlessly as a single table, except that the identifying columns do not scroll horizontally.