Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
Convert(3)	      User Contributed Perl Documentation	    Convert(3)

NAME
       Math::Bezier::Convert - Convert cubic and quadratic bezier each other.

SYNOPSIS
	 use Math::Bezier::Convert;

	 @new_cubic = divide_cubic($cx1, $cy1, $cx2, $cy2, $cx3, $cy3, $cx4, $cy4, $t);
	 @new_quad  = divide_quadratic($cx1, $cy1, $cx2, $cy2, $cx3, $cy3, $t);
	 @quad = cubic_to_quadratic(@cubic);
	 @cubic	= quadratic_to_cubic(@quad);
	 @lines	= cubic_to_lines(@cubic);
	 @lines	= quadratic_to_lines(@cubic);

DESCRIPTION
       Math::Bezier::Convert provides functions	to convert quadratic bezier to
       cubic, to approximate cubic bezier to quadratic,	and to approximate
       cubic and quadratic bezier to polyline.

       Each function takes an array of the coordinates of control points of
       the bezier curve.  Cubic	bezier consists	of one ANCHOR control point,
       two DIRECTOR control points, one	ANCHOR,	two DIRECTORS, ... and the
       last ANCHOR.  Quadratic bezier consists of one ANCHOR, one DIRECTOR,
       ... and the last	ANCHOR.	 The curve pass	over the ANCHOR	point, but
       dose not	the DIRECTOR point.  Each point	consists of X and Y
       coordinates.  Both are flatly listed in the array of the	curve, like
       ($x1, $y1, $x2, $y2, ...).

       divide_cubic( $cx1, $cy1, $cx2, $cy2, $cx3, $cy3, $cx4, $cy4, $t	)
	   divides one segment of the cubic bezier curve at ratio $t, and
	   returns new cubic bezier which has two segment (7 points).

       divide_quadratic( $cx1, $cy1, $cx2, $cy2, $cx3, $cy3, $t	)
	   divides one segment of the quadratic	bezier curve at	ratio $t, and
	   returns new quadratic bezier	which has two segment (5 points).

       cubic_to_quadratic( @cubic )
	   approximates	cubic bezier to	quadratic bezier, and returns an array
	   of the control points of the	quadratic bezier curve.

       quadratic_to_cubic( @quadratic )
	   converts quadratic bezier to	cubic bezier, and returns an array of
	   the control points of the cubic bezier curve.

       cubic_to_lines( @cubic )
	   approximates	cubic bezier to	polyline, and returns an array of
	   endpoints.

       quadratic_to_lines( @cubic )
	   approximates	quadratic bezier to polyline, and returns an array of
	   endpoints.

   GLOBALS
       $Math::Bezier::Convert::APPROX_QUADRATIC_TOLERANCE
       $Math::Bezier::Convert::APPROX_LINE_TOLERANCE
	   Tolerance of	the distance between the half point of the cubic
	   bezier and the approximation	point.	Default	is 1.

       $Math::Bezier::Convert::CTRL_PT_TOLERANCE
	   Tolerance of	the ANCHOR-DIRECTOR distance ratio of quadratic	to
	   cubic.  Default is 3.  It must be specified more than 1.5.

   EXPORT
       None by default.	 All functions described above are exported when
       ':all' tag is specified.	 All global variables are not exported in any
       case.

COPYRIGHT
       Copyright 2000 Yasuhiro Sasama (ySas), <ysas@nmt.ne.jp>

       This library is free software; you can redistribute it and/or modify it
       under the same terms as Perl itself.

SEE ALSO
       perl(1).

perl v5.24.1			  2017-07-02			    Convert(3)

NAME | SYNOPSIS | DESCRIPTION | COPYRIGHT | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Math::Bezier::Convert&sektion=3&manpath=FreeBSD+12.1-RELEASE+and+Ports>

home | help