Поверхность тора MbTorusSurface
Класс MbTorusSurface объявлен в файле surf_torus_surface.h.
Поверхность тора MbTorusSurface принадлежит к группе элементарных поверхностей MbElementarySurface. Поверхность тора описывается радиусом центров majorRadius и радиусом трубки minorRadius, заданными в локальной системе координат MbPlacement3D position.
Первый параметр поверхности отсчитывается по дуге от вектора position.axisX в направлении вектора position.axisY. Первый параметр поверхности u принимает значения на отрезке: umin ≤ u ≤ umax. Значения u = 0 и u = 2π соответствуют точке на плоскости XZ. Поверхность может быть периодической по первому параметру. У периодической поверхности umax - umin = 2π, у не периодической поверхности umax - umin < 2π.
Второй параметр поверхности отсчитывается по дуге от плоскости XY локальной системы координат поверхности в направлении вектора position.axisZ. Второй параметр поверхности v принимает значения на отрезке: vmin ≤ v ≤ vmax. Значения v = 0 и v = 2π соответствуют точке на плоскости XY локальной системы координат поверхности. Поверхность может быть периодической по второму параметру при majorRadius > minorRadius. У периодической поверхности vmax - vmin = 2π, у непериодической поверхности vmax - vmin < 2π.
В методе PointOn( double u, double v, MbCartPoint3D & s ) радиус-вектор поверхности s описывается векторной функцией
Поверхность тора приведена на рисунке:
Радиус трубки должен быть больше нуля: minorRadius > 0. Радиус центров должен быть не меньше радиуса трубки, взятого с обратным знаком: majorRadius > -minorRadius. Если majorRadius < minorRadius, то поверхность имеет полюс для параметра v = arccos(majorRadius / minorRadius) и v = 2π - arccos(majorRadius / minorRadius). Для граничных параметров поверхности должны соблюдаться неравенства: umin < umax, vmin < vmax.
Локальная система координат position может быть как правой, так и левой. Если локальная система координат правая, то нормаль направлена от трубки поверхности, если локальная система координат левая, то нормаль направлена внутрь трубки поверхности.