Найти координаты конца отрезка, если известны координаты начала, его длина и угол наклона можно по формулам:
Где:
x, y – координаты конца отрезка,
x0, y0 – координаты начала отрезка,
α – угол наклона в радианах (относительно горизонта),
Z – длина отрезка.
Пример расчета координат и построении линии в canvas:
var x0 = 250; // Начальная точка x
var y0 = 400; // Начальная точка y
var z = 400; // Длина отрезка
var deg = -60; // Угол наклона, градусы
var x = Math.round(x0 + Math.cos(deg * Math.PI / 180) * z);
var y = Math.round(y0 + Math.sin(deg * Math.PI / 180) * z);
// Рисование линии
var canvas = document.getElementById('canvas');
var ctx = canvas.getContext('2d');
ctx.beginPath();
ctx.lineWidth = 2;
ctx.strokeStyle = 'red';
ctx.moveTo(x0, y0);
ctx.lineTo(x, y);
ctx.stroke();
Пример вывода линии в библиотеки GD:
$x0 = 250; // Начальная точка x
$y0 = 400; // Начальная точка y
$z = 400; // Длина отрезка
$deg = -60; // Угол наклона, градусы
$x = round($x0 + cos(deg2rad($deg)) * $z);
$y = round($y0 + sin(deg2rad($deg)) * $z);
// Рисование линии
$img = imagecreate(800, 800);
$bg = imagecolorallocate($img, 0, 0, 0);
imagesetthickness($img, 2);
imageline($img, $x0, $y0, $x, $y, 0x000000);
imagepng($im);
imagedestroy($im);
но это частность - в целом спасибо