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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.70
владимирович
0 / 0 / 0
Регистрация: 24.10.2011
Сообщений: 13
07.11.2011, 11:59     Определить условие перпендикулярности прямых (С++) #1
помогите написать задачу в С++:
даны две прямые у=а1х+с1 и у=а2х+с2. Определить условие перпендикулярности прямых, если оно не выполняется, найти угол между ними.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
accept
4838 / 3237 / 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
4838 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
07.11.2011, 12:30     Определить условие перпендикулярности прямых (С++) #4
добавил проверку на параллельность
Yandex
Объявления
07.11.2011, 12:30     Определить условие перпендикулярности прямых (С++)
Ответ Создать тему
Опции темы

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