Как определить по координатам двух векторов их коллинеарность?
на вход в проге подаются координаты векторов.. ну, скажем (2,3) и (1,2). в таких коорд. они параллельны (коллинеарны) - на листочке нарисовала.. что-то не помню, как по координатам векторов определить, параллельны они или нет. м?
Коллинеарность векторов означает, что они линейно зависимы. Определить линейную зависимость двух векторов в двумерном пространстве можно, записав их координаты в квадратную матрицу, и вычислив определитель этой матрицы.
Имеем a(x1; x2) и b(y1; y2).
Составляем матрицу координат
x1 x2
y1 y2
Определителем матрицы будет число
D = x1*y2 - x2*y1
Векторы a и b линейно-зависимы (читай коллинеарны) если матрица вырождена, то есть её определитель равен 0
Таким образом для определения коллинеарности достаточно проверить равенство
x1*y2 - x2*y1 =0
или (что то же самое)
x1*y2 = x2*y1
Если это равенство истинно - векторы коллинеарны
ЗЫ
В случае (2,3) и (1,2)
2*2 - 3*1 = 4 - 3 = 1
т. е. эти векторы неколлинеарны.
Координаты коллинеарных векторов должны быть пропорциональны.
(х1, у1) и (х2, у2) координаты вектора 1 , (х3, у3, х4, у4) - второго
если (х2-х1)/(у2-у1)==(х4-х3)/(у4-у3), то векторы коллинеарны.
проще говоря находим тангенс угла вектора к оси коррдинат.