Чтобы нарисовать одиночную кривую Безье, параметр 1 ppt должен указывать на массив, содержащий координаты четырех точек. Первая из них является начальной точкой кривой, вторая и третья - управляющими точками, определяюКривые Безье щими форму кривой, а четвертая - конечной точкой. Пример рисования одиночной кривой Безье выглядит довольно просто:

POINT PointBz [4] - {{49. 71}. {77. 139}. {132. 60}. {186. 108}}; PolyBezier(hDC.Poi ntBz.4);

Чтобы нарисовать несколько соединяющихся между собой кривых, нужно добавлять к массиву PointBz по три точки. Начальная точка второй, дополнительной кривой будет совпадать с конечной точкой первой кривой, первая и вторая добавленные точки будут управляющими точками второй кривой, а третья станет конечной точкой. В общем случае число точек в массиве элементов типа POINT должно равняться утроенному числу соединяющихся кривых плюс еще одна точка.

Управляющие точки обычно не лежат на кривой. Они как бы притягивают к себе линию, отклоняя ее от прямой, соединяющей две опорные точки. В листинге 13.2 приведен код, выводящий три фигуры (рис. 13.3), каждая из которых состоит из пяти кривых Безье. Для экономии места создание и настройка элементов контекстов не показаны.

Кривые Безье

Рис. 13.3. Кривые Безье Листинг 13.2

POINT PtBz[] - {{200.25}.{200.25}.{215.90}. {215.90}.
{215.90}.{145.50}.{145.50}.
{145.50}.{225.45}.{225.45}.
{225.45}.{160.90}.{160.90}.
{160.90}.{200.25}.{200.25}};
POINT PtBzin « {{130.25}.{130.25}.{145.90}.
{145.90}.{145.90}.{110.50}.{75.50}.
{95.40}.{155.35}.{155.45}.
{155.45}.{90.90}.{90.90}.
{90.90}.{130.25}.{130.25}}"opengl4_164.html">⇐ Предыдущая| |Следующая ⇒