Практика программирования (Бейсик, Си, Паскаль)



         

Окружности, эллипсы и дуги - часть 2


Если углы задаются со знаком минус, то соответствующие концы дуг соединяются с центром, образуя круговой или эллиптический сектор. Такие фигуры могут использоваться для построения круговых диаграмм. Приведенный ниже пример демонстрирует построение дуги и сектора, вписывающихся в один и тот же центральный угол эллипсов разного размера. Углы начального и конечного радиус-векторов заданы в радианах и, соответственно, равны 30 и 60 градусам.

Программа 8_07.bas

RЕМ Построение дуги и сектора эллипса

SCREEN 12

VIEW (0,0)-(400,400)

LINE (0,200)-(400,200),7 :' построение "оси" .х

LINE (200,0)-(200,400),7 :' построение "оси" у

CIRCLE (200,200),120,4,,,.75 :' полный эллипс

CIRCLE (200,200),90,4,,,.75 :' полный эллипс

CIRCLE (200,200),120,15,.5236,1.0472,.75 :' белая дуга

CIRCLE (200,200),90,14,-.5236,-1.0472,.75 :' желтый сектор

END

Четвертый необязательный параметр в операторе CIRCLE задает явный цвет соответствующей фигуры, который может отличаться от цвета переднего плана, установленного по оператору C0L0R.

В BGI-пакете для построения каждой из описанных выше графических фигур используется отдельная процедура:

arc(x,у,a1,a2,r); //дуга окружности

circle(х,у,r); //окружность

ellipse(х,у,al,a2,rх,rу); //дуга эллипса или полный эллипс

В отличие от QBasic положение начального и конечного радиус-векторов здесь задается целочисленными значениями углов al и а.2 в градусах, которые могут быть как положительными, так и отрицательными. Второе отличие связано с явным заданием обеих полуосей эллипса гх и гу.




Содержание  Назад  Вперед