Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры по информатике.DOC
Скачиваний:
29
Добавлен:
02.05.2014
Размер:
1.68 Mб
Скачать

2. 1. 3. Уравнение прямой на плоскости

При решении различных задач конструирования используются графические редакторы и специальные программы автоматизированного конструирования. С помощью таких программ можно рисовать на экране различные рисунки, эскизы деталей. В программах графического редактора используются формулы из аналитической геометрии на плоскости и в пространстве. Приведем уравнения, позволяющие строить простейшие фигуры на плоскости. Пусть на плоскости задана правая прямоугольная система координат XoY.

Уравнение прямой, проходящей через две точки "1" и "2":

Y

2

y2

* (Xt, Yt)

1

y1 alf

0 x1 x2 X

y = F(x) = D*(x-x1)+y1; или y = D*x+D1;

где D = tg(alf) = (y2-y1)/(x2-x1); D1=y1-D*x1;

Уравнение прямой в общем виде:

F(x,y) = A*x + B*y + C = 0;

где A= y2-y1; B=-(x2-x1); C= -A*x1 - B*y1;

Рассмотрим задачи, связанные с определением принадлежности точки с координатами (Xt, Yt) области, ограниченной заданной прямой Y=F(x).

При Yt > Y = F(Xt) получаем:

Yt > D*(Xt-x1)+y1; или F(x,y)= A*Xt + B*Yt + Ci > 0; где (B > 0)

- неравенства, определяющие область точек (Xt, Yt), лежащих выше прямой Y=Fi(x).

Для прямой, параллельной оси "Y" при Xt>x1 - точки лежат правее прямой x=x1.

118

Приведем неравенства, определяющие область точек (Xt, Yt) фигур:

a) прямоугольник: |Yt|<b and |Xt|<a; площадь S=4*a*b;

b) ромб: a*|Yt|+b*|Xt|<a*b; площадь S=2*a*b;

c) параллелограмм: |Yt|<b and (c-a)*Yt-b*(a+c)<2*b*Xt<(c-a)*Yt+b*(a+c);

площадь S=2*b*(a+c);

b

-a a

-b

Рассмотрим область треугольника, заданного координатами трех вершин:

1 - (x1, y1), 2 - (x2, y2), 3 - (x3, y3). Площадь треугольника:

S = 0. 5*abs((x1-x2)*(y1+y2)+(x2-x3)*(y2+y3)+(x3-x1)*(y3+y1))

Пусть прямая F1(x,y)=0 проходит через точки 1 и 2. Точка (Xt, Yt), лежащая внутри треугольника находится с той же стороны, что и точка 3, тогда неравенства для обоих точек имеют одинаковый знак, т. е. их произведение положительно:

2

1 * (Xt, Yt)

3

F1(Xt,Yt)* F1(x3,y3) > 0

Аналогично для других сторон треугольника, получаем:

F2(Xt,Yt)* F2(x1,y1) > 0

F3(Xt,Yt)* F3(x2,y2) > 0

Выполнение трех неравенств определяет точку в треугольнике.

Практическое задание N 2. 7

y0

x0

1. Рассчитать число попаданий при стрельбе в прямоугольник, параллелограмм, ромб, смещенные на x0, y0 и в треугольник, заданный координатами своих вершин. Фигуры находятся внутри круга радиуса R. Разброс точек равномерный по площади круга: угол f=2*Pi*Random; радиус r=R*Random. Сравнить число попаданий с теоретической вероятностью, равной отношению площади фигуры к площади круга. При визуализации стрельбы точки, попавшие в мишень, отмечать другим цветом.