# Examples of graphics with J

Here are some examples and useful links for creating graphics with J.

## viewmat

Viewmat is a viewer for matrix data, including bitmap files.

```  Y=: 3&#. ^:_1 i.243
(255 255 0,0 0 255,:192 128 0) viewmat Y +./ . *. |: Y```

## plot

Plot is a general purpose plotting package. For example:

`   'key sin(exp),cos(exp)' plot (;(sin,:cos)@:^) -: >: i:3j100`

The same plot can be done (in J 6) with function plotting:

`   'key sin(exp),cos(exp)' plot _1 2;'sin@:^`cos@:^'`

More plot examples.

## image3

The image3 Addon provides utilities for accessing 24-bit jpeg, png, bmp, tga and portable anymaps from J.

## opengl

J has a complete interface to OpenGL, and allows direct calls to the underlying API. Here is a buckyball.

More OpenGL examples.

This is Cliff Reiter's page with most of the graphics written in J. Here is a Voronoi tiling;

## Rope Editor Plus

This is Norm Johnson's Lightwave plugin that does the calculations in J, see forum announcement.

## Turtle Geometry

The jturtle Addon was contributed by Fraser Jackson, and has commands for turtle geometry and some extensions to simplify references to Cartesian points, or points along a path. You can think of it as a turtle that remembers where it has been.

The following example uses the ability to capture numbered points and and then apply some J tools to display a rosette defined as joining all points on a regular polygon with all its chords. The four lines do the following:

1. create a set of numbered points

2. create a function to draw lines between points
3. create a function to join a point to all the others
4. join each point to all the others and display the graph

```   show repeat 20;'point (n =: n+1) fd 1 rt 18'[n=: _1
to 'goreturn a b';'goto b goto a'
to 'goreturnall a'; 'goreturn for a,.i.20'
show goreturnall for i.20```

## Diffusion-Limited Aggregation

Studio/Gallery (last edited 2011-12-11 00:26:09 by MarshallLochbaum)