diff --git a/batrang.c b/batrang.c
new file mode 100644
index 0000000000000000000000000000000000000000..52aabf28ad4f0b6c3752e8221941ff030e383ed4
--- /dev/null
+++ b/batrang.c
@@ -0,0 +1,91 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <graphics.h>
+#include <math.h>
+
+void bezier (int x[4], int y[4])
+{
+
+    int i;
+    double t;
+    double xm,ym;
+
+	xm = getmaxx()/2;
+	ym = getmaxy()/2;
+
+	for (i=0; i<4; i++)
+		putpixel ((xm+x[i]), (ym-y[i]), YELLOW);
+
+    for (t = 0.0; t < 1.0; t += 0.0001)
+    {
+		double xt = pow (1-t, 3) * x[0] + 3 * t * pow (1-t, 2) * x[1] +
+				3 * pow (t, 2) * (1-t) * x[2] + pow (t, 3) * x[3];
+
+		double yt = pow (1-t, 3) * y[0] + 3 * t * pow (1-t, 2) * y[1] +
+				3 * pow (t, 2) * (1-t) * y[2] + pow (t, 3) * y[3];
+
+				xt += xm;
+				yt = ym - yt;
+		putpixel (xt,yt, WHITE);
+    }
+
+    return;
+}
+
+void main()
+{
+	int x[4], y[4];
+	int xm,ym;
+	int gd = DETECT, gm;
+
+	initgraph(&gd, &gm, "");
+
+	xm = getmaxx()/2;
+	ym = getmaxy()/2;
+	
+	x[0]=xm-20;	y[0]=ym;
+	x[1]=xm-100;	y[1]=ym;
+	x[2]=xm+20;	y[2]=ym;
+	x[3]=xm+100;	y[3]=ym;
+	
+	line(x[0],y[0],x[1],y[1]);
+	line(x[2],y[2],x[3],y[3]);
+	
+	//Bat left top wing
+	x[0]=-100;	y[0]=0;
+	x[1]=-60;	y[1]=-10;
+	x[2]=-60;	y[2]=-20;
+	x[3]=-60;	y[3]=-30;
+    bezier (x,y);
+
+	//Bat left bottom wing
+	x[0]=-60;	y[0]=-30;
+	x[1]=-40;	y[1]=-32;
+	x[2]=-20;	y[2]=-34;
+	x[3]=0;		y[3]=-50;
+    bezier (x,y);
+
+	//Bat right top wing
+	x[0]=100;	y[0]=0;
+	x[1]=60;	y[1]=-10;
+	x[2]=60;	y[2]=-20;
+	x[3]=60;	y[3]=-30;
+    bezier (x,y);
+
+	//Bat right bottom wing
+	x[0]=60;	y[0]=-30;
+	x[1]=40;	y[1]=-32;
+	x[2]=20;	y[2]=-34;
+	x[3]=0;		y[3]=-50;
+    bezier (x,y);
+	
+	//Bat head cave in
+	x[0]=-20;	y[0]=0;
+	x[1]=-10;	y[1]=-10;
+	x[2]=10;	y[2]=-10;
+	x[3]=20;	y[3]=0;
+    bezier (x,y);
+	
+	getch();
+	closegraph();
+}
\ No newline at end of file
diff --git a/bezier.c b/bezier.c
new file mode 100644
index 0000000000000000000000000000000000000000..3025f94b7dd424b2c9116c242b674f105a755382
--- /dev/null
+++ b/bezier.c
@@ -0,0 +1,32 @@
+#include<graphics.h>
+#include<stdlib.h>
+#include<stdio.h>
+#include<math.h>
+
+void main(void)
+{
+	int gdriver = DETECT,gnode,errorcode;
+	initgraph(&gdriver,&gnode, "");
+	int x0,x1,x2,x3,y0,y1,y2,y3;
+	float u=0.1;
+	float x,y;
+	printf("Enter x0 y0");
+	scanf("%d %d",&x0,&y0);
+	printf("Enter x1 y1");
+	scanf("%d %d",&x1,&y1);
+	printf("Enter x2 y2");
+	scanf("%d %d",&x2,&y2);
+	printf("Enter x3 y3");
+	scanf("%d %d",&x3,&y3);
+	for(u=0.1;u!=1;u=u+0.1)
+	{
+
+	       x=(x0*pow((1-u),3))+(x1*3*u*pow((1-u),2))+(x2*3*u*u*(1-u))+(x3*u*u*u);
+	       y=(y0*pow((1-u),3))+(y1*3*u*pow((1-u),2))+(y2*3*u*u*(1-u))+(y3*u*u*u);
+	       line(x0,y0,x,y);
+	       x0=x;
+	       y0=y;
+	}
+	getch();
+	closegraph();
+}
\ No newline at end of file
diff --git a/fan2.c b/fan2.c
index a093ebff607f8b75f256d26275be905888627385..60dfb077fcdbca44143366b464d889a1cf9514e8 100644
--- a/fan2.c
+++ b/fan2.c
@@ -34,6 +34,7 @@ int main()
     i = 0;
     while (!kbhit()) {
 
+        //setfillstyle(HATCH_FILL, (i)%15);
         pieslice(x, y, i, i+30, 100);
 
         pieslice(x, y, i+120, i+150, 100);
diff --git a/floral.c b/floral.c
new file mode 100644
index 0000000000000000000000000000000000000000..455ba7cc1b5ed7e8ccc398e5e6f2fcfd214075ce
--- /dev/null
+++ b/floral.c
@@ -0,0 +1,104 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <graphics.h>
+#include <math.h>
+
+void bezier (int x[4], int y[4])
+{
+
+    int i;
+    double t;
+    double xm,ym;
+
+    xm = getmaxx()/2;
+	ym = getmaxy()/2;
+
+	for (i=0; i<4; i++)
+		putpixel ((xm+x[i]), (ym-y[i]), YELLOW);
+
+    for (t = 0.0; t < 1.0; t += 0.0001)
+    {
+		double xt = pow (1-t, 3) * x[0] + 3 * t * pow (1-t, 2) * x[1] +
+				3 * pow (t, 2) * (1-t) * x[2] + pow (t, 3) * x[3];
+
+		double yt = pow (1-t, 3) * y[0] + 3 * t * pow (1-t, 2) * y[1] +
+				3 * pow (t, 2) * (1-t) * y[2] + pow (t, 3) * y[3];
+
+				xt += xm;
+				yt = ym - yt;
+		putpixel (xt,yt, WHITE);
+    }
+
+    return;
+}
+
+void main()
+{
+	int x[4], y[4];
+	int xm,ym;
+	int gd = DETECT, gm;
+
+	initgraph(&gd, &gm, "\\TURBOC3\\BGI");
+
+	xm = getmaxx()/2;
+	ym = getmaxy()/2;
+	
+	//left-top
+	x[0]=-30;	y[0]=0;
+	x[1]=-40;	y[1]=100;
+	x[2]=-100;	y[2]=40;
+	x[3]=0;		y[3]=30;
+    bezier (x,y);
+
+	//left-bottom
+	x[0]=-30;	y[0]=0;
+	x[1]=-40;	y[1]=-100;
+	x[2]=-100;	y[2]=-40;
+	x[3]=0;		y[3]=-30;
+    bezier (x,y);
+	
+	//top-right
+	x[0]=0;		y[0]=30;
+	x[1]=100;	y[1]=40;
+	x[2]=40;	y[2]=100;
+	x[3]=30;	y[3]=0;
+    bezier (x,y);
+	
+	//bottom-right
+	x[0]=30;	y[0]=0;
+	x[1]=40;	y[1]=-100;
+	x[2]=100;	y[2]=-40;
+	x[3]=0;		y[3]=-30;
+    bezier (x,y);
+	
+	//top
+	x[0]=-30;	y[0]=30;
+	x[1]=60;	y[1]=100;
+	x[2]=-60;	y[2]=100;
+	x[3]=30;	y[3]=30;
+    bezier (x,y);
+
+	//right
+	x[0]=30;	y[0]=30;
+	x[1]=100;	y[1]=-60;
+	x[2]=100;	y[2]=60;
+	x[3]=30;	y[3]=-30;
+    bezier (x,y);
+	
+	//bottom
+	x[0]=-30;	y[0]=-30;
+	x[1]=60;	y[1]=-100;
+	x[2]=-60;	y[2]=-100;
+	x[3]=30;	y[3]=-30;
+    bezier (x,y);
+	
+	//left
+	x[0]=-30;	y[0]=30;
+	x[1]=-100;	y[1]=-60;
+	x[2]=-100;	y[2]=60;
+	x[3]=-30;	y[3]=-30;
+    bezier (x,y);
+	
+	circle(xm,ym,2);
+	getch();
+}
\ No newline at end of file
diff --git a/js/lines.html b/js/lines.html
new file mode 100644
index 0000000000000000000000000000000000000000..a6f9f42208ce8c830f3e350ce225d6f49a802cf5
--- /dev/null
+++ b/js/lines.html
@@ -0,0 +1,569 @@
+<canvas id="stage"></canvas>
+<script src="graphics.js"></script>
+<script>
+    (async function () {
+    g.line(29,60,43,60);
+g.line(115,59,115,41);
+g.line(235,45,235,54);
+g.line(120,41,120,59);
+g.line(1790,38,1790,49);
+g.line(1699,1046,1699,1038);
+g.line(1771,39,1769,54);
+g.line(184,34,183,45);
+g.line(1801,30,1785,28);
+g.line(1777,68,1795,71);
+g.line(154,1031,154,1055);
+g.line(180,1055,180,1031);
+g.line(51,51,63,51);
+g.line(136,51,148,51);
+g.line(213,34,213,59);
+g.line(88,44,88,58);
+g.line(1716,1054,1716,1030);
+g.line(1811,56,1810,40);
+g.line(31,56,31,34);
+g.line(47,45,46,54);
+g.line(103,55,103,41);
+g.line(188,36,196,36);
+g.line(1833,1038,1843,1038);
+g.line(1843,1046,1833,1046);
+g.line(1854,1038,1864,1038);
+g.line(1864,1046,1854,1046);
+g.line(1768,55,1778,69);
+g.line(1796,70,1807,63);
+g.line(1851,60,1868,55);
+g.line(175,1031,175,1055);
+g.line(1784,28,1769,40);
+g.line(216,45,216,38);
+g.line(217,59,216,50);
+g.line(230,34,214,32);
+g.line(226,46,219,47);
+g.line(1870,40,1852,49);
+g.line(99,41,100,59);
+g.line(1852,49,1844,65);
+g.line(92,55,91,44);
+g.line(1806,63,1812,54);
+g.line(95,1042,69,1025);
+g.line(69,1059,95,1042);
+g.line(155,1056,172,1044);
+g.line(196,33,185,33);
+g.line(111,41,112,55);
+g.line(1798,59,1786,52);
+g.line(1786,51,1786,38);
+g.line(172,1043,154,1030);
+g.line(1789,49,1801,55);
+g.line(1853,1026,1853,1036);
+g.line(1853,1048,1853,1058);
+g.line(241,1024,229,1037);
+g.line(229,1047,241,1060);
+g.line(27,34,27,59);
+g.line(1811,41,1800,29);
+g.line(1686,1036,1693,1036);
+g.line(1701,1036,1708,1036);
+g.line(1693,1048,1686,1048);
+g.line(1708,1048,1701,1048);
+g.line(1870,65,1886,49);
+g.line(221,1036,222,1048);
+g.line(124,59,124,48);
+g.line(295,1034,295,1049);
+g.line(1713,1027,1680,1027);
+g.line(1679,1057,1713,1057);
+g.line(258,1052,260,1038);
+g.line(168,47,161,47);
+g.line(43,57,33,57);
+g.line(315,1034,315,1045);
+g.line(255,1038,254,1048);
+g.line(1887,49,1871,32);
+g.line(340,1048,341,1034);
+g.line(245,1062,259,1051);
+g.line(1684,1046,1684,1038);
+g.line(1844,1036,1844,1026);
+g.line(1844,1058,1844,1048);
+g.line(1678,1030,1678,1054);
+g.line(436,44,435,54);
+g.line(261,59,261,33);
+g.line(68,1026,68,1058);
+g.line(1859,1051,1864,1051);
+g.line(255,1048,245,1057);
+g.line(285,43,283,54);
+g.line(391,59,391,33);
+g.line(415,41,415,59);
+g.line(363,36,374,36);
+g.line(306,44,304,53);
+g.line(358,34,358,59);
+g.line(327,1034,328,1048);
+g.line(400,59,400,33);
+g.line(272,54,268,40);
+g.line(371,45,363,45);
+g.line(272,67,281,41);
+g.line(245,1027,255,1036);
+g.line(277,40,274,54);
+g.line(431,59,430,41);
+g.line(258,33,258,59);
+g.line(298,1049,298,1031);
+g.line(259,1033,245,1022);
+g.line(244,1035,244,1049);
+g.line(349,1035,349,1049);
+g.line(343,59,342,43);
+g.line(388,33,388,59);
+g.line(1415,27,241,30);
+g.line(265,41,272,60);
+g.line(339,44,339,59);
+g.line(300,64,300,41);
+g.line(317,1046,317,1034);
+g.line(406,41,406,59);
+g.line(409,59,409,41);
+g.line(362,59,361,49);
+g.line(449,1034,449,1046);
+g.line(404,1046,404,1034);
+g.line(451,63,452,41);
+g.line(401,1034,401,1048);
+g.line(411,1034,411,1046);
+g.line(413,1049,414,1034);
+g.line(382,59,382,41);
+g.line(331,59,330,45);
+g.line(368,1051,375,1031);
+g.line(327,41,327,59);
+g.line(373,1030,365,1051);
+g.line(241,1058,241,1026);
+g.line(352,1049,352,1031);
+g.line(427,45,427,59);
+g.line(397,33,397,59);
+g.line(1680,995,1680,0);
+g.line(418,59,418,48);
+g.line(378,41,378,59);
+g.line(239,61,239,995);
+g.line(432,1049,432,1031);
+g.line(430,1034,429,1049);
+g.line(1680,1025,1680,999);
+g.line(239,1005,239,1024);
+g.line(238,996,34,996);
+g.line(1678,996,401,996);
+g.line(34,1004,238,1004);
+g.line(239,4,239,39);
+g.line(241,1003,1678,1003);
+g.line(1680,1078,1680,1059);
+g.line(239,1060,239,1078);
+g.line(1885,996,1681,996);
+g.line(1683,1003,1885,1003);
+g.line(989,688,1000,667);
+g.line(706,174,714,140);
+g.line(1300,303,1315,273);
+g.line(1088,295,1094,275);
+g.line(1309,267,1296,297);
+g.line(1072,288,1072,268);
+g.line(1326,267,1321,285);
+g.line(1271,298,1290,267);
+g.line(1376,311,1393,277);
+g.line(495,319,506,271);
+g.line(689,179,690,164);
+g.line(1219,183,1236,147);
+g.line(705,148,702,163);
+g.line(997,669,1011,657);
+g.line(1394,293,1387,308);
+g.line(510,290,507,308);
+g.line(1139,293,1139,274);
+g.line(1278,272,1256,310);
+g.line(1320,306,1320,290);
+g.line(1264,283,1272,265);
+g.line(1337,304,1338,289);
+g.line(1282,189,1277,172);
+g.line(1340,274,1327,303);
+g.line(636,518,635,528);
+g.line(644,172,650,148);
+g.line(1032,182,1051,140);
+g.line(1081,269,1081,296);
+g.line(814,551,821,523);
+g.line(706,423,717,397);
+g.line(841,538,858,509);
+g.line(1194,516,1195,541);
+g.line(1258,186,1277,157);
+g.line(528,144,520,163);
+g.line(836,551,841,539);
+g.line(1122,514,1121,538);
+g.line(1205,149,1198,169);
+g.line(506,308,503,321);
+g.line(531,160,533,150);
+g.line(586,297,580,311);
+g.line(700,161,697,175);
+g.line(971,311,984,277);
+g.line(1089,146,1096,164);
+g.line(1104,272,1089,312);
+g.line(1221,158,1206,186);
+g.line(1142,516,1129,551);
+g.line(526,296,526,271);
+g.line(545,174,556,141);
+g.line(549,319,556,280);
+g.line(565,281,559,310);
+g.line(644,266,645,281);
+g.line(812,275,804,305);
+g.line(1115,152,1103,179);
+g.line(495,150,496,166);
+g.line(1010,276,1004,291);
+g.line(1007,307,1017,278);
+g.line(1022,663,1026,688);
+g.line(1105,310,1118,277);
+g.line(1126,538,1134,513);
+g.line(576,305,579,274);
+g.line(791,277,777,313);
+g.line(778,394,793,406);
+g.line(1066,166,1059,186);
+g.line(1074,294,1066,318);
+g.line(1111,182,1117,165);
+g.line(1207,166,1213,152);
+g.line(686,304,696,266);
+g.line(745,545,783,540);
+g.line(1039,312,1061,271);
+g.line(465,172,471,153);
+g.line(561,155,553,179);
+g.line(581,141,577,177);
+g.line(672,172,679,156);
+g.line(1058,311,1071,285);
+g.line(1148,279,1150,310);
+g.line(519,317,513,297);
+g.line(852,534,845,554);
+g.line(869,139,860,159);
+g.line(936,551,948,519);
+g.line(1067,278,1044,318);
+g.line(1078,182,1084,148);
+g.line(507,507,502,519);
+g.line(718,159,716,169);
+g.line(964,173,964,183);
+g.line(1027,282,1014,305);
+g.line(1101,164,1109,145);
+g.line(481,143,472,178);
+g.line(493,275,491,300);
+g.line(701,287,694,302);
+g.line(781,402,767,417);
+g.line(811,304,819,284);
+g.line(1337,295,1352,272);
+g.line(491,301,482,322);
+g.line(602,397,571,452);
+g.line(657,288,659,273);
+g.line(705,283,714,282);
+g.line(870,276,869,293);
+g.line(970,585,1030,478);
+g.line(1090,548,1108,514);
+g.line(1170,155,1165,185);
+g.line(510,270,520,296);
+g.line(526,399,528,388);
+g.line(534,284,531,306);
+g.line(672,151,665,171);
+g.line(735,416,759,372);
+g.line(795,301,808,267);
+g.line(832,521,821,553);
+g.line(848,278,846,293);
+g.line(874,547,893,521);
+g.line(1022,308,1036,288);
+g.line(1115,167,1124,155);
+g.line(1128,277,1113,311);
+g.line(1230,301,1254,266);
+g.line(510,168,520,139);
+g.line(529,300,527,320);
+g.line(612,317,626,276);
+g.line(633,298,637,309);
+g.line(872,511,863,552);
+g.line(1124,167,1120,179);
+g.line(1181,182,1198,149);
+g.line(1194,538,1179,555);
+g.line(476,315,484,286);
+g.line(486,542,499,502);
+g.line(560,522,555,532);
+g.line(622,305,621,320);
+g.line(1110,526,1097,554);
+g.line(1153,274,1147,280);
+g.line(1327,288,1331,274);
+g.line(767,376,739,426);
+g.line(758,416,773,396);
+g.line(769,310,786,271);
+g.line(835,295,843,281);
+g.line(845,313,859,291);
+g.line(914,510,915,521);
+g.line(1058,169,1059,151);
+g.line(1157,550,1171,519);
+g.line(1276,172,1265,192);
+g.line(1348,289,1344,300);
+g.line(423,175,440,133);
+g.line(659,152,651,168);
+g.line(687,394,673,406);
+g.line(720,394,723,381);
+g.line(733,382,710,431);
+g.line(888,540,882,553);
+g.line(896,276,881,313);
+g.line(1052,152,1048,171);
+g.line(1090,169,1086,185);
+g.line(1116,546,1117,525);
+g.line(1133,160,1123,167);
+g.line(1156,184,1161,163);
+g.line(1236,185,1221,186);
+g.line(1364,290,1373,298);
+g.line(619,544,631,510);
+g.line(865,173,865,186);
+g.line(877,299,889,272);
+g.line(988,294,977,318);
+g.line(1070,512,1056,520);
+g.line(1180,519,1170,542);
+g.line(1292,269,1299,259);
+g.line(391,544,411,544);
+g.line(563,449,584,411);
+g.line(645,282,639,292);
+g.line(841,180,863,131);
+g.line(858,159,840,200);
+g.line(955,182,961,166);
+g.line(1031,559,1031,546);
+g.line(1043,285,1037,304);
+g.line(1094,275,1100,266);
+g.line(1147,164,1141,183);
+g.line(1175,546,1187,532);
+g.line(1187,528,1184,518);
+g.line(543,543,553,519);
+g.line(572,310,574,299);
+g.line(687,159,677,179);
+g.line(832,194,842,181);
+g.line(934,186,939,160);
+g.line(1048,169,1039,190);
+g.line(1249,289,1233,311);
+g.line(1286,183,1300,185);
+g.line(438,161,432,178);
+g.line(504,138,497,154);
+g.line(537,409,530,432);
+g.line(541,144,541,160);
+g.line(540,436,545,415);
+g.line(550,411,551,422);
+g.line(579,414,574,397);
+g.line(694,160,698,144);
+g.line(769,553,748,553);
+g.line(947,160,941,190);
+g.line(1122,554,1120,541);
+g.line(675,410,691,408);
+g.line(791,530,797,541);
+g.line(956,519,945,552);
+g.line(981,159,965,174);
+g.line(1035,488,978,589);
+g.line(1198,169,1188,187);
+g.line(1219,275,1199,298);
+g.line(1240,145,1251,148);
+g.line(1316,288,1306,308);
+g.line(503,500,528,493);
+g.line(521,430,530,403);
+g.line(691,418,669,418);
+g.line(735,179,708,178);
+g.line(712,400,699,384);
+g.line(719,286,741,260);
+g.line(795,409,792,422);
+g.line(831,179,812,180);
+g.line(1054,534,1041,546);
+g.line(1052,511,1066,504);
+g.line(1366,274,1348,291);
+g.line(553,421,549,438);
+g.line(589,537,599,539);
+g.line(662,407,681,384);
+g.line(717,434,735,416);
+g.line(738,424,723,442);
+g.line(1114,265,1135,266);
+g.line(574,536,588,516);
+g.line(651,543,664,544);
+g.line(720,305,720,288);
+g.line(781,520,786,529);
+g.line(837,274,822,297);
+g.line(876,312,868,298);
+g.line(978,274,971,285);
+g.line(971,181,986,168);
+g.line(994,286,1003,276);
+g.line(1353,273,1367,263);
+g.line(425,314,403,315);
+g.line(540,507,559,507);
+g.line(557,508,571,522);
+g.line(720,139,733,138);
+g.line(856,181,866,160);
+g.line(871,165,867,176);
+g.line(1021,692,995,687);
+g.line(1062,140,1066,167);
+g.line(1229,309,1229,298);
+g.line(448,136,443,150);
+g.line(567,178,570,160);
+g.line(633,508,646,507);
+g.line(825,304,835,295);
+g.line(961,167,974,153);
+g.line(1032,549,1054,511);
+g.line(1121,305,1140,304);
+g.line(1296,147,1276,147);
+g.line(485,154,494,141);
+g.line(662,165,663,154);
+g.line(687,383,703,402);
+g.line(741,272,725,295);
+g.line(796,423,809,413);
+g.line(846,293,837,305);
+g.line(996,168,980,187);
+g.line(1036,304,1026,315);
+g.line(1132,179,1137,169);
+g.line(1189,296,1215,265);
+g.line(404,304,426,305);
+g.line(494,172,484,156);
+g.line(525,441,536,438);
+g.line(666,286,673,301);
+g.line(706,314,683,314);
+g.line(773,418,786,416);
+g.line(835,397,822,414);
+g.line(965,276,989,259);
+g.line(1275,139,1300,138);
+g.line(498,531,494,540);
+g.line(579,321,572,310);
+g.line(634,530,626,546);
+g.line(665,535,660,523);
+g.line(837,304,822,315);
+g.line(914,521,895,533);
+g.line(1144,313,1115,315);
+g.line(1199,185,1208,164);
+g.line(1301,160,1285,171);
+g.line(488,135,480,144);
+g.line(629,262,644,268);
+g.line(660,524,662,516);
+g.line(765,430,749,426);
+g.line(898,539,909,547);
+g.line(973,151,990,154);
+g.line(989,258,1003,259);
+g.line(1123,154,1138,151);
+g.line(1178,552,1144,561);
+g.line(596,522,578,541);
+g.line(665,302,658,286);
+g.line(779,530,772,520);
+g.line(868,294,852,319);
+g.line(899,554,892,541);
+g.line(1420,278,1402,274);
+g.line(538,164,521,178);
+g.line(670,529,676,534);
+g.line(870,994,869,951);
+g.line(1144,561,1132,563);
+g.line(1294,274,1286,286);
+g.line(410,554,394,554);
+g.line(656,311,669,301);
+g.line(715,291,701,291);
+g.line(993,156,992,172);
+g.line(1016,277,1028,269);
+g.line(1160,506,1184,508);
+g.line(1263,150,1278,139);
+g.line(1287,160,1296,154);
+g.line(666,169,657,182);
+g.line(674,311,659,319);
+g.line(707,380,714,392);
+g.line(869,948,861,894);
+g.line(539,449,523,450);
+g.line(697,431,706,419);
+g.line(786,426,771,428);
+g.line(1193,309,1188,295);
+g.line(500,552,482,555);
+g.line(529,390,546,381);
+g.line(524,545,541,543);
+g.line(534,271,535,284);
+g.line(557,393,552,403);
+g.line(546,267,570,267);
+g.line(677,534,676,541);
+g.line(695,267,710,262);
+g.line(795,518,783,516);
+g.line(816,312,812,304);
+g.line(818,417,799,431);
+g.line(827,269,838,265);
+g.line(861,893,868,832);
+g.line(1132,553,1155,549);
+g.line(1356,306,1340,307);
+g.line(472,153,470,140);
+g.line(588,517,598,512);
+g.line(637,304,651,310);
+g.line(968,521,956,522);
+g.line(1301,140,1304,154);
+g.line(497,160,501,167);
+g.line(525,139,535,138);
+g.line(681,274,674,275);
+g.line(808,173,826,170);
+g.line(1214,269,1224,266);
+g.line(517,528,498,531);
+g.line(817,148,830,142);
+g.line(879,514,895,505);
+g.line(1003,259,1008,267);
+g.line(1396,266,1418,267);
+g.line(502,541,518,535);
+g.line(631,545,641,544);
+g.line(664,267,684,264);
+g.line(720,171,735,168);
+g.line(820,514,841,512);
+g.line(914,554,899,554);
+g.line(1087,313,1079,303);
+g.line(584,267,599,267);
+g.line(670,550,651,555);
+g.line(710,431,700,437);
+g.line(1026,314,1016,316);
+g.line(1056,547,1076,543);
+g.line(1141,182,1124,190);
+g.line(547,382,557,390);
+g.line(565,544,546,548);
+g.line(819,277,826,267);
+g.line(1004,289,990,296);
+g.line(1065,503,1079,503);
+g.line(1181,507,1192,517);
+g.line(1228,282,1218,275);
+g.line(550,435,540,446);
+g.line(908,504,914,511);
+g.line(934,148,954,147);
+g.line(1214,315,1195,314);
+g.line(589,282,605,288);
+g.line(600,292,589,292);
+g.line(795,544,769,553);
+g.line(839,268,848,277);
+g.line(728,294,731,303);
+g.line(1149,306,1142,312);
+g.line(437,132,451,129);
+g.line(517,543,504,549);
+g.line(664,515,679,511);
+g.line(965,321,971,311);
+g.line(547,551,523,556);
+g.line(702,410,691,419);
+g.line(980,185,968,191);
+g.line(469,141,477,131);
+g.line(1029,268,1039,276);
+g.line(590,310,598,303);
+g.line(893,506,909,505);
+g.line(945,511,960,513);
+g.line(1084,511,1070,512);
+g.line(641,551,628,558);
+g.line(1055,558,1037,562);
+g.line(1076,552,1055,556);
+g.line(1409,293,1399,292);
+g.line(445,153,449,158);
+g.line(677,541,669,552);
+g.line(1047,551,1057,547);
+g.line(240,998,400,998);
+g.line(730,310,721,301);
+g.line(771,512,785,507);
+g.line(619,267,629,260);
+g.line(780,265,795,265);
+g.line(477,131,484,128);
+g.line(659,319,641,318);
+g.line(1237,882,1256,908);
+g.line(535,139,539,145);
+g.line(1074,535,1054,535);
+g.line(762,304,738,311);
+g.line(867,942,865,935);
+g.line(1160,149,1177,148);
+g.line(1204,871,1238,884);
+g.line(737,301,749,300);
+g.line(871,836,879,826);
+g.line(400,1003,241,1003);
+g.line(959,871,960,886);
+g.line(1061,526,1070,526);
+g.line(1297,969,1298,985);
+g.line(942,522,933,514);
+g.line(1050,836,1073,838);
+g.line(1014,924,1014,910);
+g.line(1028,837,1050,836);
+g.line(1256,908,1267,929);
+g.line(1269,931,1276,938);
+g.line(952,862,961,871);
+g.line(1005,911,1004,925);
+g.line(1073,839,1082,843);
+g.line(999,908,1001,890);
+g.line(1282,947,1295,969);
+g.line(310,995,241,995);
+g.line(949,844,952,858);
+g.line(1678,22,1608,22);
+    })();
+</script>
diff --git a/lineclipping.c b/lineclipping.c
new file mode 100644
index 0000000000000000000000000000000000000000..310179f5f26675351d55462f4da2b7a5be9e0d3f
--- /dev/null
+++ b/lineclipping.c
@@ -0,0 +1,115 @@
+#include<stdio.h>
+#include<conio.h>
+#include<graphics.h>
+void main()
+{
+int gd=DETECT, gm;
+float i,xmax,ymax,xmin,ymin,x1,y1,x2,y2,m;
+float start[4],end[4],code[4];
+clrscr();
+initgraph(&gd,&gm,"");
+printf("\n\tPlease enter the bottom left co-ordinate of viewport: ");
+scanf("%f %f",&xmin,&ymin);
+printf("\n\tPlease enter the top right co-ordinate of viewport: ");
+scanf("%f %f",&xmax,&ymax);
+printf("\nPlease enter the co-ordinates for starting point of line: ");
+scanf("%f %f",&x1,&y1);
+printf("\nPlease enter the co-ordinates for ending point of line: ");
+scanf("%f %f",&x2,&y2);
+for(i=0;i <4;i++)
+
+{
+start[i]=0;
+end[i]=0;
+}
+m=(y2-y1)/(x2-x1);
+if(x1 <xmin) start[0]=1;
+if(x1 >xmax) start[1]=1;
+if(y1 >ymax) start[2]=1;
+if(y1 <ymin) start[3]=1;
+if(x2 <xmin) end[0]=1;
+if(x2 >xmax) end[1]=1;
+if(y2 >ymax) end[2]=1;
+if(y2 <ymin) end[3]=1;
+for(i=0;i <4;i++)
+
+
+code[i]=start[i]&&end[i];
+
+if((code[0]==0)&&(code[1]==0)&&(code[2]==0)&&(code[3]==0))
+{
+if((start[0]==0)&&(start[1]==0)&&(start[2]==0)&&(start[3]==0)&&(end[0]==0)&&(end[1]==0)&&(end[2]==0)&&(end[3]==0))
+{
+cleardevice();
+    printf("\n\t\tThe line is totally visible\n\t\tand not a clipping candidate");
+    rectangle(xmin,ymin,xmax,ymax);
+    line(x1,y1,x2,y2);
+    getch();
+}
+else
+{
+    cleardevice();
+    printf("\n\t\tLine is partially visible");
+    rectangle(xmin,ymin,xmax,ymax);
+    line(x1,y1,x2,y2);
+    getch();
+
+if((start[2]==0)&&(start[3]==1))
+{
+     x1=x1+(ymin-y1)/m;
+     y1=ymin;
+}
+if((end[2]==0)&&(end[3]==1))
+{
+     x2=x2+(ymin-y2)/m;
+     y2=ymin;
+}
+if((start[2]==1)&&(start[3]==0))
+{
+     x1=x1+(ymax-y1)/m;
+     y1=ymax;
+}
+if((end[2]==1)&&(end[3]==0))
+{
+     x2=x2+(ymax-y2)/m;
+     y2=ymax;
+}
+if((start[1]==0)&&(start[0]==1))
+{
+     y1=y1+m*(xmin-x1);
+     x1=xmin;
+}
+if((end[1]==0)&&(end[0]==1))
+{
+     y2=y2+m*(xmin-x2);
+     x2=xmin;
+}
+if((start[1]==1)&&(start[0]==0))
+{
+     y1=y1+m*(xmax-x1);
+     x1=xmax;
+}
+if((end[1]==1)&&(end[0]==0))
+{
+     y2=y2+m*(xmax-x2);
+     x2=xmax;
+}
+
+clrscr();
+cleardevice();
+printf("\n\t\tAfter clippling:");
+rectangle(xmin,ymin,xmax,ymax);
+line(x1,y1,x2,y2);
+getch();
+}
+}
+else
+{
+    clrscr();
+    cleardevice();
+    printf("\nLine is invisible");
+    rectangle(xmin,ymin,xmax,ymax);
+}
+getch();
+closegraph();
+}
\ No newline at end of file
diff --git a/literature_survey.md b/literature_survey.md
new file mode 100644
index 0000000000000000000000000000000000000000..ddfbbbdac69654b63265d1aba37b49d641ae40ed
--- /dev/null
+++ b/literature_survey.md
@@ -0,0 +1,3 @@
+|authors|name of paper|methodology|remarks|
+|-|-|-|-|
+|Put second name only. If more than two authors, put et al.|
diff --git a/summa.xml b/summa.xml
new file mode 100644
index 0000000000000000000000000000000000000000..db09db2d1f06f2bfa3c4d7db650085b39001c883
--- /dev/null
+++ b/summa.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0">
+<profile>
+    <name>
+        <firstname></firstname>
+        
+    </name>
+</profile>
\ No newline at end of file
diff --git a/trans.c b/trans.c
new file mode 100644
index 0000000000000000000000000000000000000000..03c972f661446d45481d420ee5d25695802f5755
--- /dev/null
+++ b/trans.c
@@ -0,0 +1,117 @@
+#include<stdio.h>
+#include<conio.h>
+#include<graphics.h>
+#include<math.h>
+
+void translate();
+void scale();
+void rotate();
+
+void main()
+{
+int ch;
+int gd=DETECT,gm;
+initgraph(&gd,&gm,"C:\\TurboC3\\BGI");
+
+setcolor(6);
+outtextxy (100,88,"Object.");
+rectangle(100,150,150,100);
+
+printf("---MENU---");
+printf("\n 1)Translate\n 2)Scale\n 3)Rotate");
+printf("\nEnter your choice: ");
+scanf("%d",&ch);
+cleardevice();
+
+switch(ch)
+{
+case 1: translate();
+break;
+case 2: scale();
+break;
+case 3: rotate();
+break;
+default: printf("you have enterd wrong choice");
+break;
+}
+getch();
+closegraph();
+}
+
+void translate()
+{
+int tx,ty;
+setcolor(2);
+outtextxy(240,10,"TRANSLATION");
+outtextxy(238,20,"------------");
+printf("\nEnter tx: ");
+scanf("%d",&tx);
+printf("\nEnter ty: ");
+scanf("%d",&ty);
+cleardevice();
+rectangle(100,150,150,100);
+printf("\nAfter Translation");
+rectangle(100+tx,150+ty,150+tx,100+ty);
+}
+
+void scale()
+{
+int sx,sy;
+setcolor(2);
+outtextxy(240,10,"SCALING");
+outtextxy(238,20,"--------");
+printf("\nEnter sx: ");
+scanf("%d",&sx);
+printf("\nEnter sy: ");
+scanf("%d",&sy);
+cleardevice();
+rectangle(100,150,150,100);
+printf("\nAfter Scaling");
+rectangle(100*sx,150*sy,150*sx,100*sy);
+}
+
+void rotate()
+{
+float theta;
+int x1,x2,x3,x4;
+int y1,y2,y3,y4;
+int ax1,ax2,ax3,ax4,ay1,ay2,ay3,ay4;
+int refx,refy;
+printf("\nEnter the angle for rotation: ");
+scanf("%f",&theta);
+theta=theta*(3.14/180);
+cleardevice();
+setcolor(2);
+outtextxy(240,10,"ROTATE");
+outtextxy(238,20,"-------");
+refx=100;
+refy=100;
+
+x1=100;
+y1=100;
+x2=150;
+y2=100;
+x3=150;
+y3=150;
+x4=100;
+y4=150;
+
+ax1=refy+(x1-refx)*cos(theta)-(y1-refy)*sin(theta);
+ay1=refy+(x1-refx)*sin(theta)+(y1-refy)*cos(theta);
+
+ax2=refy+(x2-refx)*cos(theta)-(y2-refy)*sin(theta);
+ay2=refy+(x2-refx)*sin(theta)+(y2-refy)*cos(theta);
+
+ax3=refy+(x3-refx)*cos(theta)-(y3-refy)*sin(theta);
+ay3=refy+(x3-refx)*sin(theta)+(y3-refy)*cos(theta);
+
+ax4=refy+(x4-refx)*cos(theta)-(y4-refy)*sin(theta);
+ay4=refy+(x4-refx)*sin(theta)+(y4-refy)*cos(theta);
+rectangle(100,150,150,100);
+line(ax1,ay1,ax2,ay2);
+line(ax2,ay2,ax3,ay3);
+line(ax3,ay3,ax4,ay4);
+line(ax4,ay4,ax1,ay1);
+
+
+}
\ No newline at end of file