Я пытаюсь создать формулу, чтобы найти пересечение двух сегментов, нарисованных в библиотеке PHP GD.
function intersection ( $ax1, $ay1, $ax2, $ay2, $bx1, $by1, $bx2, $by2 ) {
$a1 = $ay2 - $ay1;
$b1 = $ax1 - $ax2;
$c1 = ( $a1 * $ax1 ) + ( $b1 * $ay1 );
$a2 = $by2 - $by1;
$b2 = $bx1 - $bx2;
$c2 = ( $a2 * $bx1 ) + ( $b2 * $by1 );
$x = ( $b2 * $c1 ) - ( $b1 * $c2 );
$y = ( $a1 * $c2 ) - ( $a2 * $c1 );
return array ( 'x' => $x, 'y' => $y );
}
Это была бы функция, которую я выполнил.Но во время ввода данных он не возвращает правильную позицию пересечения.
$cb = intersection( 0, 163, 123, 256, 0, 133, 93, 256 );
Возвращаемое значение: X: 343170;Y: 1315710;Координаты не верны.Где провал?Приветствие и заранее спасибо.PD: я не хороший математик.