Пример #1
0
$sitDown = new servo_modelBlank();
$sitDown->timeWork = $stepTime;
$sitDown->timeFrame = $timeFrame;
$sitDown->repeats = 0;
$sitDown->addKeyFrame($st1);
$sitDown1 = new servo_modelBlank();
$sitDown1->timeWork = $stepTime;
$sitDown1->timeFrame = $timeFrame;
$sitDown1->repeats = 0;
$sitDown1->addKeyFrame($st2);
$sitDown2 = new servo_modelBlank();
$sitDown2->timeWork = $stepTime;
$sitDown2->timeFrame = $timeFrame;
$sitDown2->repeats = 0;
$sitDown2->addKeyFrame($st3);
$sitDown3 = new servo_modelBlank();
$sitDown3->timeWork = $stepTime;
$sitDown3->timeFrame = $timeFrame;
$sitDown3->repeats = 0;
$sitDown3->addKeyFrame($st4);
$tl->addModel($sitDown);
$tl->addModel($sitDown1);
$tl->addModel($sitDown2);
$tl->addModel($sitDown1);
$tl->addModel($sitDown2);
$tl->addModel($sitDown3);
// подсчитать модели - разложить их по таймлайну.
$tl->calculateTimeLine();
/*
$time=0;
$time2=0;
Пример #2
0
// тест
include_once "ServoTimeLine.cls.php";
$tl = new rxServoTimeLine();
// первая модель передвижения----------------------------------------------------------------
$frmPack = array("s1" => array(array("angle" => 0, "time" => 0, "speed" => STL_SPEED_ACCELERATION), array("angle" => 45, "time" => 1000, "speed" => STL_SPEED_NORMAL), array("angle" => 135, "time" => 4000, "speed" => STL_SPEED_DECELERATION), array("angle" => 180, "time" => 5000, "speed" => STL_SPEED_NORMAL)), "s2" => array(array("angle" => 0, "time" => 0, "speed" => STL_SPEED_NORMAL), array("angle" => 180, "time" => 5000, "speed" => STL_SPEED_NORMAL)));
// создать модель поведения на основе созданных кадров
$model = new servo_modelBlank();
$model->timeWork = 5000;
$model->timeFrame = 200;
$model->repeats = 1;
$model->addKeyFrame($frmPack);
$tl->addModel($model);
// вторая модель передвижения----------------------------------------------------------------
$frmPack2 = array("s2" => array(array("angle" => 0, "time" => 0, "speed" => STL_SPEED_NORMAL), array("angle" => 180, "time" => 2000, "speed" => STL_SPEED_NORMAL)));
$model2 = new servo_modelBlank();
$model2->timeWork = 2000;
$model2->timeFrame = 100;
$model2->repeats = 0;
$model2->addKeyFrame($frmPack2);
$tl->addModel($model2);
// подсчитать модели - разложить их по таймлайну.
$tl->calculateTimeLine();
$time = 0;
$time2 = 0;
for ($i = 0; $i < sizeof($tl->servoKeys); $i++) {
    // пауза между фреймами
    $time = $tl->servoKeys[$i];
    if ($time2 > 0) {
        usleep((int) ($time - $time2 * 1000));
    }