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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.70
владимирович
0 / 0 / 0
Регистрация: 24.10.2011
Сообщений: 13
#1

Определить условие перпендикулярности прямых (С++) - C++

07.11.2011, 11:59. Просмотров 1280. Ответов 3
Метки нет (Все метки)

помогите написать задачу в С++:
даны две прямые у=а1х+с1 и у=а2х+с2. Определить условие перпендикулярности прямых, если оно не выполняется, найти угол между ними.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.11.2011, 11:59     Определить условие перпендикулярности прямых (С++)
Посмотрите здесь:

C++ преобразование прямых линий
C++ Взаимное расположение прямых
C++ Координаты пересечения 2-х прямых.
C++ Ныйти минимальное множество прямых ...
C++ На плоскости задано множество прямых. Найти количество пересечений этих прямых
C++ Напечатать координаты точки пересечения прямых
Определить условие попадание точки в заданную область C++
C++ Пересечение прямых
C++ Определить взаимное расположение прямых
C++ Задача о двух прямых
C++ Найти расстояния от точки до прямых
C++ Выяснить, лежат ли отрезки прямых на попарно перпендикулярных прямых

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
accept
4819 / 3239 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
07.11.2011, 12:21     Определить условие перпендикулярности прямых (С++) #2
Код
 у = а1х + с1
 у = а2х + с2

 a1 * x - y + c1 = 0
 a2 * x - y + c2 = 0

 векторы нормали:
 n1(a1, -1)
 n2(a2, -1)

 псевдокод:
 
 prod = a1 * a2 + (-1) * (-1) = a1 * a2 + 1
 /* скалярное произведение векторов */
 
 if (prod == 0)
     print(перпендикулярны)
 else {
     
     prod = |n1| * |n2| * cos(n1, n2)
     /* скалярное произведение векторов */
     
     |n1| = sqrt(a1 * a1 + 1)
     |n2| = sqrt(a2 * a2 + 1)
     phi = arccos(prod / (sqrt(a1 * a1 + 1) * sqrt(a2 * a2 + 1)))
     if (phi == 0)
         print(параллельны)
     else
        print(угол = phi)
 }
владимирович
0 / 0 / 0
Регистрация: 24.10.2011
Сообщений: 13
07.11.2011, 12:26  [ТС]     Определить условие перпендикулярности прямых (С++) #3
а можно пожалуйста полностью написать сначала
accept
4819 / 3239 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
07.11.2011, 12:30     Определить условие перпендикулярности прямых (С++) #4
добавил проверку на параллельность
Yandex
Объявления
07.11.2011, 12:30     Определить условие перпендикулярности прямых (С++)
Ответ Создать тему
Опции темы

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