Home My Page Projects Code Snippets Project Openings SML/NJ
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files

SCM Repository

[smlnj] View of /eXene/trunk/graph-util/spline-sig.sml
ViewVC logotype

View of /eXene/trunk/graph-util/spline-sig.sml

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2098 - (download) (annotate)
Thu Nov 2 15:53:59 2006 UTC (12 years, 7 months ago) by blume
File size: 1107 byte(s)
moved eXene to toplevel
(* spline-sig.sml
 *
 * COPYRIGHT (c) 1991 by AT&T Bell Laboratories  See COPYRIGHT file for details.
 *)

signature SPLINE = sig

    structure G : GEOMETRY

    (* curve:
     * Given four points (p0,p1,p2,p3), return a list of points corresponding to 
     * to a Bezier cubic section, starting at p0, ending at p3, with p1, p2 as
     * control points.
     *)
    val curve : (G.point * G.point * G.point * G.point) -> G.point list

    (* simpleBSpline:
     * Compute a simple B-spline with the given control points.
     *)
    val simpleBSpline : G.point list -> G.point list

    (* bSpline:
     *   bSpline ([p1]@l@[pn]) == simpleBSpline ([p1,p1,p1]@l@[pn,pn,pn])
     * The replication of p1 and pn constrains the resultant spline 
     * to connect p1 and pn.
     *)
    val bSpline : G.point list -> G.point list

    (* closedBSpline:
     * Compute a closed B-spline.
     *   closedBSpline (l as a::b::c::_) = simpleBSpline (l@[a,b,c])
     * Note that the first and last points of the result are the same.
     *)
    val closedBSpline : G.point list -> G.point list

  end (* SPLINE *)

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0