поэтому я искал линейные алгоритмы, когда нашел алгоритм Брезенхэма. Я решил сделать его кодовую версию, и по большей части это сработало. Однако когда я захотел нарисовать квадрат, я столкнулся с проблемой. Он не будет рисовать определенную линию. Вот мой код (должен упомянуть, что я использую p5.js):
function drline(xs, ys, xe, ye) {
if(xs == xe && ys == ye){
point(xs, ys);
} else {
var df = (ye - ys) / (xe - xs);
var lf = 0;
var tf = 0;
var is = 0;
for(var i = xs; i <= xe; i++){
tf = i - xs;
lf = df * tf;
is = lf+ys;
console.log("X: " + i + ", Y: " + is);
point(i, is);
}
}
}
function init(){
createCanvas(700, 600);
background(80);
stroke(100, 200, 255);
}
function setup(){
init();
drline(300, 100, 400, 100);
drline(300,200, 400, 200);
drline(300, 100, 300, 200);
}
Я также заметил, что последнее значение, которое было на консоли, было X: 300, Y: NaN. Извините, если это звучит как нуби, но я не уверен, в чем проблема. Заранее спасибо! :)