Вычисление расстояния по диагонали y=x в PHP
Привет,
Представьте себе, что у меня есть квадрат с диагональной линией от нижнего левого до верхнего правого угла. Учитывая любую точку (x,y), я хочу быть в состоянии определить, как далеко вдоль этой линии находится точка. Это происходит потому, что я хочу создать цветовой градиент от одного цвета к другому, от нижнего левого до верхнего правого квадрата.
Это изображение отображает мою работу здесь;
Учитывая произвольную точку (90,50), я полагаю, что должен вычислить, где гипотенуза сформированного треугольника начинается вдоль гипотенузы квадрата. Точка находится непосредственно по диагонали, поэтому она соответствует положению z вдоль гипотенузы квадрата.
Поэтому я должен быть в состоянии сделать следующее, чтобы сгенерировать значение RGB:
$r = self::map(hypot($y, $y) + (hypot($x, $y) / 2), 0, hypot($imgW, $imgH), 0, 255); $c = ImageColorAllocate($base_image, 0, $r, $r);
путем отображения от 0 до длины гипотенузы, до 0-255.
Не мог бы кто-нибудь помочь мне понять, почему выход такой здесь[^]?
Есть две проблемы: градиент совершенно неправильный, и есть несколько черных пикселей в правом нижнем углу, которые, по-видимому, решили не участвовать в этом коде.
Что я уже пробовал:
----------------------------------------------------