[plt-scheme] MrLib/graph.ss edges as splines
Cute. :)
But I think there'd still be more work to do, since the splines don't
line up with the arrow heads all the time.
Robby
On Dec 12, 2007 11:02 AM, Stephen De Gabrielle <stephen at degabrielle.name> wrote:
> Hi,
> Like a dill I only recently realised that MrEd had a spline draw feature.
>
> Just a fun here is a little mod of graph.ss that gives curved arrows.
>
> [It looks best for horizontal graphs...]
>
> ;line 593 comment out draw-line
> ; (send dc draw-line
> ; (+ dx from-x) (+ dy from-y) ; start
> ; (+ dx to-x) (+ dy to-y)); end
> ;include draw-spline
> (let* (
> (x1 (+ dx from-x)) ; start-point
> (y1 (+ dy from-y))
> (x2 (+ dx to-x)) ; end-point
> (y2 (+ dy to-y))
> (xmid (/ (+ x1 x2) 2)) ; mid-point for
> nice curve
> (ymid (/ (+ y1 y2) 2))
>
> (x3 (+ (/ x1 4) (/ (* 3 xmid) 4))) ;
> control point
> (y3 (+ (/ (* 3 y1) 4) (/ ymid 4)))
>
> (x4 (+ (/ (* 3 xmid) 4) (/ x2 4))) ;
> control point.
> (y4 (+ (/ ymid 4) (/ (* 3 y2) 4)))
>
> )
> (send dc draw-spline ; first bit
> x1 y1
> x3 y3 ; control point.
> xmid ymid)
> (send dc draw-spline ; second bit
> xmid ymid
> x4 y4
> x2 y2)
> )
>
>
> Cheers,
>
> Stephen
>
>
>
> --
> Stephen De Gabrielle
> s.degabrielle at ucl.ac.uk
> Telephone +44 (0)20 7679 5242 (x45242)
> Mobile 079 851 890 45
> http://www.uclic.ucl.ac.uk/annb/MaSI.html
> University College London Interaction Centre
> Remax House - 31/32 Alfred Place
> London - WC1E 7DP
> _________________________________________________
> For list-related administrative tasks:
> http://list.cs.brown.edu/mailman/listinfo/plt-scheme
>
>