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()); }
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; } }