ブレゼンハムのアルゴリズムを使用したいと思い以下のように記述しましたが、他の言語からの移植であるため、
if ((x0 >= 0) && (y0 >= 0)) {}の部分においてJavaScript初心者の自分では{}の中をどのように記述してよいものか悩んでいます。
setPixel(x0, y0)のような形にはなるのではないかとも考えたのですが違うようでした。
Swiftでは{}の中をsetPixel.append(CGPoint(x: x0, y: y0))となります。
よろしくお願いします。
JavaScript
1let x0 = 10; 2let y0 = 20; 3let x1 = 30; 4let y1 = 50; 5var setPixel = []; 6 7brezenhumAlg(x0, y0, x1, y1) 8 9function brezenhumAlg(x0, y0, x1, y1) { 10 const dx = Math.abs(x1 - x0); 11 const dy = Math.abs(y1 - y0); 12 const sx = (x0 < x1) ? 1 : -1; 13 const sy = (y0 < y1) ? 1 : -1; 14 let err = dx - dy; 15 16 while (true) { 17 if ((x0 >= 0) && (y0 >= 0)) {} 18 if ((x0 == x1) && (y0 == y1)) {break} 19 const e2 = err << 1; 20 if (e2 > -dy) {err -= dy; x0 += sx} 21 if (e2 < dx) {err += dx; y0 += sy} 22 } 23return setPixel; 24 }; 25 26console.log(setPixel);
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/03/09 05:01
2021/03/09 05:04
2021/03/09 05:14