3次ベジェ曲線アニメクラス
3次ベジェ曲線アニメクラス class PHP ファイル
bez_cla.php
MoveImage に戻る
<?php
class Bezier_3n {
// メンバ変数(プロパティ)、
//アクセス修飾子付与
private $we;
private $t_end;
private $t_dvp;
private $t;
private $tt;
private $y;
private $x;
//コンストラクタ
protected
function __construct ($bezier)
{
$we="";
if($bezier['ic'] == 1){
$we="-webkit-";
}
$t_end = 100 / $bezier['dv'];
$t_dvp =
($bezier['no'] - 1) * $t_end;
for($t = 0; $t <= $t_end; $t++){
$tt = $t / $t_end;
$x =
$bezier['x0']*pow((1-$tt),3)
+
$bezier['x1']*3*$tt*pow((1-$tt),2)
+
$bezier['x2']*3*pow($tt,2)*(1-$tt)
+
$bezier['x3']*pow($tt,3);
$y =
$bezier['y0']*pow((1-$tt),3)
+
$bezier['y1']*3*$tt*pow((1-$tt),2)
+
$bezier['y2']*3*pow($tt,2)*(1-$tt)
+
$bezier['y3']*pow($tt,3);
echo
$t + $t_dvp."%{".$we.
"transform:translate(".
$x."px,".$y."px);}";
}// for文 END
}// function __construct END
}// class Bezier_3n END
/*
x0:X軸-始点
y0:Y軸-始点
x1:X軸-制御点1
y1:Y軸-制御点1
x2:X軸-制御点2
y2:Y軸-制御点2
x3:X軸-制御点3
y3:Y軸-制御点3
x4:X軸-終点
y4:Y軸-終点
ic:ieとChromeの区別 0→ie 1→Chrome
*/
?>