Контур на поверхности MbContourOnSurface
Класс MbContourOnSurface объявлен в файле cur_contour_on_surface.h.
Контур на поверхности MbContourOnSurface описывается поверхностью MbSurface surface и двумерным контуром MbContour contour в пространстве параметров поверхности. У кривой есть ещё некоторые данные, которые не обязательны и служат для ускорения работы методов кривой.
Контур на поверхности представляет собой составную кривую, поэтому может иметь изломы в точках стыковки сегментов двумерного контура. Контур на поверхности представляет собой отображение контура двумерного пространства параметров поверхности в трёхмерное пространство. Двумерный контур contour может располагаться за пределами области определения параметров поверхности. Область определения параметров контура на поверхности совпадает с областью определения параметров двумерного контура contour.
В методе PointOn( double & t, MbCartPoint3D & r ) радиус-вектор кривой r описывается векторной функцией
где point – точка двумерного контура, которая вычисляется методом contour → PointOn( t, point ). Координаты x и y двумерной точки point служат параметрами u и v поверхности surface(u,v). Контур на поверхности построен путём введения зависимости параметров поверхности u и v от некоторого общего для них параметра t: u = u(t), v = v(t). Эту зависимость описывает двумерный контур contour. Производная контура на поверхности вычисляется как сложная функция
где derive – производная двумерного контура, которая вычисляется методом contour → FirstDer( t, derive ). Производная контура на поверхности лежит в касательной плоскости поверхности, построенной в рассматриваемой точке.
Контур на поверхности приведен на рисунке:
Контур на поверхности может быть периодическим, если периодическим является двумерный контур contour или если периодической является поверхность surface, а крайние точки контура contour смещены на соответствующий период периодической по первому или второму параметру поверхности surface.
Периодический контур на поверхности обычно используется для описания границы этой поверхности.
Поверхностью surface контура на поверхности может служить любая поверхность, кроме поверхности, ограниченной кривыми MbCurveBoundedSurface. Если требуется построить контур на поверхности, ограниченной кривыми, то поверхностью будет служить базовая поверхность MbCurveBoundedSurface.