You are on page 1of 6

VIT AP UNIVERSITY, ANDHRA PRADESH

Lab Sheet 07 : Visibility

Academic year: 2020-2021 Branch/ Class: B.Tech


Semester: Fall
Faculty Name: Prof.Mangalraj School: SCOPE
Student name: Sriharshitha D
Reg. no.: 19BCD7246

1. Write a program to implement scan line conversion.

CODE:

function setup() {
createCanvas(400, 400);
}
function draw(){
background(0);
Line(20,25,200,350);
updatePixels();
}

function Line( x1, y1, x2, y2){


var b,m,x,y,xend;
m=(y2-y1)/(x2-x1);
b=y1-(m*x1);
if (x2-x1 <0)
{
x=x2;
y=y2;
xend=x1;
}
else
{
x=x1;
y=y1;
xend=x2;
}
while (x<=xend)
{
set (x, y, color(255));
x++;
y=(m*x) +b;
}
}

OUTPUT:
2. Write a program to implement Z-buffer Algorithm.

CODE - 1:
function setup() {
createCanvas(1000,1000);
}

function draw() {
textSize(32);
text("Z-Buffer",100,70);
X1=300;
Y1=100;
Z1=300;
X2=500;
Y2=200;
Z2=200;
X3=400;
Y3=500;
Z3=100;
A=(Y2*Z3-Z2*Y3+Y3*Z1-Z3*Y2+Y1*Z2-Y2*Z1)/(X1*(Y2*Z3-
Z2*Y3)+X2*(Y3*Z1-Z3*Y1)+X3*(Y1*Z2-Z1*Y2));
B=(X3*Y2-Y3*X2+X1*Z3-Z1*X3+X2*Z1-Z2*X1)/(X1*(Y2*Z3-
Z2*Y3)+X2*(Y3*Z1-Z3*Y1)+X3*(Y1*Z2-Z1*Y2));
C=(X2*Y3-Y2*X3+X3*Y1-X1*Y3+X1*Y2-X2*Y1)/(X1*(Y2*Z3-
Z2*Y3)+X2*(Y3*Z1-Z3*Y1)+X3*(Y1*Z2-Z1*Y2));
for(i=X1;i<X2;i++)
{
for(j=Y1;j<Y2;j++){
z=(1-A*i-B*j)/C;
stroke(205-z,20,250);
point(i,j);
}
}
for(i=X1;i<X3;i++)
{
for(j=Y1;j<Y3;j++){
z=(1-A*i-B*j)/C;
if(250-z<0){
z=250;
}
stroke(205,20-z,250);
point(i,j);
}
}
}

OUTPUT:
CODE – 2:
var gl;
var b = true;
function setup() {
createCanvas(600, 600, WEBGL);
gl = document.getElementById('defaultCanvas0').getContext('webgl');
}

function draw() {
background(0);
noStroke();

fill(255, 200, 30);


rotateY(PI);
box(200);

fill(30, 200, 255);


rotateY(PI * 0.25);
box(200);
}
function mousePressed() {
if(b) {
gl.enable(gl.DEPTH_TEST);
}
else {
gl.disable(gl.DEPTH_TEST);
}
b = !b;
}
OUTPUT:
BEFORE PRESSING MOUSE

AFTER PRESSING MOUSE

You might also like