Форум программистов, компьютерный форум, киберфорум
Наши страницы
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
nkSuefa
0 / 0 / 0
Регистрация: 18.01.2018
Сообщений: 29
1

У квадрата ABCD на плоскости известны координаты двух противоположных вершин - точек A и C. Найти координаты точек B и

18.01.2018, 10:42. Просмотров 613. Ответов 3
Метки нет (Все метки)

У квадрата ABCD на плоскости известны координаты двух противоположных вершин -
точек A и C. Найти координаты точек B и D. Расположение квадрату произвольное: его
стороны не обязательно параллельны координатным осям.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.01.2018, 10:42
Ответы с готовыми решениями:

Найти периметр четырехугольника ABCD, если известны координаты его вершин
Найти периметр четырехугольника АВСD, если известны координаты его ...

Координаты точек плоскости
1. Даны две последовательности целых чисел а1, а2,..., аn и b1, b2,..., bn....

В одномерном массиве с четным количеством элементов (2N) находятся координаты N точек плоскости
В одномерном массиве с четным количеством элементов (2N) находятся координаты N...

В одномерных массивах Х и Y одинакового размера n хранятся координаты n точек плоскости. Определить, сколько треугольников с вершинами в данных точках
В одномерных массивах Х и Y одинакового размера n хранятся координаты n точек...

Известны координаты вершин треугольника
Известны координаты вершин треугольника ABC. Определить принадлежит ли вводимая...

3
Puporev
Модератор
55428 / 42551 / 29405
Регистрация: 18.05.2008
Сообщений: 100,668
18.01.2018, 12:52 2
Можно по разному, например так.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
var x1,y1,x2,y2,x3,y3,x4,y4,xc,yc,d,u:real;
begin
writeln('Введите координаты вершины А');
readln(x1,y1);
writeln('Введите координаты вершины C, противолежащей вершине А');
readln(x3,y3);
//координаты центра
xc:=(x1+x3)/2;
yc:=(y1+y3)/2;
//половина длины диагонали
d:=0.5*sqrt(sqr(x1-x3)+sqr(y1-y3));
if x1=x3 then
 begin
  x2:=xc-d;
  y2:=yc;
  x4:=xc+d;
  y4:=yc;
 end
else if y1=y3 then
 begin
  x2:=xc;
  y2:=yc-d;
  x4:=xc;
  y4:=yc+d;
 end
else
 begin
  u:=arctan(abs(y1-yc)/(xc-x1));
  x2:=xc+d*cos(u+pi/2);
  y2:=yc-d*sin(u+pi/2);
  x4:=xc+d*cos(u-pi/2);
  y4:=yc-d*sin(u-pi/2);
 end;
writeln('x2=',x2:0:1,' y2=',y2:0:1);
writeln('x4=',x4:0:1,' y4=',y4:0:1);
end.
0
Cyborg Drone
Модератор
5472 / 3289 / 2480
Регистрация: 17.08.2012
Сообщений: 10,570
18.01.2018, 19:40 3
Можно проще. Если перенести начало координат в пересечение диагоналей квадрата, то закономерность координат вершин квадрата станет очевидной.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
var
  xa, ya, xb, yb, xc, yc, xd, yd, x0, y0, xv, yv: real;
 
begin
  writeln('Введите координаты вершины А:');
  write('xa = ');
  readln(xa);
  write('ya = ');
  readln(ya);
  writeln('Введите координаты вершины C, противолежащей вершине А:');
  write('xc = ');
  readln(xc);
  write('yc = ');
  readln(yc);
  x0 := (xa + xc) / 2; //координаты пересечения диагоналей
  y0 := (ya + yc) / 2;
  xv := xa - x0; //вектор одной из вершин относительно пересечения диагоналей
  yv := ya - y0;
  xb := x0 - yv; //координаты вершин B и D
  yb := y0 + xv;
  xd := x0 + yv;
  yd := y0 - xv;
  writeln('xb = ', xb :0:5, ', yb = ', yb :0:5);
  writeln('xd = ', xd :0:5, ', yd = ', yd :0:5);
  readln
end.
0
Puporev
Модератор
55428 / 42551 / 29405
Регистрация: 18.05.2008
Сообщений: 100,668
18.01.2018, 19:46 4
Вертелось в голове это решение, но что-то заклинило.

Не по теме:

и потом простые решения для средних умов.

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.01.2018, 19:46

Составить программу, которая рассматривает 6 чисел как координаты 3 точек на плоскости и выводит лежат ли они на одной прямой (времени мало!)
UPD. Задача по сабжу была легкой, только было нудное условие одно. Осталась еще...

Даны координаты двух точек Определить какая из них находится дальше от начала координат
Даны координаты двух точек Определить какая из них находится дальше от начала...

Найти координаты точек пересечения прямой и окружности
1) на цикл if Найти координаты точек пересечения прямой y=kx+b и окружности...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru