Сферическая поверхность MbSphereSurface
Класс MbSphereSurface объявлен в файле surf_sphere_surface.h.
Сфера MbSphereSurface принадлежит к группе элементарных поверхностей MbElementarySurface. Сфера описывается радиусом radius, заданным в локальной системе координат 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 соответствует точке на плоскости XY локальной системы координат поверхности. Поверхность непериодическая по второму параметру.
В методе PointOn( double u, double v, MbCartPoint3D & s ) радиус-вектор поверхности s описывается векторной функцией
Сфера приведена на рис. 1:
Рис. 1
Радиус сферы должен быть больше нуля: radius > 0. Сфера имеет полюсы для параметра v = π/2 и v = -π/2. Для граничных параметров поверхности должны соблюдаться неравенства: umin < umax, vmin < vmax, vmax ≤ π/2, vmin ≥ -π/2.
Локальная система координат position может быть как правой, так и левой. Если локальная система координат правая, то нормаль направлена наружу сферы, если локальная система координат левая, то нормаль направлена внутрь сферы.