LinuxCNC Documentation

СИНТАКСИС

#include <posemath.h>
struct PM_CARTESIAN;

КОНСТРУКТОРИ

PM_CARTESIAN()

Побудуйте точку <0,0,0>.

PMCARTESIAN(double x, double y, double z)

Побудуйте точку (x, y, z).

PMCARTESIAN(const PM_CARTESIAN &v)

Створіть копію точки v.

ДАНІ

double x, y, z ;

ОПЕРАТОРИ

operator[](int n);

Повернути n-ту компоненту вектора (x=0, y=1, z=2)
ВИПРАВЛЕННЯ: Незрозуміло.

int operator==(PM_CARTESIAN v1, PM_CARTESIAN v2_)
int operator!=(PM_CARTESIAN v1, PM_CARTESIAN v2_)

Поелементний оператор рівності та нерівності

PM_CARTESIAN operator+(PM_CARTESIAN v1, PM_CARTESIAN v2)
PM_CARTESIAN operator-(PM_CARTESIAN v1, PM_CARTESIAN v2)

Додавання та віднімання векторів

PM_CARTESIAN operator*(double s, PM_CARTESIAN v)
PM_CARTESIAN operator*(PM_CARTESIAN v, double s)

Скалярне множення v на s.

PM_CARTESIAN operator/(PM_CARTESIAN v, double s)

Скалярне множення v на 1/s

ІНШІ ФУНКЦІЇ НА ОБ’ЄКТАХ PM_CARTESIAN

double dot(PM_CARTESIAN vl, PM_CARTESIAN v2)

Повертає скалярний добуток двох векторів. Обидва вектори повинні мати однакову довжину, повернене значення – це сума попарних добутків компонентів векторів.

PM_CARTESIAN cross(PM_CARTESIAN v1, PM_CARTESIAN v2)

Повертає векторний добуток двох векторів, який у 3D дає вектор, ортогональний як до v1, так і до v2. Див. https://en.wikipedia.org/wiki/Cross_product.

PM_CARTESIAN norm(PM_CARTESIAN v)

FIXME: Це просто нормалізує v, чи не так?