Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
0 / 0 / 1
Регистрация: 22.03.2010
Сообщений: 5

Как узнать угол

22.03.2010, 16:36. Показов 2130. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Суть проблемы состоит в том чтобы узнать угол, скажем между центром рисунка и какй-нибуть точкой.
Стандартная функция atn() visual basic возращает значения только от 0 до 90 градусов(до 3.14/2рад)
Я написал функцию для нахождения угла, но она работает слегка неправильно

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Public Function GetAngle(X As Single, Y As Single) As Single
If X > 0 And Y > 0 Then
GetAngle = Atn(Y / X)
ElseIf Y > 0 And X = 0 Then
GetAngle = Pi / 2
ElseIf Y > 0 And X < 0 Then
GetAngle = Atn(-X / Y) + Pi / 2
ElseIf Y = 0 And X < 0 Then
GetAngle = Pi
ElseIf Y < 0 And X < 0 Then
GetAngle = Atn(Y / X) + Pi
ElseIf Y < 0 And X = 0 Then
GetAngle = Pi / 2 * 3
ElseIf Y < 0 And X > 0 Then
GetAngle = Atn(X / -Y) + (Pi / 2 * 3)
ElseIf Y = 0 And X > 0 Then
GetAngle = 0
End If
End Function
Подскажите плз ошибку, или предложите вариант попроще.
Заранее спасибо
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
22.03.2010, 16:36
Ответы с готовыми решениями:

Как узнать данный угол?
По геометрии 3... Вот сделал зарисовку угла который нужно найти. Для тех кто не понял по картинке: Мне нужно что бы когда луч...

Как узнать угол от местоположения мышки
у меня есть пушка. я с клавиатуры пишу угол и силу, и у меня через уровнение, где тело брошено под углом к горизонту летит снаряд. Как...

Как узнать угол в градусах между двумя обьектами из одной точки
Как узнать угол в градусах между двумя обьектами из одной точки? На рисунке видно, что угол между обьектами y и x из точки 0 равняется 90*....

4
2838 / 1647 / 254
Регистрация: 03.12.2007
Сообщений: 4,222
22.03.2010, 17:39
atan2
Миниатюры
Как узнать угол  
1
0 / 0 / 1
Регистрация: 22.03.2010
Сообщений: 5
22.03.2010, 18:03  [ТС]
Спасибо, опробую
0
6644 / 1511 / 169
Регистрация: 09.01.2010
Сообщений: 4,298
22.03.2010, 18:06
Visual Basic
1
2
3
4
5
6
7
Public Function GetAngle(X0 As Single, Y0 As Single, X As Single, Y As Single) As Single
Dim k
If Y - Y0 <> 0 Then
If Y - Y0 > 0 Then k = 1 Else k = 0
GetAngle = 180 * k + 90 + Int(180 * Atn((X - X0) / (Y - Y0)) / (4 * Atn(1)))
End If
End Function
0
0 / 0 / 1
Регистрация: 22.03.2010
Сообщений: 5
23.03.2010, 09:24  [ТС]
Ни то ни другое на практике как надо неработает.
При сканировании изображения и переводе координат точки в угловые половина картинки получается нормальной, а вторая половина "шумит".(
Вот проэкт.
Вложения
Тип файла: rar prjRotate.rar (6.6 Кб, 26 просмотров)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.03.2010, 09:24
Помогаю со студенческими работами здесь

Как узнать угол в градусах между двумя обьектами с вершиной в 3 обьекте
На рисунке видно что угол равняется 90*, как с помощью программирования узнать этот угол, имея вектора данных точек. Например имееются...

Известны ориентированные углы между векторами: угол(АВ,АС)=120 и угол (АВ,АД)=-60. Определите угол (АС,АД)
Известны ориентированные углы между векторами: угол(АВ,АС)=120 и угол (АВ,АД)=-60. Определите угол (АС,АД). КАК ПРАВИЛЬНО ЭТО ВСЕ...

Узнать угол тангенса - вычислить arctg
Здравствуйте. Как узнать угол тангенса без таблицы Брадиса? Как перевести угол в тангенс ясно. Есть функция обратная fptan ?

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

Узнать угол вершины конуса, если задан радиус основания и высота
Дана высота конуса и угол его вершины. Узнать радиус основания. А так же узнать угол вершины если дано радиус и высоту. (Это даже...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru