Пропустить навигацию.
Главная

Кривые второго порядка

К кривым второго порядка относятся только эллипсы, их дуги, сегменты и сектора, вписывающиеся в прямоугольник, заданный координатами противоположных вершин — (x1,y1) и (x2,y2). Если окаймляющий прямоугольник оказывается квадратом, то воспроизводятся окружности или их фрагменты (дуги, сегменты или сектора). Лучи, проведенные из центра прямоугольника в точки (x3,y3) и (x4,y4), определяют границы фрагментов эллипса. Дуги, сегменты и сектора строятся от начального радиус-вектора к конечному радиус-вектору против часовой стрелки в Windows-95/98 и по часовой стрелке в Windows NT.

Для построения границы дуги с использованием текущих характеристик пера применяется метод Arc:

имя_объекта->Canvas->Arc(x1,y1,x2,y2,x3,y3,x4,y4); //BCB

имя_объекта.Canvas.Arc(x1,y1,x2,y2,x3,y3,x4,y4); {Delphi}

Построение границы эллипса и заливка его сегмента (т.е. области между дугой и хордой) осуществляется с помощью метода Chord:

имя_объекта->Canvas->Chord(x1,y1,x2,y2,x3,y3,x4,y4); //BCB

имя_объекта.Canvas.Chord(x1,y1,x2,y2,x3,y3,x4,y4); {Delphi}

Для аналогичного построения залитого сектора используется метод Pie:

имя_объекта->Canvas->Pie(x1,y1,x2,y2,x3,y3,x4,y4); //BCB

имя_объекта.Canvas.Pie(x1,y1,x2,y2,x3,y3,x4,y4); {Delphi}

Построение границы полного эллипса и заливка его внутренности производятся с помощью метода Ellipse:

имя_объекта->Canvas->Ellipse(x1,y1,x2,y2); //BCB

имя_объекта.Canvas.Ellipse(x1,y1,x2,y2); {Delphi}