Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
6 / 5 / 1
Регистрация: 02.02.2019
Сообщений: 218

Вычислить соотношение углов линий от одной точки к другой

04.03.2020, 17:02. Показов 1572. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет. Задача такая: есть одна точка, и вторая. От одной к другой проведен прямоугольник, а линия между ними - диагональ.Надо вычислить вычислить углы C и D.
Миниатюры
Вычислить соотношение углов линий от одной точки к другой  
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.03.2020, 17:02
Ответы с готовыми решениями:

Найти мощность множества всех геометрических углов на плоскости ( т.е пар лучей из одной точки )
Найти мощность множества всех геометрических углов на плоскости ( т.е пар лучей из одной точки )

Составьте программу рисования 'веера': разноцветных линий, выходящих из одной точки
Составьте программу рисования 'веера': разноцветных линий, выходящих из одной точки. Пожалуйста) Заранее спасибо!

Составить программу вывода на экран линий разного цвета и разной длины из одной точки
1.Составить программу вывода на экран линий разного цвета и разной длины из одной точки. 2.Составить программу выведения на экран...

13
6 / 5 / 1
Регистрация: 02.02.2019
Сообщений: 218
04.03.2020, 17:06  [ТС]
извиняюсь. Имел в виду не соотношение, а углы, собственно углов.
0
9 / 7 / 2
Регистрация: 23.06.2014
Сообщений: 54
04.03.2020, 17:27
Как-то так
VB.NET
1
2
3
4
5
6
7
        Dim x1, x2, y1, y2 As Integer
        Dim p1 As New Point(x1, y1)
        Dim p2 As New Point(x2, y2)
        Dim t, ang_C, and_D As Double
        ang_C = Math.Atan((y1 - y2) / (x2 - x1))
        and_D = 90 - ang_C
        MsgBox(ang_C & "->" & and_D)
1
6 / 5 / 1
Регистрация: 02.02.2019
Сообщений: 218
04.03.2020, 17:42  [ТС]
хм. Попробовал, работает как то странно. один угол чуть меньше нуля, а второй чуть большее 90.
0
9 / 7 / 2
Регистрация: 23.06.2014
Сообщений: 54
04.03.2020, 17:53
Попробуй так
VB.NET
1
        ang_C = Math.Atan(Math.Abs((p2.Y - p1.Y)) / Math.Abs((p2.X - p1.X))) * (180 / Math.PI)
0
266 / 217 / 54
Регистрация: 01.08.2016
Сообщений: 836
04.03.2020, 17:54
Дима Бебешко, А ты сам тригонометрическими функциями пользоваться умеешь? По моему там ничего особо сложного нет.
0
6 / 5 / 1
Регистрация: 02.02.2019
Сообщений: 218
04.03.2020, 18:12  [ТС]
я не зря наверно обратился на форум. Знаю синус и косинус, а с тангенсами и котангенсами разбираюсь.
0
9 / 7 / 2
Регистрация: 23.06.2014
Сообщений: 54
04.03.2020, 18:14
Дима Бебешко, есть вариант и через синус. Только дольше. Хотел, основываясь на твоих предыдущих темах, именно так сделать, но потом решил, что короткий вариант предпочтительней.
0
6 / 5 / 1
Регистрация: 02.02.2019
Сообщений: 218
04.03.2020, 18:18  [ТС]
я бы мог просто зная длину ширину прямоугольника, но это проблематично. А как через синус?

Добавлено через 2 минуты
если знаю один из углов естественно. А так вот формула 90/(a+b) * a и 90/(a+b) * b.
0
9 / 7 / 2
Регистрация: 23.06.2014
Сообщений: 54
04.03.2020, 18:23
Лучший ответ Сообщение было отмечено Дима Бебешко как решение

Решение

Дима Бебешко, вот так
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
        Dim x1, x2, y1, y2 As Integer
        Dim p1 As New Point(x1, y1)
        Dim p2 As New Point(x2, y2)
        Dim t, ang_C, and_D As Double
        'Находим гипотенузу прямоугольного треугольника, которая равна
        'сумме квадратов катетов, т.е.длины и ширины прямоугольника
        'ограниченного вершинами Р1 и Р2, лежащими на концах главной диагонали
        t = Math.Sqrt((p2.X - p1.X) ^ 2 + (p2.Y - p1.Y) ^ 2)
        'Найдя гипотенузу, через определение синуса угла в прямоугольном треугольнике,
        'находим синус и значение угла
        ang_C = Math.Asin(Math.Abs(p2.Y - p1.Y) / t) * (180 / Math.PI)
        and_D = 90 - ang_C
        MsgBox(ang_C & "->" & and_D)
Но, вообще-то, длина и ширина тебе известны - это модуль разницы соответствующих координат двух точек.
1
6 / 5 / 1
Регистрация: 02.02.2019
Сообщений: 218
04.03.2020, 18:30  [ТС]
вроде работает. спасибо большое!
0
9 / 7 / 2
Регистрация: 23.06.2014
Сообщений: 54
04.03.2020, 18:40
Дима Бебешко, если учишься, то перед сдачей проверь ещё раз. Бывает глюк, не знаю, чем вызван, что угол показывается не совсем верно, то есть вместо 30 градусов, выдаст 29,(9). Некоторые формалисты придираются. С синусами такая же история: вместо 0,5 - 0,4(9).
0
6 / 5 / 1
Регистрация: 02.02.2019
Сообщений: 218
04.03.2020, 18:42  [ТС]
я поставил все на округление. И да - я делаю все для себя) Спасибо вам еще раз.
0
85 / 75 / 15
Регистрация: 18.01.2014
Сообщений: 359
05.03.2020, 06:50
Лучше синусы и косинусы использовать. При использовании тангенса в определённых случаях получается ошибка деление на 0. ЕМНИП при 90 градусов.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
05.03.2020, 06:50
Помогаю со студенческими работами здесь

Градус одной точки к другой
У меня есть две точки (допустим (5;9) и (2;6)). Как мне вычислить градус первой точки относительно второй?

Движение фигуры от одной точки к другой
Подскажите, пожалуйста, как это реализовать в Unity 3d.

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

Расчет расстояния от одной точки до другой
Вообщем захотелось реализовать расчет расстояния по такому принципу:http://www.della.by/distance/?cities=21779,115 Может сталкивался кто...

Наименьший путь от одной точки до другой
Имеются N-точек, соединенных отрезками. Составить программу, находящую наименьший путь от одной точки до другой. Для реализации желательно...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Контроль заполнения и очистка дат в зависимости от значения перечислений
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