#php #multidimensional-array #geometry #2d
#php #многомерный массив #геометрия #2d
Вопрос:
Всем доброго времени суток. Я делаю простой скрипт на PHP, у меня возникают проблемы с простой геометрической задачей: у меня есть 2d-матрица, ширина = 10000 и ее высота = 6000.
У меня есть 2 точки, A (2000,1000) и B (3400,5000).
Я хотел бы вычислить третью точку на расстоянии 1500 от (скажем) A, на той же строке.
Я работал с простой линейной функцией:
$x1= 2000;
$y1= 1000;
$x2= 3400;
$y2= 5000;
$x = 1500;
function givemeY($x1,$y1,$x2,$y2,$x){
return ($y2-$y1)/($x2-$x1)*($x-$x1) $y1;
}
но это работает, только если я дам ему не менее $ x, но, я не знаю $ x, я бы хотел, чтобы в данном случае была только точка 1500. (2000,1000). (Я подозреваю, что в этом примере точка будет иметь отрицательные значения, все в порядке).
Ответ №1:
Я не знаю PHP, но это должно быть довольно легко реализовать с помощью некоторого псевдокода:
function getXComponent(angleOfLine){
return Math.cos(angleOfLine)*1500;
}
и для компонента y
function getYComponent(angleOfLine){
return Math.sin(angleOfLine)*1500;
}
Теперь просто используйте компоненты X и y для размещения новой точки.