Skip to content
Snippets Groups Projects
Commit 3c4cdd2f authored by Sankkara Narayanan's avatar Sankkara Narayanan
Browse files

batrang and floral

parent 4f08c296
No related branches found
No related tags found
No related merge requests found
#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
bezier.c 0 → 100644
#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
......@@ -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);
......
floral.c 0 → 100644
#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
<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>
#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
|authors|name of paper|methodology|remarks|
|-|-|-|-|
|Put second name only. If more than two authors, put et al.|
<?xml version="1.0">
<profile>
<name>
<firstname></firstname>
</name>
</profile>
\ No newline at end of file
trans.c 0 → 100644
#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
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment