Для начала я хочу сказать, что это не вопрос, связанный с синтаксисом, а скорее вопрос, связанный с теорией (также я работаю с Java, но вопрос / ответ должен быть одинаковым независимо от языка.).Я хочу функцию, которая имеет параметры x1, y1, x2, y2 (которые являются целыми числами).Функция возьмет их и отредактирует двумерный массив (также целочисленный) с именем pixelData [] [].Каждая координата, которую занимает линия, будет добавлена в pixelData в следующем формате: pixelData [x] [y];
Например: если функция работала правильно, и я вызвал ее со следующими параметрами:
int pixelData[][][];
pixelData = new int[10][10]; //grid size of 10x10;
x1 = 1;
y1 = 1;
x2 = 3;
y2 = 3;
Функция будет помещать следующие значения в пиксельные данные:
pixelData[1][1] = 1;
pixelData[2][2] = 1;
pixelData[3][3] = 1;
Для математики мой первоначальный подход состоял в том, чтобы взять абсолютное значение x1-x2 и абсолютное значение y1-y2и поместите их в int с именами xLength и yLength соответственно.Тогда я бы сохранил соотношение двух (xLength / yLength) в двойном значении xyRatio.Тогда для каждого движения xyRatio x существует 1 движение y.Проблема в том, что это работает только для нескольких углов линий и в основном просто дает неточные координаты.Например, если отношение меньше 1, будет изменяться 0 при открытии оси x каждый раз, когда изменяется ось y, и другие подобные проблемы.Если бы кто-то мог дать мне формулу или какую-то помощь, это было бы здорово.
Если вам нужно какое-то разъяснение по этому вопросу, просто спросите.Заранее спасибо!
PS Мне известна функция drawLine, но я не хочу просто рисовать линию, я хочу отображать каждую координату.Если существует существующая функция, которая делает то, что мне нужно, ПОЖАЛУЙСТА, сообщите мне об этом.
-Ampck