Lines Matching +defs:a +defs:t

50 /// @param a vector

52 function l_vec($a, $b) {
53 $ax = $a[1][0]-$a[0][0];
54 $ay = $a[1][1]-$a[0][1];
71 /// @param a vector
73 function l_vec9($a, $b) {
74 $ax = $a[1][0]-$a[0][0];
75 $ay = $a[1][1]-$a[0][1];
112 $a = array($arr[1], $arr[0]);
113 $c = l_vec($a, 6);
176 function veclen($a){
177 return sqrt($a[0] * $a[0] + $a[1] * $a[1]);
181 function vecsub($a, $b){
182 return array($a[0] - $b[0], $a[1] - $b[1]);
186 function vecdist($a, $b){
187 return veclen(vecsub($a, $b));
190 /// Returns dividing point of line between $a and $b that divide
191 /// the line by $t and 1 - $t.
192 function midPoint($a, $b, $t){
193 return array($a[0] * (1. - $t) + $b[0] * $t,
194 $a[1] * (1. - $t) + $b[1] * $t);
197 /// Obtain coordinates of a point on a quadratic bezier curve.
198 function quadraticBezierPoint($a, $b, $c, $t){
199 $ab = midPoint($a, $b, $t);
200 $bc = midPoint($b, $c, $t);
201 return midPoint($ab, $bc, $t);
204 /// Obtain coordinates of a point on a cubic bezier curve.
205 function cubicBezierPoint($a, $c, $d, $b, $t){
206 $ac = midPoint($a, $c, $t);
207 $cd = midPoint($c, $d, $t);
208 $db = midPoint($d, $b, $t);
209 $acd = midPoint($ac, $cd, $t);
210 $cdb = midPoint($cd, $db, $t);
211 return midPoint($acd, $cdb, $t);
215 /// Draws a cubic Bezier curve on image $im.
217 $a = array($prev["x"], $prev["y"]);
219 $c = isset($p["cx"]) && isset($p["cy"]) ? array($p["cx"], $p["cy"]) : $a;
222 // If both c and d control points are not defined, just draw a straight line,
224 imageline($im, $a[0], $a[1], $b[0], $b[1], $color);
231 $length = vecdist($a, $c)
236 $a0 = $a;
238 for($t = 0; $t <= $divs; $t++){
239 $p1 = cubicBezierPoint($a, $c, $d, $b, $t / $divs);
302 for($t = 0; $t <= $divs; $t++){
303 $p1 = quadraticBezierPoint($pts[0], $pts[1], $pts[2], $t / $divs);
345 $a = array();
347 $a[] = array($first2["cx"], $first2["cy"]);
349 $a[] = array($first2["dx"], $first2["dy"]);
351 $a[] = array($first2["x"], $first2["y"]);
352 $a[] = array($first["x"], $first["y"]);
353 l_hige($im, $a, $c);
358 $a = array();
360 $a[0] = array($last["dx"], $last["dy"]);
362 $a[0] = array($last["cx"], $last["cy"]);
364 $a[0] = array($last2["x"], $last2["y"]);
365 $a[1] = array($last["x"], $last["y"]);
366 l_hige($im, $a, $c);