Sunday, 21 November 2010

Computational geometry: quick hull

The F#.NET Journal just published an article about computational geometry:

"Computing the convex hull of a set of points is a challenge of fundamental importance in computational geometry. Other tasks such as Delaunay triangulation can be built upon a convex hull algorithm and then tasks such as Ruppert's algorithm may be built upon those. This article describes the design and implementation of the quickhull algorithm in just 10 lines of F# code before going on to build a WPF-based GUI application that can be used to manipulate a convex hull interactively..."

To read this article and more, subscribe to The F#.NET Journal today!


Art said...

Very helpful. Thanks, again.


ali asghar heidari said...

mathematics,computational geometry,Gis,computer science collection of Ali Asghar Heidari

please add me to blog

Art said...

"...Key aspect of the GUI ... This design follows the mantra
'make illegal states unrepresentable'.
... Using data structures such as the option type ... revisit ... interactive manipulation"

Crystalline!, as always.

Art said...

Jon, QH uses "update" in several places. How do the uses (signatures) differ?

> let move canvas update (e: Input.MouseEventArgs) = ...
update i;;

let update (polygon: Shapes.Polygon) (ellipses: _ []) i =

let update = update polygon ellipses
canvas.MouseMove.Add(move canvas update)


Art said...

QH - "... this section is devoted to the computational aspect ... use the WPF vector type ... to simplfy our solution." GR8

Vector Graphics Editor -
"Although WPF provides a 2D Vector type we shall define our own that supports structural equality and comparison: ..." GR8

How to combine? Override WPF Vector? (Use XNA/DXn?) ... F# for Numerics ... other math.libs?

Art said...

How to convert to touch instead of mouse?

Art said...

How to convert to touch from mouse events?