Esempio n. 1
0
 public static function fromPoints($point_a, $point_b, $point_c)
 {
     $plan = new Plan();
     // n: AB x AC
     // u: AB
     // v: AC
     // p: OA
     $u = Vector::fromPoints($point_a, $point_b);
     $v = Vector::fromPoints($point_a, $point_c);
     $point = Vector::fromComponents($point_a->x(), $point_a->y(), $point_a->z());
 }
Esempio n. 2
0
 protected function vector($args)
 {
     // vector arg1 arg2 arg3 arg4 ...
     //
     // arg1: id
     // arg2: x
     // arg3: y
     // arg4: z
     //
     // add new vector with id.
     //
     if (count($args) > 3) {
         if (isset($args[0]) && isset($args[1]) && isset($args[2]) && isset($args[3])) {
             $x = (double) $args[1];
             $y = (double) $args[2];
             $z = (double) $args[3];
             $id = (string) $args[0];
             $vector = Vector::fromComponents($x, $y, $z);
             $vector->id($id);
             $this->_grid['vector'][$vector->id()] = $vector;
             $vector->display();
             echo "\n";
             return true;
         } else {
             echo "Check the arguments.\n";
             return false;
         }
     } elseif (count($args) == 3) {
         if (isset($args[0]) && isset($args[1]) && isset($args[2])) {
             $x = (double) $args[0];
             $y = (double) $args[1];
             $z = (double) $args[2];
             $id = 'v' . $this->_vector_counter++;
             $vector = Vector::fromComponents($x, $y, $z);
             $vector->id($id);
             $this->_grid['vector'][$vector->id()] = $vector;
             $vector->display();
             echo "\n";
             return true;
         } else {
             echo "Check the arguments.\n";
             return false;
         }
     } elseif (count($args) == 1) {
         if (isset($args[0])) {
             if ($u = $this->vec($args[0])) {
                 $u->display();
                 echo "\n";
             } else {
                 echo $args[0] . ": Undefined vector.\n";
             }
         } else {
             echo "Check the arguments.\n";
             return false;
         }
     } elseif (count($args) == 0) {
         if (empty($this->_grid['vector'])) {
             echo "No vectors defined so far.\n";
         } else {
             foreach ($this->_grid['vector'] as $v) {
                 $v->display();
                 echo "\n";
             }
         }
     } else {
         echo "Wrong arguments.\n";
         return false;
     }
 }