Как найти координаты конца отрезка JS/PHP

Найти координаты конца отрезка, если известны координаты начала, его длина и угол наклона можно по формулам:

x = x0 + cos(α) * Z
x = x0 + sin(α) * Z

Где:
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();
JS

Пример вывода линии в библиотеки 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);
PHP
22.02.2022, обновлено 23.11.2022
1133

Комментарии 1

Alexander Kulikov Alexander Kulikov
23 февраля 2022 в 13:49
0
"Расщитать" от слова "щит" ))
но это частность - в целом спасибо

, чтобы добавить комментарий.

Другие публикации

Графический редактор на Canvas и JS + PHP
Пример редактора тапа «Paint» с картинкой-подложкой, на которой можно рисовать мышью с последующей отправкой на сервер.
4365
+3
Поворот изображения по двум точкам на PHP GD + jQuery UI Droppable
​Задача - необходимо повернуть изображение на угол, найденный путем выставления двух точек на линию горизонта...
1275
0
Обработка изображений в PHP
Библиотека GD дает возможность работать с изображениями в PHP. Далее представлены примеры как изменить размер, вырезать часть изображения и т.д.
48470
+14
Генерация QR-кода в PHP
Вопрос генерации QR-кодов в PHP достаточно освещён, есть много библиотек, одной из них является «PHP QR Code» – быстрый и легкий класс, рассмотрим его применение совместно с графической библиотекой...
47865
+15
Как изменить Favicon сайта из JavaScript
Для замены Favicon во вкладке браузера достаточно у элемента link rel="icon" в атрибуте href указать путь до нового...
8493
+4
Перетаскивание элементов Drag and drop (jQuery UI Droppable)
UI Droppable – плагин, который позволяет сделать перетаскивание элементов мышью (Drag&Drop).
4419
+2