Форум программистов, компьютерный форум CyberForum.ru

Выпуклость фигуры - C++

Восстановить пароль Регистрация
 
Infinite
1 / 1 / 0
Регистрация: 19.11.2012
Сообщений: 15
02.12.2012, 01:41     Выпуклость фигуры #1
Здравствуйте,возникла проблема с нахождением косинуса между векторами и в следствии самого угла
C++
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#include<iostream.h>
#include<math.h>
#include<string.h>
void main()
{double x0,y0,x1,y1,x2,y2,x3,y3,x4,y4,A,B,C,D,E,AB,BC,CD,DE,AE,yg1,yg2,yg3,yg4,yg5,M_PI;
M_PI=3.14;
A=(x0,y0);
B=(x1,y1);
C=(x2,y2);
D=(x3,y3);
E=(x4,y4);
cout<<"Vvedite x0"<<endl;
cin>>x0;
cout<<"Vvedite y0"<<endl;
cin>>y0;
cout<<"Vvedite x1"<<endl;
cin>>x1;
cout<<"Vvedite y1"<<endl;
cin>>y1;
cout<<"Vvedite x2"<<endl;
cin>>x2;
cout<<"Vvedite y2"<<endl;
cin>>y2;
cout<<"Vvedite x3"<<endl;
cin>>x3;
cout<<"Vvedite y3"<<endl;
cin>>y3;
cout<<"Vvedite x4"<<endl;
cin>>x4;
cout<<"Vvedite y4"<<endl;
cin>>y4;
AB=(x1-x0,y1-y0);
BC=(x2-x1,y2-y1);
CD=(x3-x2,y3-y2);
DE=(x4-x3,y4-y3);
AE=(x4-x0,y4-y0);
AB*BC==((x1-x0)*(x2-x1))+((y1-y0)*(y2-y1));
BC*CD==((x2-x1)*(x3-x2))+((y2-y1)*(y3-y2));
CD*DE==((x3-x2)*(x4-x3))+((y3-y2)*(y4-y3));
DE*AE==((x4-x3)*(x4-x0))+((y4-y3)*(y4-y0));
AE*AB==((x4-x0)*(x1-x0))+((y4-y0)*(y1-y0));
fabs(AB)==sqrt(pow((x1-x0),2)+pow((y1-y0),2));
fabs(BC)==sqrt(pow((x2-x1),2)+pow((y2-y1),2));
fabs(CD)==sqrt(pow((x3-x2),2)+pow((y3-y2),2));
fabs(DE)==sqrt(pow((x4-x3),2)+pow((y3-y2),2));
fabs(AE)==sqrt(pow((x4-x0),2)+pow((y4-y0),2));
cos(yg1)==(AB*BC)/(fabs(AB)*fabs(BC));
yg1=acos(yg1/M_PI*180);
cout<<"yg1 = "<<yg1<<endl;
cos(yg2)==(BC*CD)/(fabs(BC)*fabs(CD));
yg2==acos(yg2/M_PI*180);
cout<<"yg2 = "<<yg2<<endl;
cos(yg3)==(CD*DE)/(fabs(CD)*fabs(DE));
yg3=acos(yg3/M_PI*180);
cout<<"yg3 = "<<yg3<<endl;
cos(yg4)==(DE*AE)/(fabs(DE)*fabs(AE));
yg4=acos(yg4/M_PI*180);
cout<<"yg4 = "<<yg4<<endl;
cos(yg5)==(AE*AB)/(fabs(AE)*fabs(AB));
yg5=acos(yg5/M_PI*180);
cout<<"yg5 = "<<yg5<<endl;
if(yg1<180 , yg2<180 , yg3<180 , yg4<180 && yg5<180)
cout<<"Vipuklaya"<<endl;
else 
cout<<"Nevipuklaya"<<endl;
 
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.12.2012, 01:41     Выпуклость фигуры
Посмотрите здесь:

C++ Вводить название фигуры, выводить формулу для вычисления площади этой фигуры
Как проверить выпуклость N-угольника? C++
C++ Поворот фигуры
Площадь фигуры C++
C++ вращение фигуры
вращение фигуры C++
Задача: Фигуры C++
C++ Программа вычисления местонахождения точки относительно фигуры (лежит ли точка внутри, на контуре или вне фигуры)

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 03:18. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru