Как вычислить траекторию на PHP?

Print RSS
181

Author
Землянин
0
10. ramzes, не не не... если запустишь свой код, я это в уме сделал то получится что он идет по диагонали (в 45 градусов) в сторону точки A пока не наткнется на вторую ось а по ней начнет шагать дальше последнии два условия в твоем коде. ведь согласись точка A может находится не обязательно в 45 градусов. smile

я сейчас пытаюсь делить на 500 (ширина и высота плоскости) и находить соотношение осей.
еще не пробовал но вот как то так по идее.
$aKx = $a['x'] / 500;
$bKx = $b['x'] / 500;
                
$aKy = $a['y'] / 500;
$bKy = $b['y'] / 500;
                
$speed = 5;
$cX = ($a['x'] < $b['x']) ? ($b['x']-($bKx*$speed)) : ($b['x']+($bKx*$speed));
$cY = ($a['y'] < $b['y']) ? ($b['y']-($bKy*$speed)) : ($b['y']+($bKy*$speed));
Changed: Виталий (04.01.2012 / 21:01)
Author
Землянин
0
у меня почему то сервер падает когда я его запускаю obana
в чем проблема может быть? сижу на nginx'e

2000 лет д.н.э.
0
11. free, с той поправкой про которую я в #10 говорил, он будет идти под любым углом в любое направление
вроде быsmile
ну ладно, мне лень думать)))
free (4 Января 2012 / 21:14)
у меня почему то сервер падает когда я его запускаю obana
в чем проблема может быть? сижу на nginx'e
ты это в цикле запускаешь?)))
ясен пень падает)))) там пипец какой цикл получится
Author
Землянин
0
все разобрался.
13. ramzes, да не цикла нет. один шаг при обработке скрипта.
проблема была в подключении к бд.

2000 лет д.н.э.
0
14. free, если я правильно понял, у тебя
$aKx = $a['x'] / 500;
$bKx = $b['x'] / 500;
$aKy = $a['y'] / 500;
$bKy = $b['y'] / 500;
При каждом шаге выполняется?
Author
Землянин
0
ну собственно да. оно вычисляет соотношение координаты от самого периметра плоскости )
все работает отлично.

Пацак
0
Тут не только физика надо, теоретически вычисляешь расстояние между точками, по какой оси они будут передвигатся, делишь расстояние приближения на общее расстояние между точками и получишь соотношение сторон как то так... smile
Changed: Дмитрий (04.01.2012 / 23:21)

Голубые штаны
0
<?php
#Допустим, координаты точки ОТПРАВЛЕНИЯ такие:
$Bx = 130; #по ширине
$By = 60; #по высоте

#Допустим, координаты точки НАПРАВЛЕНИЯ такие:
$Ax = 30; # по ширине
$Ay = 70; # по высоте

#Вычисляем координаты средней точки направления по ширине:
$Sx = ( ($Bx - $Ax) / 2 ) + $Ax; # получится  ( (130 - 30) / 2 ) + 30 = 80

#Вычисляем координаты средней точки направления по высоте:
$Sy = ( ($By - $Ay) / 2 ) + $Ay; # получится  ( (60 - 70) / 2 ) + 70 = 65

# Если коор. высоты средней точки больше коор. высоты точки отправления, значит двигаться надо вверх, в противном случае - вниз.
$Ry = ($Sy != $By) ? ( ($Sy > $By) ? 'вверх' : 'вниз' ) : '';

# Если коор. ширины средней точки больше коор. ширины точки отправления, значит двигаться надо влево, в противном случае - вправо
$Rx = ($Sx != $Bx) ? ( ($Sy > $By) ? 'влево' : 'вправо' ) : '';

# вычислять градус тупо некогда
$corner = 0;

# результат на экран
echo 'Двигаться нужно ' . $Rx . ' ' . $Ry . ' под углом ' . $corner . '&deg;';
вычислять градус направления, расстояние между точками, количество шагов и координаты каждого шага тупо некогда krut

Этот скрипт отдаст:
Двигаться нужно влево вверх под углом 0°
Changed: Дмитрий (05.01.2012 / 00:27)
Author
Землянин
0
18. dima.london, спасибо, но я вчера разобрался уже. smile
Stickers / Tags / Rules / Top topics / Top Posts / Search