[Haskell-cafe] Rotating calipers
Tillmann Vogt
Tillmann.Vogt at rwth-aachen.de
Sat Aug 6 19:32:48 CEST 2011
Am 06.08.2011 13:12, schrieb mukesh tiwari:
> Hello all ,
Hi
> I am trying to understand rotating calipers [
> http://en.wikipedia.org/wiki/Rotating_calipers ] but i am not sure if
> understood this algorithm correctly . I tried to use the almost same
> algorithm given on wiki but with four calipers to solve the problem
> [ http://cgm.cs.mcgill.ca/~orm/rotcal.html ].
There are several algorithms mentioned on that page. Do you need the
diameter, width, or something else?
> My approach is find
> xminP, xmaxP, yminP ymaxP and their corresponding calipers will be ( 0
> * i - j ) , ( o * i + j ) , ( i + 0 * j ) and ( -i + 0 * j ). I
> implemented the algorithm in Haskell but its not working . I am not
> sure if i have followed the wiki algorithm correctly and could some
> one please tell me what is wrong with implementation. It would be
> great if some one can explain this algorithm in pseudo code which
> explains the rotating caliper and their implementation details . In
> case of indentation , see here [ http://hpaste.org/49907 ] .
> Thank you
> Mukesh Tiwari
I tried your code on one of my libraries. The convex hull function seems
to works correctly (I could send you a screenshot). I hope this narrows
the search down. Do you have some example data and what wrong result you
get?
In one of my libraries
(http://hackage.haskell.org/packages/archive/collada-types/0.3/doc/html/Graphics-Formats-Collada-GenerateObjects.html)
there is a function:
streamAnimation :: [(Float,Float,Float)] -> [SceneNode] -> [Animation]
that can visualize a stream of points by an animation. I use this
sometimes for debugging.
-Tillmann
More information about the Haskell-Cafe
mailing list