- Машинная графика
- Рисуем? Где? Чем?
- Что позволяет рисовать система VB?
- Работа с отдельными точками
- Отрезки прямых и прямоугольники
- Окружности, эллипсы, дуги и сектора
- Очистка канвы графического объекта
- Что позволяют рисовать системы BCB и Delphi?
- Отрезки прямых и ломаные
- Стандартные прямоугольники
- Нестандартные многоугольники
- Кривые второго порядка
- Обмен с графическими файлами
- Вывод символьных и числовых данных на канве
- Отображение текстовой и числовой информации в VB
- Работа с текстами в BCB и Delphi
- Графические объекты в системе VB
- Графические объекты в системах BCB и Delphi
- Копирование растровых изображений
- Создание монотонно изменяющегося фона
- Формирование регулярных заливок замкнутых областей в BCB
- Формирование регулярных заливок замкнутых областей в Delphi
Кривые второго порядка
Опубликовано admin в Сб, 05/08/2010 - 20:50
К кривым второго порядка относятся только эллипсы, их дуги, сегменты и сектора, вписывающиеся в прямоугольник, заданный координатами противоположных вершин — (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}
