Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Абрамов С.А., Гнездилова Г.Г., Капустина Е.Н., Селюн М.И. Задачи по программированию [pdf]

.pdf
Скачиваний:
736
Добавлен:
02.05.2014
Размер:
6.04 Mб
Скачать

 

(x, y)

 

(x, y)

 

 

 

(xc , yc )

 

(xc , yc )

 

а

б

Рис. 81 875. Прямоугольник задан координатами левого верхнего и

правого нижнего угла, отрезок - координатами концов. Предполагается, что отрезок пересекает противоположные стороны прямоугольника так, как показано на рис. 82, а. Построить фигуру, изображенную на рис. 82, б (см. задачу 873).

а

Рис. 82

б

876. Даны натуральные числа xc , yc , r , х, у. Построить окружность с центром в точке (xc , уc) и радиусом r, а также отрезок с координатами концов (xc , уc) и (х, у). Отметить точку пересечения отрезка и окружности.

Воспользоваться тем, что прямая, проходящая через точки (x1, y1) и (x2, y2) может быть описана параметрическими уравнениями х= x1

+ et, y= y1+ f t, где

e = (x2 - x1)/d, f = (y2

- y1)/d, d = (x

2

x )2

+ ( y

2

y )2 .

 

 

1

 

1

Такой способ задания прямой отличается от указанного в задаче 864 тем, что при t = 1 мы получаем не второй конец отрезка (x2, y2), как в задаче 864, а точку, отстоящую от конца (x1, y1) на единичное расстояние. Из этого следует, что координаты точки пересечения отрезка с окружностью могут быть вычислены подстановкой в данные параметрические уравнения значения t = r, где r - радиус окружности.

877. Даны натуральные числа xc , yc , r , х, у. Построить окружность с центром в точке (xc , уc) и радиусом r, а также определить координаты хp, yp точки пересечения с окружностью невидимой прямой, проходящей через точки (xc , уc) и (х, у). Кроме того, построить отрезок с координатами концов:

а) (xc , уc) и (xp , уp); б) (x, у) и (xp , уp).

Отметить точку пересечения отрезка и окружности.

878. Даны натуральные числа x1, y1, x2, y2, действительное

(0 < < 1) . Построить отрезок с координатами концов (x1, y1), (x2, y2),

и восстановить перпендикуляр к отрезку из точки (x3, y3), делящей его в отношении /(1) .

Воспользоваться тем, что прямая, перпендикулярная отрезку с концами (x1, y1), (x2, y2) и проходящая через точку (x3, y3), описывается

параметрическими уравнениями

x = x3 - ft, y = y3 + et или x = x3 + ft, y = y3 - et, где e = (x2 - x1)/d, f = (y2 - y1)/d, d = (x2 x1)2 + ( y2 y1)2

Расстояние произвольной точки на этой прямой от точки (x3, y3) определяется параметром t (см. также задачу 864).

879. Даны натуральные числа х1, у1, х2, у2, х3, у3. Построить отрезок с координатами концов (x1, y1), (x2, y2) и опустить на него или на его продолжение перпендикуляр из точки (x3, y3) (см. предыдущую задачу и задачу 876)

880. Даны натуральные числа х1, у1, х2, у2. Построить отрезок с координатами концов (x1, y1) и (x2, y2) и какой-нибудь отрезок, параллельный и равный по длине первому отрезку и отстоящему от него на 30 единиц (см. задачу 871 и 878).

881. Пусть стрелка, соединяющая две произвольные точки, устроена, как в задаче 127. Даны натуральные числа x1, y1, x2, y2.

Построить стрелку, направленную из точки (x1, y1) в точку (x2, y2). (Способ определения координат точки, лежащей на отрезке с заданными концами и делящий отрезок в заданном отношении, см. в задаче 864. Способ построения прямой, перпендикулярной данной, см. в задаче 878).

