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



         

Окружности, эллипсы и дуги


В системе QBasic полные окружности, эллипсы, их дуги или соответствующие сектора воспроизводятся с помощью одного и того же оператора

CIRCLE:

CIRCLE (x,y),R [,c] : ' Полная окружность

CIRCLE (x,у),R,[с],al,a2 : ' Дуга окружности

CIRCLE (x,y),R,[с],-al,-a2 : ' Круговой сектор

CIRCLE (x,y),R,[с],,,k : ' Полный эллипс

CIRCLE (x,y),R,[с],al,a2,k : ' Дуга эллипса

CIRCLE (x,y),R,[с],-al,-a2,k : ' Эллиптический сектор

Координаты центра могут быть заданы как абсолютными, так и относительными (CIRCLE STEP(х,у)...) значениями. Для окружности R задает радиус, а для эллипса R и k участвуют в определении полуоси а (вдоль оси х) и полуоси b (вдоль оси у). При k<la = RHb = k*R, а При k > 1 а = k * R и

b = R. Проведите компьютерный эксперимент со следующей программой:

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

REM Построение эллипсов SCREEN 12

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

F0R X=10 T0 390 STEP 10

F0R Y=10 T0 390 STEP 10

LINE (X,10)-(X,390),7: ' построение вертикальных линий сетки

LINE (10,Y)-(390,Y),7: ' построение горизонтальных линий сетки NEXT Y NEXT X

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

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

CIRCLE (200,200),120,15,,,4/3 : ' белый эллипс

CIRCLE (200,200),120,14,,,3/4 : ' желтый эллипс

END

В квадрате со стороной 400 пикселов с шагом в 10 пикселов строится серая сетка и по центру зоны вывода проводятся желтые координатные оси. Затем строятся белый и желтый эллипсы с центрами в середине области графики. На этом рисунке можно легко определить размеры полуосей каждого из эллипсов.

В построении дуг принимают участие два угла al и а2, задаваемые в радианах. Их абсолютные значения принадлежат интервалу [0,2хл]. Углы отсчитываются от положительного направления оси х против часовой стрелки. Угол al задает положение начального радиус-вектора, проведенного из центра в начало дуги, а угол а2 — положение конечного радиус-вектора. Вообще говоря, это справедливо для дуг окружности. Для дуг эллипсов углы приходится подбирать, т. к. параметры оператора используются сначала для вычисления точек на дуге окружности, при трансформации которой в дугу эллипса углы начального и конечного радиус-векторов искажаются.




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