Локальная система координат MbPlacement3D
Класс MbPlacement3D объявлен в файле mb_placement3d.h.
Локальная система координат в трёхмерном пространстве MbPlacement3D описывается начальной точкой origin и тремя некомпланарными векторами axisX, axisY, axisZ:
В большинстве случаев система координат является правой, а векторы системы ортонормированны. С помощью преобразований система координат может стать левой и не ортонормированной. Состояние локальной системы координат можно запросить с помощью методов:
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.