Vector field

Vector fields are a great way to visualize what is happening in a system. This is my early attempt at visualizing them.

Details

As always, I like to start with the basics.

Vector field

Vector field

Experimenting with R3 vector fields and different arrow types.

Vector field

Vector field

Adding support for visualizing vectors on/with curves.

Vector field

Vector field

Vector field

Visualizing NaN as red Xs.

Vector field

Vector field

Implemented an interesting feature that allows you to click on the grid to integrate the field at any point. A curve results.

Vector field

Vector field

Vector field

Vector field

Implemented a new magnitude visualization technique.

Vector field

Added a scalar visualization mode with various ways of contrasting positive and negative quantities.

Vector field

Vector field

Vector field

Vector field

Implemented the ability to draw an arbitrary curve on the field to calculate the curve integral. The complex result is printed in the console window.

Vector field

Vector field

Experimenting with different fields. Here, the color is a function of the arrow angle.

Vector field

Added an informational box that displays quantities of interest relative to the clicked point.

Vector field

Experimenting with visualizing vectors on arbitrary R3 models.

Vector field

Implemented a line-based arrow mode. I believe I implemented this in a geometry shader, which were quite new at the time. I eventually switched over to instanced rendering instead.

Vector field

Ported the application to Direct3D and implemented a cartoon shader mode.

Vector field

The vector field can vary with time and is calculated on the GPU.