Локальная система координат MbPlacement3D

Класс MbPlacement3D объявлен в файле mb_placement3d.h.

Локальная система координат в трёхмерном пространстве MbPlacement3D описывается начальной точкой origin и тремя некомпланарными векторами axisX, axisY, axisZ:

../../../../_images/O.1.4.1.png

В большинстве случаев система координат является правой, а векторы системы ортонормированны. С помощью преобразований система координат может стать левой и не ортонормированной. Состояние локальной системы координат можно запросить с помощью методов:

  • bool IsLeft() — является ли система координат левой;

  • bool IsRight() — является ли система координат правой;

  • bool IsTranslation() — присутствует ли сдвиг начала origin системы координат;

  • bool IsRotation() — присутствует ли поворот системы координат относительно глобальной;

  • bool IsOrt() — является ли система координат ортогональной, но ненормированной;

  • bool IsSingle() — совпадает ли система координат с мировой СК;

  • bool IsNormal() — является ли система координат ортонормированной;

  • bool IsOrthogonal() — является ли система координат ортогональной;

  • bool IsCircular() — является ли система координат ортогональной с равными по длине осями axisX, axisY, в которой окружность остается окружностью;

  • bool IsIsotropic() — является ли система координат ортогональной с равными по длине осями axisX, axisY, axisZ, в которой объекты не искажаются, а только масштабируются;

  • bool IsAffine() — является ли система координат афинной (допускает сдвиг, масштабирование и наклон осей).

Локальная система координат является декартовой. Точка в декартовой системе координат определяется тремя координатами x, y, z. Локальная система может выступать в роли цилиндрической или сферической системы координат.

Локальная система координат MbPlacement3D может использоваться для задания цилиндрической системы координат. В этом случае начало цилиндрической системы совпадает с началом декартовой, ось Oz совпадает с осью Z декартовой системы, а основная плоскость совпадает с плоскостью XY.

Точка в цилиндрической системе координат определяется тремя координатами r, f, z:

  • r, f являются полярными координатами проекции точки на основную плоскость;

  • r задаёт длину проекции радиуса-вектора;

  • f задаёт полярный угол проекции радиуса-вектора, z задаёт расстояние от точки до основной плоскости.

При использовании локальной системы координат MbPlacement3D в роли сферической системы координат точка описывается тремя координатами r, f, w:

  • r задаёт расстояние от начала координат до точки (длину радиуса-вектора);

  • f задаёт угол между проекцией радиуса-вектора на плоскость и лучом в этой плоскости (долготу);

  • w задаёт угол между радиус-вектором и нормалью к плоскости сферической системы координат (полярное расстояние).

Плоскость сферической системы координат совпадает с плоскостью XY декартовой системы, а долгота f отсчитывается от оси X в сторону положительного направления оси Y.