FP-MarkHowison

From CS294-10 Visualization Fa07

Jump to: navigation, search

Contents

[edit] Proposal

[edit] Group Member

  • Mark Howison

[edit] Description

The goal of this project is to construct interactive nomograms from user-inputted, multi-parameter functions. By drawing lines on the nomogram, users can perform calculations and visualize how perturbations of one parameter (i.e., along one scale of the nomogram) affect the values of the remaining parameters. While such visualizations are already possible for three or less parameter functions via graphs of surfaces and curves, displaying graphs for higher dimension functions requires slicing, animating, coloring, and other methods that may omit or obscure information. The nomogram's use of parallel axes, though it distorts the scales of the axes, does retain values for all parameters.

One challenge for this project will be designing and implementing an algorithm that can generate a nomogram from any input function. Geometric-based methods for nomogram construction are usually specific to a certain class of functions, such as f(x)*g(y)=h(z). Some classes of functions do not appear to have already established construction methods, for instance f(x)*g(y)*h(z)=i(w). It might be possible to use optimization rather than closed-form solutions, though this will likely produce only approximate nomograms that exhibit inaccuracies. Another option is to limit the algorithm to handle only those classes of functions with geometrically constructible nomograms.

[edit] Initial Problem Presentation

[edit] Midpoint Design Discussion

Status: I have created a Java 2D application that renders user-constructed nomograms that are hard coded. The application allows users to add points and lines and to create envelopes across axes that are colored by value. Currently, I am deciding between the following directions for future work:

  • Accepting arbitrary user input by parsing expressions, categorizing them into nomogram classes, and empirically constructing nomograms for non-categorizable ones.
  • A perceptual study that investigates differences between nomograms and traditional graphs for exemplary datasets.
  • A cognitive study that investigates users' conceptual change as they interact with nomograms.

[edit] Final Deliverables

The Java source code is located in:

Janomo/src/edu/berkeley/janomo

To run:

java -jar dist/Janomo.jar


[add comment]