882. Даны натуральные числа х, у, r, x1, y1, h, w. Построить окружность радиуса r с центром в точке (x, у), прямоугольник с центром в точке (x1, y1) высотой h и шириной w, а также отрезок, соединяющий центр окружности с центром прямоугольника (рис. 83).

(x, y)

(x, y)

(x1, y1)

 

(x1, y1)

 

 

 

Рис. 83

 

Рис. 84

883. Даны натуральные числа х, у, r, x1, y1, h, w. Построить окружность радиуса r с центром в точке (x, у), прямоугольник с центром в точке (x1, y1) высотой h и шириной w, а также отрезок, соединяющий окружность с прямоугольником. Отрезок должен лежать на невидимой прямой, проходящей через центры окружности и прямоугольника и начинаться в точке пересечения этой прямой с окружностью и заканчиваться в точке пересечения прямой с прямоугольником(рис. 84).

(Способ определения координат точек пересечения прямой проходящей через две заданные точки, с окружностью и прямоугольником см. в задачах 876 и 873.)

884.Даны натуральные числа х, у, n, символы s1 , ..., sn .

Последовательность символов s1,...,sn вывести так, чтобы точка с координатами (х, у) была расположена (рис. 85):

а) по центру последовательности; б) с левого края последовательности;

в) с правого края последовательности.

ТЕКСТ

ТЕКСТ

ТЕКСТ

(x, y)

(x, y)

(x, y)

а

б

в

Рис. 85 885. Пусть в двумерной декартовой системе координат задана

плоская фигура и пусть (x, y)- координаты одной из ее точек. Рассмотрим, как изменятся эти координаты, если к фигуре применить одно из следующих преобразований: перенос вдоль осей координат, поворот вокруг начала координат, растяжение (сжатие) по осям координат.

1) Перенос на tx единиц по оси ОХ и ty единиц по оси OY:

 

(x, y)

(x tx , y ty ).

2)

Растяжение (сжатие) по оси ОХ в sx ; раз и по оси OY в sy

раз:

 

 

 

(x, y)

(sx x, sy y).

3)

Поворот вокруг начала координат на угол t радиан:

 

(x, y)

(x cos t + y sin t, x sin t + y cos t).

Треугольник задан координатами вершин. Построить его, а затем перенести на десять единиц по оси ОХ и на пять единиц по оси

OY.

886. Даны натуральные числа xc , yc , r и действительное число t.

Построить правильный пятиугольник, вписанный в окружность с центром в точке (xc , yc ) и радиусом r, после чего повернуть его относительно начала координат на угол t радиан (см. предыдущую задачу).

887. Даны натуральные числа xc , yc , r, sx , sy . Построить правильный шестиугольник с центром в точке (xc , yc ) и стороной r,

после чего растянуть (сжать) его по оси ОХ в sx раз, а по оси OY- в sy

раз (см. задачу 885).

888. Построить фигуру, изображенную на рис. 86. В центре фигуры находится равносторонний треугольник с заданной стороной (см. задачу 885).

889. Выполнить задания а) - е) задачи 849, после чего применить к построенным фигурам следующие преобразования:

а) перенос по оси ОХ на 10 единиц в направлении, обратном направлению оси;

б) поворот относительно начала координат на угол π 4 радиан;

в) растяжение (сжатие) по оси OY в два раза (см. задачу 885).

890. Построить спираль, описанную в задаче 851, после чего применить к ней преобразования а) - в) предыдущей задачи.

891. Даны натуральные числа xc , yc , a, b и действительное t.

Начертить эллипс с центром в точке (xc , yc ) , большой осью a, малой осью b, большая ось образует угол t радиан с положительной полуосью

ОХ (рис. 87).

Воспользоваться следующим алгоритмом. Построить эллипс с центром в начале координат, с большой и малой осями, совпадающими с осями ОХ и OY системы координат (параметрические уравнения такого эллипса даны в задаче 849). После чего применить к эллипсу следующие преобразования: поворот на угол t радиан и перенос по оси

ОХ на xc единиц, по оси OY - на yc единиц (см. задачу 885).