3 / 3 / 2
Регистрация: 10.02.2014
Сообщений: 91
1

Нахождение угла

19.06.2014, 11:34. Показов 918. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
собственно программа должна исходя из заданных точек х1 х2 y1 y2 находить угол, но увы время от времени выдает ошибки, а при отсутсвии ошибки получаются углы 0, 90, 180, 270, 360 при этом не соответствующие реальным значениям, вот.... вот собственно код

Delphi
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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, IniFiles, ExtCtrls,Math;
 
type
  TForm1 = class(TForm)
    Edit3: TEdit;
    Edit4: TEdit;
    Edit11: TEdit;
    Edit10: TEdit;
    Image2: TImage;
    Button6: TButton;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit5: TEdit;
    Edit6: TEdit;
    Button1: TButton;
    Edit7: TEdit;
    procedure Button6Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
 
 
 
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
 
 
 
procedure TForm1.Button6Click(Sender: TObject);
var x1,y1,x2,y2 : real;
Ini2: TInifile;
begin
image2.picture:=nil;
Ini2:=TIniFile.Create(ExtractFilePath(Application.ExeName)+'session2.ini');
Edit10.text:=Ini2.Readstring('Øèðîòà2','W2','30');
Edit11.text:=Ini2.Readstring('Äîëãîòà2','L2','30');
Ini2.Free;
x1:=strtofloat(edit10.text);
y1:=strtofloat(edit11.text);
x2:=strtofloat(edit4.text);
y2:=strtofloat(edit3.text);
with Image2.Canvas do
 begin
 pen.Width:=2;
 Pen.Color:=clblue;
 MoveTo(round(x1),round(y1));
 LineTo(round(x2),round(y2));
 
end;
DeleteFile(ExtractFilePath(Application.ExeName)+'session2.ini');
Ini2:=TIniFile.Create(ExtractFilePath(Application.ExeName)+'session2.ini');
Ini2.WriteString('Øèðîòà2','W2',edit4.text);
Ini2.WriteString('Äîëãîòà2','L2',edit3.text);
Ini2.Free;
end;
 
procedure TForm1.Button1Click(Sender: TObject);
var x3,y3,x4,y4,ug,r : real;
begin
button6.Click;
x3:=strtofloat(edit10.text);
y3:=strtofloat(edit11.text);
x4:=strtofloat(edit4.text);
y4:=strtofloat(edit3.text);
r:=sqrt(sqr(x3-x4)+sqr(y3-y4));
begin
if (x3<=x4) and (y3>=y4) then
begin
ug:=((arccos((x4-x3)/r))+arcsin((y3-y4)/r))*180/pi;
edit1.text:=floattostr(ug);
end;
 
if (x3>x4) and (y3>y4) then
begin
ug:=((arccos((x4-x3)/r))+pi-arcsin((y3-y4)/r))*180/pi;
edit1.text:=floattostr(ug);
end;
if (x3>=x4) and (y3<=y4) then
begin
ug:=((arccos((x4-x3)/r))+pi+arcsin((y4-y3)/r))*180/pi;
edit1.text:=floattostr(ug);
end;
if (x3<x4) and (y3<y4) then
begin
ug:=((arccos((x4-x3)/r))+2*pi-arcsin((y4-y3)/r))*180/pi;
edit1.text:=floattostr(ug);
end;
 
end;
end;
 
end.
ну и сама прога
Вложения
Тип файла: rar proga.rar (174.5 Кб, 5 просмотров)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.06.2014, 11:34
Ответы с готовыми решениями:

Нахождение угла треугольника
Нужно найти угол треугольника через гипотенузу &quot;ПИ&quot; и противолежащий угол &quot;е&quot;. При чем не...

Нахождение угла по векторам
Как найти угол зная вектор position и вектор указателя мыши с помощью libGDX?

Нахождение внутреннего угла
Даны вершины треугольника a(-1, -2, -3), b(-4, -2, 0), c(3, -2, 1); найти его внутренний угол при...

Нахождение cos,sin и tg угла
Требуется создание программы, которая вводе значения угла выводил cos, sin и tg этого угла....

2
пофигист широкого профиля
4739 / 3172 / 860
Регистрация: 15.07.2013
Сообщений: 18,281
19.06.2014, 11:45 2
Цитата Сообщение от alex198704 Посмотреть сообщение
собственно программа должна исходя из заданных точек х1 х2 y1 y2 находить угол
Какой угол?
0
3 / 3 / 2
Регистрация: 10.02.2014
Сообщений: 91
19.06.2014, 12:16  [ТС] 3
тему можно закрывать, понял ошибку...
0
19.06.2014, 12:16
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.06.2014, 12:16
Помогаю со студенческими работами здесь

Нахождение угла по его синусу
Как найти x, если известно, чему равен sin(x)?

нахождение угла между прямыми
Привет всем. Задача следующая: необходимо найти угол α, если мне известны координаты точки...

Нахождение угла по известным данным
Привет всем! Третий день решаю задачу, думал будет просто, но как-то застрял (см. рис.). Есть...

Нахождение арктангенса угла в градусах
Мне необходимо в выражении tan gamma=z/q найти угол гамма в градусах z и q соответственно...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru