NIM : 2015101021
Kelas : ILKOM B
Grafika Komputer
1. Algoritma Naif.
2. DDA.
3. Bresenham's.
Dalam hal ini saya membuat suatu soal dimana saya menggunakan algoritma DDA dan
Bresenham’s. Dimana untuk garis titik kordinat awal adalah (X0, Y0) dan untuk kordinat akhir
adalah (X1, Y1) yang berjarak lebih dari 20px. Sehingga didapatkan hasil seperti gambar berikut :
grafika_lib.js
function gbr_titik(imageDataTemp, x, y, r, g, b) {
var index;
index = 4 *(x + (y * canvasGrafika.width));
imageDataTemp.data[index] = r;
imageDataTemp.data[index + 1] = g;
imageDataTemp.data[index + 2] = b;
imageDataTemp.data[index + 3] = 255;
}
function lingkaran_polar(imageDataTemp, xc,yc, radius, r,g,b) {
for (var theta = 0; theta < Math.PI*2; theta += 0.001) {
x = xc + radius* Math.cos(theta);
y = yc + radius* Math.sin(theta);
tugas2.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Grafika Komputer</title>
<style>
#canvas1 {
border : 2px solid black;
}
</style>
<script src="lib/grafika_lib.js"></script>
</head>
<body>
<canvas id="canvas1" width="400" height="400"></canvas>
<script>
var canvasGrafika;
canvasGrafika = document.querySelector("#canvas1");
var ctx;
ctx = canvasGrafika.getContext("2d");
var imageDataSaya = ctx.getImageData(0, 0, canvasGrafika.width,
canvasGrafika.height);
//Gambar Garis
for(var i = 0; i < 100; i++) {
gbr_titik(imageDataSaya, 0 + i, 0 + i, 255, 0, 0);
}
ctx.putImageData(imageDataSaya, 0, 0);
</script>
</body>
</html>
Algoritmanaif.js