<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>electrofriends.com &#187; Graphics</title>
	<atom:link href="http://electrofriends.com/category/source-codes/software-programs/c/graphics/feed/" rel="self" type="application/rss+xml" />
	<link>http://electrofriends.com</link>
	<description>...bringing innovative minds together</description>
	<lastBuildDate>Fri, 30 Apr 2010 05:54:32 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>C graphics program for analog clock</title>
		<link>http://electrofriends.com/source-codes/software-programs/c/graphics/c-graphics-program-for-analog-clock/</link>
		<comments>http://electrofriends.com/source-codes/software-programs/c/graphics/c-graphics-program-for-analog-clock/#comments</comments>
		<pubDate>Fri, 02 Oct 2009 12:51:49 +0000</pubDate>
		<dc:creator>Ranjith</dc:creator>
				<category><![CDATA[Graphics]]></category>
		<category><![CDATA[analog clock]]></category>
		<category><![CDATA[c graphics]]></category>
		<category><![CDATA[clock in c]]></category>
		<category><![CDATA[digital clock]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[free]]></category>
		<category><![CDATA[Source Codes]]></category>

		<guid isPermaLink="false">http://electrofriends.com/?p=843</guid>
		<description><![CDATA[Time_Dig[0]=hour/10+48;
      Time_Dig[1]=hour%10+48;
      Time_Dig[2]=':';
      Time_Dig[3]=min/10+48;
      Time_Dig[4]=min%10+48;
      Time_Dig[5]=':';
      Time_Dig[6]=sec/10+48;]]></description>
			<content:encoded><![CDATA[
<div class="wp_syntax"><div class="code"><pre class="c" style="font-family:monospace;"><span style="color: #339933;">#include&lt;stdio.h&gt;</span>
<span style="color: #339933;">#include&lt;conio.h&gt;</span>
<span style="color: #339933;">#include&lt;graphics.h&gt;</span>
<span style="color: #339933;">#include&lt;dos.h&gt;</span>
<span style="color: #339933;">#include&lt;math.h&gt;</span>
&nbsp;
<span style="color: #339933;">#define arg_sec M_PI/30</span>
<span style="color: #339933;">#define arg_hour M_PI/6</span>
<span style="color: #339933;">#define arg_min M_PI/360</span>
<span style="color: #993333;">void</span> main<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
  <span style="color: #993333;">int</span> gd<span style="color: #339933;">=</span>DETECT<span style="color: #339933;">,</span>gm<span style="color: #339933;">,</span>sec<span style="color: #339933;">=</span><span style="color: #0000dd;">0</span><span style="color: #339933;">,</span>hour<span style="color: #339933;">,</span>min<span style="color: #339933;">,</span>x1<span style="color: #339933;">=</span><span style="color: #0000dd;">0</span><span style="color: #339933;">,</span>y1<span style="color: #339933;">=</span><span style="color: #0000dd;">0</span><span style="color: #339933;">,</span>x2<span style="color: #339933;">=</span><span style="color: #0000dd;">0</span><span style="color: #339933;">,</span>y2<span style="color: #339933;">=</span><span style="color: #0000dd;">0</span><span style="color: #339933;">,</span>x3<span style="color: #339933;">=</span><span style="color: #0000dd;">0</span><span style="color: #339933;">,</span>y3<span style="color: #339933;">=</span><span style="color: #0000dd;">0</span><span style="color: #339933;">;</span>
  <span style="color: #993333;">char</span> <span style="color: #339933;">*</span>k<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">12</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span><span style="color: #009900;">&#123;</span><span style="color: #ff0000;">&quot;1&quot;</span><span style="color: #339933;">,</span><span style="color: #ff0000;">&quot;2&quot;</span><span style="color: #339933;">,</span><span style="color: #ff0000;">&quot;3&quot;</span><span style="color: #339933;">,</span><span style="color: #ff0000;">&quot;4&quot;</span><span style="color: #339933;">,</span><span style="color: #ff0000;">&quot;5&quot;</span><span style="color: #339933;">,</span><span style="color: #ff0000;">&quot;6&quot;</span><span style="color: #339933;">,</span><span style="color: #ff0000;">&quot;7&quot;</span><span style="color: #339933;">,</span><span style="color: #ff0000;">&quot;8&quot;</span><span style="color: #339933;">,</span><span style="color: #ff0000;">&quot;9&quot;</span><span style="color: #339933;">,</span><span style="color: #ff0000;">&quot;10&quot;</span><span style="color: #339933;">,</span><span style="color: #ff0000;">&quot;11&quot;</span><span style="color: #339933;">,</span><span style="color: #ff0000;">&quot;12&quot;</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
  <span style="color: #993333;">struct</span> time t<span style="color: #339933;">;</span>
  initgraph<span style="color: #009900;">&#40;</span><span style="color: #339933;">&amp;</span>gd<span style="color: #339933;">,&amp;</span>gm<span style="color: #339933;">,</span><span style="color: #ff0000;">&quot;&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  setcolor<span style="color: #009900;">&#40;</span>YELLOW<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  circle<span style="color: #009900;">&#40;</span><span style="color: #0000dd;">300</span><span style="color: #339933;">,</span><span style="color: #0000dd;">200</span><span style="color: #339933;">,</span><span style="color: #0000dd;">200</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  circle<span style="color: #009900;">&#40;</span><span style="color: #0000dd;">300</span><span style="color: #339933;">,</span><span style="color: #0000dd;">200</span><span style="color: #339933;">,</span><span style="color: #0000dd;">180</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  setfillstyle<span style="color: #009900;">&#40;</span><span style="color: #0000dd;">1</span><span style="color: #339933;">,</span>RED<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  floodfill<span style="color: #009900;">&#40;</span><span style="color: #0000dd;">300</span><span style="color: #339933;">,</span><span style="color: #0000dd;">390</span><span style="color: #339933;">,</span>YELLOW<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  settextstyle<span style="color: #009900;">&#40;</span>DEFAULT_FONT<span style="color: #339933;">,</span><span style="color: #0000dd;">0</span><span style="color: #339933;">,</span><span style="color: #0000dd;">2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">//----------------------Constants----------------------//</span>
&nbsp;
  <span style="color: #993333;">int</span> a<span style="color: #339933;">,</span>b<span style="color: #339933;">;</span>
  <span style="color: #b1b100;">for</span><span style="color: #009900;">&#40;</span><span style="color: #993333;">int</span> i<span style="color: #339933;">=</span><span style="color: #0000dd;">1</span><span style="color: #339933;">;</span>i<span style="color: #339933;">&lt;</span><span style="color: #0000dd;">13</span><span style="color: #339933;">;</span>i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
	a<span style="color: #339933;">=</span><span style="color: #0000dd;">160</span><span style="color: #339933;">*</span>cos<span style="color: #009900;">&#40;</span>arg_hour<span style="color: #339933;">*</span>i<span style="color: #339933;">-</span>M_PI_2<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	b<span style="color: #339933;">=</span><span style="color: #0000dd;">160</span><span style="color: #339933;">*</span>sin<span style="color: #009900;">&#40;</span>arg_hour<span style="color: #339933;">*</span>i<span style="color: #339933;">-</span>M_PI_2<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	outtextxy<span style="color: #009900;">&#40;</span>a<span style="color: #339933;">+</span><span style="color: #0000dd;">300</span><span style="color: #339933;">,</span>b<span style="color: #339933;">+</span><span style="color: #0000dd;">200</span><span style="color: #339933;">,</span>k<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">-</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">//----------------------Constants----------------------//</span>
<span style="color: #808080; font-style: italic;">/*****************************************************
		 1-Good
		 2-Small
		 3-Watse
		 4-caligraphy
		 5-cursive
		 6-good
		 7-excellent
		 8-Good
		 9-Big
		 10-Double
 ****************************************************/</span>
 <span style="color: #993333;">int</span> dig_sec<span style="color: #339933;">;</span>
 <span style="color: #993333;">char</span> Time_Dig<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">14</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
  <span style="color: #b1b100;">while</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span>kbhit<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
   <span style="color: #009900;">&#123;</span>
       settextstyle<span style="color: #009900;">&#40;</span><span style="color: #0000dd;">7</span><span style="color: #339933;">,</span><span style="color: #0000dd;">0</span><span style="color: #339933;">,</span><span style="color: #0000dd;">4</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      outtextxy<span style="color: #009900;">&#40;</span><span style="color: #0000dd;">264</span><span style="color: #339933;">,</span><span style="color: #0000dd;">100</span><span style="color: #339933;">,</span><span style="color: #ff0000;">&quot;Satya&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      settextstyle<span style="color: #009900;">&#40;</span><span style="color: #0000dd;">7</span><span style="color: #339933;">,</span><span style="color: #0000dd;">0</span><span style="color: #339933;">,</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      outtextxy<span style="color: #009900;">&#40;</span><span style="color: #0000dd;">278</span><span style="color: #339933;">,</span><span style="color: #0000dd;">280</span><span style="color: #339933;">,</span><span style="color: #ff0000;">&quot;Quartz&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      setcolor<span style="color: #009900;">&#40;</span>BLACK<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      line<span style="color: #009900;">&#40;</span><span style="color: #0000dd;">300</span><span style="color: #339933;">,</span><span style="color: #0000dd;">200</span><span style="color: #339933;">,</span>x1<span style="color: #339933;">+</span><span style="color: #0000dd;">300</span><span style="color: #339933;">,</span>y1<span style="color: #339933;">+</span><span style="color: #0000dd;">200</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      line<span style="color: #009900;">&#40;</span><span style="color: #0000dd;">300</span><span style="color: #339933;">,</span><span style="color: #0000dd;">200</span><span style="color: #339933;">,</span>x2<span style="color: #339933;">+</span><span style="color: #0000dd;">300</span><span style="color: #339933;">,</span>y2<span style="color: #339933;">+</span><span style="color: #0000dd;">200</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      line<span style="color: #009900;">&#40;</span><span style="color: #0000dd;">300</span><span style="color: #339933;">,</span><span style="color: #0000dd;">200</span><span style="color: #339933;">,</span>x3<span style="color: #339933;">+</span><span style="color: #0000dd;">300</span><span style="color: #339933;">,</span>y3<span style="color: #339933;">+</span><span style="color: #0000dd;">200</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      gettime<span style="color: #009900;">&#40;</span><span style="color: #339933;">&amp;</span>t<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span>sec<span style="color: #339933;">!=</span>t.<span style="color: #202020;">ti_sec</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
	   sound<span style="color: #009900;">&#40;</span><span style="color: #0000dd;">5000</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	   delay<span style="color: #009900;">&#40;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	   nosound<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
      hour<span style="color: #339933;">=</span>t.<span style="color: #202020;">ti_hour</span><span style="color: #339933;">;</span>
      sec<span style="color: #339933;">=</span>t.<span style="color: #202020;">ti_sec</span><span style="color: #339933;">;</span>
      min<span style="color: #339933;">=</span>t.<span style="color: #202020;">ti_min</span><span style="color: #339933;">;</span>
      Time_Dig<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span>hour<span style="color: #339933;">/</span><span style="color: #0000dd;">10</span><span style="color: #339933;">+</span><span style="color: #0000dd;">48</span><span style="color: #339933;">;</span>
      Time_Dig<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span>hour<span style="color: #339933;">%</span><span style="color:#800080;">10</span><span style="color: #339933;">+</span><span style="color: #0000dd;">48</span><span style="color: #339933;">;</span>
      Time_Dig<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span><span style="color: #ff0000;">':'</span><span style="color: #339933;">;</span>
      Time_Dig<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">3</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span>min<span style="color: #339933;">/</span><span style="color: #0000dd;">10</span><span style="color: #339933;">+</span><span style="color: #0000dd;">48</span><span style="color: #339933;">;</span>
      Time_Dig<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">4</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span>min<span style="color: #339933;">%</span><span style="color:#800080;">10</span><span style="color: #339933;">+</span><span style="color: #0000dd;">48</span><span style="color: #339933;">;</span>
      Time_Dig<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">5</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span><span style="color: #ff0000;">':'</span><span style="color: #339933;">;</span>
      Time_Dig<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">6</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span>sec<span style="color: #339933;">/</span><span style="color: #0000dd;">10</span><span style="color: #339933;">+</span><span style="color: #0000dd;">48</span><span style="color: #339933;">;</span>
      Time_Dig<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">7</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span>sec<span style="color: #339933;">%</span><span style="color:#800080;">10</span><span style="color: #339933;">+</span><span style="color: #0000dd;">48</span><span style="color: #339933;">;</span>
      Time_Dig<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">8</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span><span style="color: #ff0000;">'<span style="color: #006699; font-weight: bold;">\0</span>'</span><span style="color: #339933;">;</span>
      outtextxy<span style="color: #009900;">&#40;</span><span style="color: #0000dd;">270</span><span style="color: #339933;">,</span><span style="color: #0000dd;">250</span><span style="color: #339933;">,</span><span style="color: #ff0000;">&quot;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      x1<span style="color: #339933;">=</span><span style="color: #0000dd;">150</span><span style="color: #339933;">*</span>cos<span style="color: #009900;">&#40;</span>arg_sec<span style="color: #339933;">*</span>sec<span style="color: #339933;">-</span>M_PI_2<span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span><span style="color:#800080;">0.98</span><span style="color: #339933;">;</span>
      y1<span style="color: #339933;">=</span><span style="color: #0000dd;">150</span><span style="color: #339933;">*</span>sin<span style="color: #009900;">&#40;</span>arg_sec<span style="color: #339933;">*</span>sec<span style="color: #339933;">-</span>M_PI_2<span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span><span style="color:#800080;">0.98</span><span style="color: #339933;">;</span>
      x2<span style="color: #339933;">=</span><span style="color: #0000dd;">150</span><span style="color: #339933;">*</span>cos<span style="color: #009900;">&#40;</span>arg_sec<span style="color: #339933;">*</span>min<span style="color: #339933;">-</span>M_PI_2<span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span><span style="color:#800080;">0.9</span><span style="color: #339933;">;</span>
      y2<span style="color: #339933;">=</span><span style="color: #0000dd;">150</span><span style="color: #339933;">*</span>sin<span style="color: #009900;">&#40;</span>arg_sec<span style="color: #339933;">*</span>min<span style="color: #339933;">-</span>M_PI_2<span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span><span style="color:#800080;">0.9</span><span style="color: #339933;">;</span>
      <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span>hour<span style="color: #339933;">&gt;</span><span style="color: #0000dd;">12</span><span style="color: #009900;">&#41;</span> hour<span style="color: #339933;">-=</span><span style="color: #0000dd;">12</span><span style="color: #339933;">;</span>
      x3<span style="color: #339933;">=</span><span style="color: #0000dd;">150</span><span style="color: #339933;">*</span>cos<span style="color: #009900;">&#40;</span>arg_hour<span style="color: #339933;">*</span>hour<span style="color: #339933;">-</span>M_PI_2<span style="color: #339933;">+</span>arg_min<span style="color: #339933;">*</span>min<span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span><span style="color:#800080;">0.6</span><span style="color: #339933;">;</span>
      y3<span style="color: #339933;">=</span><span style="color: #0000dd;">150</span><span style="color: #339933;">*</span>sin<span style="color: #009900;">&#40;</span>arg_hour<span style="color: #339933;">*</span>hour<span style="color: #339933;">-</span>M_PI_2<span style="color: #339933;">+</span>arg_min<span style="color: #339933;">*</span>min<span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span><span style="color:#800080;">0.6</span><span style="color: #339933;">;</span>
      setcolor<span style="color: #009900;">&#40;</span>YELLOW<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      line<span style="color: #009900;">&#40;</span><span style="color: #0000dd;">300</span><span style="color: #339933;">,</span><span style="color: #0000dd;">200</span><span style="color: #339933;">,</span>x1<span style="color: #339933;">+</span><span style="color: #0000dd;">300</span><span style="color: #339933;">,</span>y1<span style="color: #339933;">+</span><span style="color: #0000dd;">200</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      setcolor<span style="color: #009900;">&#40;</span>CYAN<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      line<span style="color: #009900;">&#40;</span><span style="color: #0000dd;">300</span><span style="color: #339933;">,</span><span style="color: #0000dd;">200</span><span style="color: #339933;">,</span>x2<span style="color: #339933;">+</span><span style="color: #0000dd;">300</span><span style="color: #339933;">,</span>y2<span style="color: #339933;">+</span><span style="color: #0000dd;">200</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      setcolor<span style="color: #009900;">&#40;</span>WHITE<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      line<span style="color: #009900;">&#40;</span><span style="color: #0000dd;">300</span><span style="color: #339933;">,</span><span style="color: #0000dd;">200</span><span style="color: #339933;">,</span>x3<span style="color: #339933;">+</span><span style="color: #0000dd;">300</span><span style="color: #339933;">,</span>y3<span style="color: #339933;">+</span><span style="color: #0000dd;">200</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      setcolor<span style="color: #009900;">&#40;</span>YELLOW<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      outtextxy<span style="color: #009900;">&#40;</span><span style="color: #0000dd;">270</span><span style="color: #339933;">,</span><span style="color: #0000dd;">250</span><span style="color: #339933;">,</span>Time_Dig<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      delay<span style="color: #009900;">&#40;</span><span style="color: #0000dd;">50</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
   <span style="color: #009900;">&#125;</span>
&nbsp;
  getch<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  closegraph<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  restorecrtmode<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p><a href="http://electrofriends.com/wp-content/uploads/2009/10/Clock.zip"><br />
Click here</a> to download the source code.</p>
]]></content:encoded>
			<wfw:commentRss>http://electrofriends.com/source-codes/software-programs/c/graphics/c-graphics-program-for-analog-clock/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>C Program to fill any given polygon using scan-line area filling algorithm</title>
		<link>http://electrofriends.com/source-codes/software-programs/c/graphics/c-program-to-fill-any-given-polygon-using-scan-line-area-filling-algorithm/</link>
		<comments>http://electrofriends.com/source-codes/software-programs/c/graphics/c-program-to-fill-any-given-polygon-using-scan-line-area-filling-algorithm/#comments</comments>
		<pubDate>Fri, 02 Oct 2009 10:34:38 +0000</pubDate>
		<dc:creator>Ranjith</dc:creator>
				<category><![CDATA[Graphics]]></category>
		<category><![CDATA[C]]></category>
		<category><![CDATA[c graphics]]></category>
		<category><![CDATA[Data structure]]></category>
		<category><![CDATA[dos]]></category>
		<category><![CDATA[filcolor]]></category>
		<category><![CDATA[filling algorithm]]></category>
		<category><![CDATA[polygon]]></category>

		<guid isPermaLink="false">http://electrofriends.com/?p=841</guid>
		<description><![CDATA[setcolor (WHITE);
    line (pt[0][0], pt[0][1], pt[1][0], pt[1][1]);
    line (pt[1][0], pt[1][1], pt[2][0], pt[2][1]);
    line (pt[2][0], pt[2][1], pt[0][0], pt[0][1]);
    getch();]]></description>
			<content:encoded><![CDATA[
<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
</pre></td><td class="code"><pre class="c" style="font-family:monospace;"><span style="color: #339933;">#include &lt;graphics.h&gt;</span>
<span style="color: #339933;">#include &lt;stdio.h&gt;</span>
<span style="color: #339933;">#include &lt;stdlib.h&gt;</span>
<span style="color: #339933;">#include &lt;conio.h&gt;</span>
&nbsp;
<span style="color: #993333;">struct</span> Node
<span style="color: #009900;">&#123;</span>
    <span style="color: #993333;">int</span> x<span style="color: #339933;">;</span>
    <span style="color: #993333;">int</span> y<span style="color: #339933;">;</span>
    <span style="color: #993333;">struct</span> Node<span style="color: #339933;">*</span> next<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #993333;">void</span> fill <span style="color: #009900;">&#40;</span><span style="color: #993333;">int</span> pt<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #993333;">int</span> clr<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #993333;">void</span> floodfill4 <span style="color: #009900;">&#40;</span><span style="color: #993333;">int</span> x<span style="color: #339933;">,</span> <span style="color: #993333;">int</span> y<span style="color: #339933;">,</span> <span style="color: #993333;">int</span> oldclr<span style="color: #339933;">,</span> <span style="color: #993333;">int</span> newclr<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #993333;">void</span> insert <span style="color: #009900;">&#40;</span><span style="color: #993333;">int</span> x<span style="color: #339933;">,</span> <span style="color: #993333;">int</span> y<span style="color: #339933;">,</span> <span style="color: #993333;">struct</span> Node<span style="color: #339933;">**</span> last<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #993333;">void</span> main<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
    <span style="color: #993333;">int</span> i<span style="color: #339933;">,</span> j<span style="color: #339933;">;</span>
    <span style="color: #993333;">int</span> pt<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">3</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
    <span style="color: #993333;">int</span> clr<span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #000066;">printf</span> <span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;This program demonstrates filling a polygon.<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000066;">printf</span> <span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;Enter the x- and y-coordinates for three points:<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">for</span> <span style="color: #009900;">&#40;</span>i<span style="color: #339933;">=</span><span style="color: #0000dd;">0</span><span style="color: #339933;">;</span> i<span style="color: #339933;">&lt;</span><span style="color: #0000dd;">3</span><span style="color: #339933;">;</span> i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span>
	<span style="color: #b1b100;">for</span> <span style="color: #009900;">&#40;</span>j<span style="color: #339933;">=</span><span style="color: #0000dd;">0</span><span style="color: #339933;">;</span> j<span style="color: #339933;">&lt;</span><span style="color: #0000dd;">2</span><span style="color: #339933;">;</span> j<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span>
	    scanf <span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;%d&quot;</span><span style="color: #339933;">,</span> <span style="color: #339933;">&amp;</span>pt<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span>j<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #000066;">printf</span> <span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;Enter the fill-colour: (Any number from 1 to 14) &quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    scanf <span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;%d&quot;</span><span style="color: #339933;">,</span> <span style="color: #339933;">&amp;</span>clr<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    fill <span style="color: #009900;">&#40;</span>pt<span style="color: #339933;">,</span> clr<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #993333;">void</span> fill <span style="color: #009900;">&#40;</span><span style="color: #993333;">int</span> pt<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #993333;">int</span> clr<span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
    <span style="color: #993333;">int</span> gd <span style="color: #339933;">=</span> DETECT<span style="color: #339933;">,</span> gm<span style="color: #339933;">;</span>
    <span style="color: #993333;">int</span> seedx<span style="color: #339933;">,</span> seedy<span style="color: #339933;">;</span>
&nbsp;
    initgraph <span style="color: #009900;">&#40;</span><span style="color: #339933;">&amp;</span>gd<span style="color: #339933;">,</span> <span style="color: #339933;">&amp;</span>gm<span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;..\<span style="color: #000099; font-weight: bold;">\b</span>gi&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    setcolor <span style="color: #009900;">&#40;</span>WHITE<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    line <span style="color: #009900;">&#40;</span>pt<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> pt<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> pt<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> pt<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    line <span style="color: #009900;">&#40;</span>pt<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> pt<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> pt<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> pt<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    line <span style="color: #009900;">&#40;</span>pt<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> pt<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> pt<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> pt<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    getch<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    seedx <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span>pt<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">+</span> pt<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">+</span> pt<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">/</span> <span style="color: #0000dd;">3</span><span style="color: #339933;">;</span>
    seedy <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span>pt<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">+</span> pt<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">+</span> pt<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">/</span> <span style="color: #0000dd;">3</span><span style="color: #339933;">;</span>
&nbsp;
    floodfill4 <span style="color: #009900;">&#40;</span>seedx<span style="color: #339933;">,</span> seedy<span style="color: #339933;">,</span> BLACK<span style="color: #339933;">,</span> clr<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    getch<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    closegraph<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">return</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #993333;">void</span> floodfill4 <span style="color: #009900;">&#40;</span><span style="color: #993333;">int</span> x<span style="color: #339933;">,</span> <span style="color: #993333;">int</span> y<span style="color: #339933;">,</span> <span style="color: #993333;">int</span> oldclr<span style="color: #339933;">,</span> <span style="color: #993333;">int</span> newclr<span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
    <span style="color: #993333;">struct</span> Node<span style="color: #339933;">*</span> first<span style="color: #339933;">,</span> <span style="color: #339933;">*</span>last<span style="color: #339933;">,</span> <span style="color: #339933;">*</span>tmp<span style="color: #339933;">;</span>
&nbsp;
    first <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #993333;">struct</span> Node<span style="color: #339933;">*</span><span style="color: #009900;">&#41;</span> malloc <span style="color: #009900;">&#40;</span><span style="color: #993333;">sizeof</span> <span style="color: #009900;">&#40;</span><span style="color: #993333;">struct</span> Node<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>first <span style="color: #339933;">==</span> NULL<span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
	closegraph<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	fprintf <span style="color: #009900;">&#40;</span>stderr<span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;floodfill4: Out of memory.<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	exit <span style="color: #009900;">&#40;</span><span style="color: #0000dd;">2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>oldclr <span style="color: #339933;">==</span> newclr<span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
	free <span style="color: #009900;">&#40;</span>first<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">return</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    first<span style="color: #339933;">-&gt;</span>x <span style="color: #339933;">=</span> x<span style="color: #339933;">;</span>
    first<span style="color: #339933;">-&gt;</span>y <span style="color: #339933;">=</span> y<span style="color: #339933;">;</span>
    first<span style="color: #339933;">-&gt;</span>next <span style="color: #339933;">=</span> NULL<span style="color: #339933;">;</span>
    last <span style="color: #339933;">=</span> first<span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #b1b100;">while</span> <span style="color: #009900;">&#40;</span>first <span style="color: #339933;">!=</span> NULL<span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
	putpixel <span style="color: #009900;">&#40;</span>x<span style="color: #339933;">,</span> y<span style="color: #339933;">,</span> newclr<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>getpixel <span style="color: #009900;">&#40;</span>x<span style="color: #339933;">,</span> y<span style="color: #339933;">-</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> oldclr<span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
	    putpixel <span style="color: #009900;">&#40;</span>x<span style="color: #339933;">,</span> y<span style="color: #339933;">-</span><span style="color: #0000dd;">1</span><span style="color: #339933;">,</span> newclr<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	    insert <span style="color: #009900;">&#40;</span>x<span style="color: #339933;">,</span> y<span style="color: #339933;">-</span><span style="color: #0000dd;">1</span><span style="color: #339933;">,</span> <span style="color: #339933;">&amp;</span>last<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
&nbsp;
	<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>getpixel <span style="color: #009900;">&#40;</span>x<span style="color: #339933;">,</span> y<span style="color: #339933;">+</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> oldclr<span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
	    putpixel <span style="color: #009900;">&#40;</span>x<span style="color: #339933;">,</span> y<span style="color: #339933;">+</span><span style="color: #0000dd;">1</span><span style="color: #339933;">,</span> newclr<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	    insert <span style="color: #009900;">&#40;</span>x<span style="color: #339933;">,</span> y<span style="color: #339933;">+</span><span style="color: #0000dd;">1</span><span style="color: #339933;">,</span> <span style="color: #339933;">&amp;</span>last<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>getpixel <span style="color: #009900;">&#40;</span>x<span style="color: #339933;">-</span><span style="color: #0000dd;">1</span><span style="color: #339933;">,</span> y<span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> oldclr<span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
	    putpixel <span style="color: #009900;">&#40;</span>x<span style="color: #339933;">-</span><span style="color: #0000dd;">1</span><span style="color: #339933;">,</span> y<span style="color: #339933;">,</span> newclr<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	    insert <span style="color: #009900;">&#40;</span>x<span style="color: #339933;">-</span><span style="color: #0000dd;">1</span><span style="color: #339933;">,</span> y<span style="color: #339933;">,</span> <span style="color: #339933;">&amp;</span>last<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>getpixel <span style="color: #009900;">&#40;</span>x<span style="color: #339933;">+</span><span style="color: #0000dd;">1</span><span style="color: #339933;">,</span> y<span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> oldclr<span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
	    putpixel <span style="color: #009900;">&#40;</span>x<span style="color: #339933;">+</span><span style="color: #0000dd;">1</span><span style="color: #339933;">,</span> y<span style="color: #339933;">,</span> newclr<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	    insert <span style="color: #009900;">&#40;</span>x<span style="color: #339933;">+</span><span style="color: #0000dd;">1</span><span style="color: #339933;">,</span> y<span style="color: #339933;">,</span> <span style="color: #339933;">&amp;</span>last<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	tmp <span style="color: #339933;">=</span> first<span style="color: #339933;">;</span>
	first <span style="color: #339933;">=</span> first<span style="color: #339933;">-&gt;</span>next<span style="color: #339933;">;</span>
	x <span style="color: #339933;">=</span> first<span style="color: #339933;">-&gt;</span>x<span style="color: #339933;">;</span>
	y <span style="color: #339933;">=</span> first<span style="color: #339933;">-&gt;</span>y<span style="color: #339933;">;</span>
	free <span style="color: #009900;">&#40;</span>tmp<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #993333;">void</span> insert <span style="color: #009900;">&#40;</span><span style="color: #993333;">int</span> x<span style="color: #339933;">,</span> <span style="color: #993333;">int</span> y<span style="color: #339933;">,</span> <span style="color: #993333;">struct</span> Node<span style="color: #339933;">**</span> last<span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
    <span style="color: #993333;">struct</span> Node<span style="color: #339933;">*</span> p<span style="color: #339933;">;</span>
    p <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #993333;">struct</span> Node<span style="color: #339933;">*</span><span style="color: #009900;">&#41;</span> malloc <span style="color: #009900;">&#40;</span><span style="color: #993333;">sizeof</span> <span style="color: #009900;">&#40;</span><span style="color: #993333;">struct</span> Node<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>p <span style="color: #339933;">==</span> NULL<span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
	closegraph<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	fprintf <span style="color: #009900;">&#40;</span>stderr<span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span> insert: Out of memory.<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	exit <span style="color: #009900;">&#40;</span><span style="color: #0000dd;">2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    p<span style="color: #339933;">-&gt;</span>x <span style="color: #339933;">=</span> x<span style="color: #339933;">;</span>
    p<span style="color: #339933;">-&gt;</span>y <span style="color: #339933;">=</span> y<span style="color: #339933;">;</span>
    p<span style="color: #339933;">-&gt;</span>next <span style="color: #339933;">=</span> NULL<span style="color: #339933;">;</span>
    <span style="color: #009900;">&#40;</span><span style="color: #339933;">*</span>last<span style="color: #009900;">&#41;</span><span style="color: #339933;">-&gt;</span>next <span style="color: #339933;">=</span> p<span style="color: #339933;">;</span>
    <span style="color: #339933;">*</span>last <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">*</span>last<span style="color: #009900;">&#41;</span><span style="color: #339933;">-&gt;</span>next<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://electrofriends.com/source-codes/software-programs/c/graphics/c-program-to-fill-any-given-polygon-using-scan-line-area-filling-algorithm/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>C Program to implement 3-D rotation with respect to x-axis, y-axis and z-axis</title>
		<link>http://electrofriends.com/source-codes/software-programs/c/graphics/c-program-to-implement-3-d-rotation-with-respect-to-x-axis-y-axis-and-z-axis/</link>
		<comments>http://electrofriends.com/source-codes/software-programs/c/graphics/c-program-to-implement-3-d-rotation-with-respect-to-x-axis-y-axis-and-z-axis/#comments</comments>
		<pubDate>Fri, 02 Oct 2009 10:32:20 +0000</pubDate>
		<dc:creator>Ranjith</dc:creator>
				<category><![CDATA[Graphics]]></category>
		<category><![CDATA[3-d rotation in c]]></category>
		<category><![CDATA[3d rotaion graphics]]></category>
		<category><![CDATA[c graphics]]></category>
		<category><![CDATA[codes]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[free]]></category>
		<category><![CDATA[model of a cube]]></category>

		<guid isPermaLink="false">http://electrofriends.com/?p=839</guid>
		<description><![CDATA[C Program to implement 3-D rotation with respect to x-axis, y-axis and z-axis (wire frame model of a cube). Use appropriate data structures to manipulate the wire frame model.]]></description>
			<content:encoded><![CDATA[<p>C Program to implement 3-D rotation with respect to x-axis, y-axis and z-axis (wire frame model of a cube). Use appropriate data structures to manipulate the wire frame model.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
</pre></td><td class="code"><pre class="c" style="font-family:monospace;"><span style="color: #339933;">#include &lt;stdio.h&gt;</span>
<span style="color: #339933;">#include &lt;graphics.h&gt;</span>
<span style="color: #339933;">#include &lt;math.h&gt;</span>
<span style="color: #339933;">#include &lt;stdlib.h&gt;</span>
<span style="color: #339933;">#include &lt;dos.h&gt;</span>
<span style="color: #339933;">#include &lt;conio.h&gt;</span>
&nbsp;
<span style="color: #339933;">#define ORG -50</span>
&nbsp;
<span style="color: #993333;">double</span> face1<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">5</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#123;</span>
			    <span style="color: #009900;">&#123;</span> <span style="color: #0000dd;">250</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">125</span> <span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span>
			    <span style="color: #009900;">&#123;</span> <span style="color: #0000dd;">350</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">125</span> <span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span>
			    <span style="color: #009900;">&#123;</span> <span style="color: #0000dd;">350</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">225</span> <span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span>
			    <span style="color: #009900;">&#123;</span> <span style="color: #0000dd;">250</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">225</span> <span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span>
			    <span style="color: #009900;">&#123;</span> <span style="color: #0000dd;">250</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">125</span> <span style="color: #009900;">&#125;</span>
		           <span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #993333;">double</span> face2<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">5</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#123;</span>
			    <span style="color: #009900;">&#123;</span> <span style="color: #0000dd;">250</span><span style="color: #339933;">+</span>ORG<span style="color: #339933;">,</span> <span style="color: #0000dd;">125</span><span style="color: #339933;">-</span>ORG <span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span>
			    <span style="color: #009900;">&#123;</span> <span style="color: #0000dd;">350</span><span style="color: #339933;">+</span>ORG<span style="color: #339933;">,</span> <span style="color: #0000dd;">125</span><span style="color: #339933;">-</span>ORG <span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span>
			    <span style="color: #009900;">&#123;</span> <span style="color: #0000dd;">350</span><span style="color: #339933;">+</span>ORG<span style="color: #339933;">,</span> <span style="color: #0000dd;">225</span><span style="color: #339933;">-</span>ORG <span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span>
			    <span style="color: #009900;">&#123;</span> <span style="color: #0000dd;">250</span><span style="color: #339933;">+</span>ORG<span style="color: #339933;">,</span> <span style="color: #0000dd;">225</span><span style="color: #339933;">-</span>ORG <span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span>
			    <span style="color: #009900;">&#123;</span> <span style="color: #0000dd;">250</span><span style="color: #339933;">+</span>ORG<span style="color: #339933;">,</span> <span style="color: #0000dd;">125</span><span style="color: #339933;">-</span>ORG <span style="color: #009900;">&#125;</span>
		           <span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #993333;">double</span> angle <span style="color: #339933;">=</span> <span style="color:#800080;">5.0</span> <span style="color: #339933;">*</span> M_PI <span style="color: #339933;">/</span> <span style="color: #0000dd;">180</span><span style="color: #339933;">;</span>
<span style="color: #993333;">double</span> midx1<span style="color: #339933;">,</span> midy1<span style="color: #339933;">,</span> midx2<span style="color: #339933;">,</span> midy2<span style="color: #339933;">;</span>
&nbsp;
<span style="color: #993333;">void</span> rotate <span style="color: #009900;">&#40;</span><span style="color: #993333;">void</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
    <span style="color: #993333;">int</span> i<span style="color: #339933;">;</span>
    <span style="color: #b1b100;">for</span> <span style="color: #009900;">&#40;</span>i<span style="color: #339933;">=</span><span style="color: #0000dd;">0</span><span style="color: #339933;">;</span> i<span style="color: #339933;">&lt;</span><span style="color: #0000dd;">5</span><span style="color: #339933;">;</span> i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
	<span style="color: #993333;">double</span> xnew<span style="color: #339933;">,</span> ynew<span style="color: #339933;">;</span>
&nbsp;
	xnew <span style="color: #339933;">=</span> midx1 <span style="color: #339933;">+</span> <span style="color: #009900;">&#40;</span>face1<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">-</span> midx1<span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span> cos <span style="color: #009900;">&#40;</span>angle<span style="color: #009900;">&#41;</span> <span style="color: #339933;">-</span>
	       <span style="color: #009900;">&#40;</span>face1<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">-</span> midy1<span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span> sin <span style="color: #009900;">&#40;</span>angle<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	ynew <span style="color: #339933;">=</span> midy1 <span style="color: #339933;">+</span> <span style="color: #009900;">&#40;</span>face1<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">-</span> midx1<span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span> sin <span style="color: #009900;">&#40;</span>angle<span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span>
		<span style="color: #009900;">&#40;</span>face1<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">-</span> midy1<span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span> cos <span style="color: #009900;">&#40;</span>angle<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	face1<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> xnew<span style="color: #339933;">;</span>
	face1<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> ynew<span style="color: #339933;">;</span>
&nbsp;
	xnew <span style="color: #339933;">=</span> midx2 <span style="color: #339933;">+</span> <span style="color: #009900;">&#40;</span>face2<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">-</span> midx2<span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span> cos <span style="color: #009900;">&#40;</span>angle<span style="color: #009900;">&#41;</span> <span style="color: #339933;">-</span>
		<span style="color: #009900;">&#40;</span>face2<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">-</span> midy2<span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span> sin <span style="color: #009900;">&#40;</span>angle<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	ynew <span style="color: #339933;">=</span> midy2 <span style="color: #339933;">+</span> <span style="color: #009900;">&#40;</span>face2<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">-</span> midx2<span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span> sin <span style="color: #009900;">&#40;</span>angle<span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span>
		<span style="color: #009900;">&#40;</span>face2<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">-</span> midy2<span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span> cos <span style="color: #009900;">&#40;</span>angle<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	face2<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> xnew<span style="color: #339933;">;</span>
	face2<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> ynew<span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    cleardevice<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #b1b100;">for</span> <span style="color: #009900;">&#40;</span>i<span style="color: #339933;">=</span><span style="color: #0000dd;">0</span><span style="color: #339933;">;</span> i<span style="color: #339933;">&lt;</span><span style="color: #0000dd;">4</span><span style="color: #339933;">;</span> i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
	setcolor<span style="color: #009900;">&#40;</span><span style="color: #0000dd;">7</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	line <span style="color: #009900;">&#40;</span>face1<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> face1<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> face1<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">+</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> face1<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">+</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	setcolor<span style="color: #009900;">&#40;</span><span style="color: #0000dd;">8</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	line <span style="color: #009900;">&#40;</span>face2<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> face2<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> face2<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">+</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> face2<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">+</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	setcolor<span style="color: #009900;">&#40;</span><span style="color: #0000dd;">9</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	line <span style="color: #009900;">&#40;</span>face1<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> face1<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> face2<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> face2<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    delay <span style="color: #009900;">&#40;</span><span style="color: #0000dd;">125</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #993333;">void</span> main<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
    <span style="color: #993333;">int</span> gd <span style="color: #339933;">=</span> DETECT<span style="color: #339933;">,</span> gm<span style="color: #339933;">;</span>
&nbsp;
    midx1 <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span>face1<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">+</span> face1<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">/</span> <span style="color:#800080;">2.0</span><span style="color: #339933;">;</span>
    midy1 <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span>face1<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">+</span> face1<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">/</span> <span style="color:#800080;">2.0</span><span style="color: #339933;">;</span>
    midx2 <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span>face2<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">+</span> face2<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">/</span> <span style="color:#800080;">2.0</span><span style="color: #339933;">;</span>
    midy2 <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span>face2<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">+</span> face2<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">/</span> <span style="color:#800080;">2.0</span><span style="color: #339933;">;</span>
&nbsp;
    initgraph <span style="color: #009900;">&#40;</span><span style="color: #339933;">&amp;</span>gd<span style="color: #339933;">,</span> <span style="color: #339933;">&amp;</span>gm<span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;..\<span style="color: #000099; font-weight: bold;">\b</span>gi&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #b1b100;">while</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span>kbhit<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
	rotate<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    closegraph<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://electrofriends.com/source-codes/software-programs/c/graphics/c-program-to-implement-3-d-rotation-with-respect-to-x-axis-y-axis-and-z-axis/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>C Program to implement Bezier curves for a given set of control points.</title>
		<link>http://electrofriends.com/source-codes/software-programs/c/graphics/c-program-to-implement-bezier-curves-for-a-given-set-of-control-points/</link>
		<comments>http://electrofriends.com/source-codes/software-programs/c/graphics/c-program-to-implement-bezier-curves-for-a-given-set-of-control-points/#comments</comments>
		<pubDate>Fri, 02 Oct 2009 10:26:58 +0000</pubDate>
		<dc:creator>Ranjith</dc:creator>
				<category><![CDATA[Graphics]]></category>
		<category><![CDATA[Bezier curves]]></category>
		<category><![CDATA[bgi]]></category>
		<category><![CDATA[c graphics]]></category>
		<category><![CDATA[control points]]></category>
		<category><![CDATA[dos]]></category>

		<guid isPermaLink="false">http://electrofriends.com/?p=835</guid>
		<description><![CDATA[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];
]]></description>
			<content:encoded><![CDATA[
<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
</pre></td><td class="code"><pre class="c" style="font-family:monospace;"><span style="color: #339933;">#include &lt;stdio.h&gt;</span>
<span style="color: #339933;">#include &lt;stdlib.h&gt;</span>
<span style="color: #339933;">#include &lt;graphics.h&gt;</span>
<span style="color: #339933;">#include &lt;math.h&gt;</span>
&nbsp;
<span style="color: #993333;">void</span> bezier <span style="color: #009900;">&#40;</span><span style="color: #993333;">int</span> x<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">4</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #993333;">int</span> y<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">4</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
    <span style="color: #993333;">int</span> gd <span style="color: #339933;">=</span> DETECT<span style="color: #339933;">,</span> gm<span style="color: #339933;">;</span>
    <span style="color: #993333;">int</span> i<span style="color: #339933;">;</span>
    <span style="color: #993333;">double</span> t<span style="color: #339933;">;</span>
&nbsp;
    initgraph <span style="color: #009900;">&#40;</span><span style="color: #339933;">&amp;</span>gd<span style="color: #339933;">,</span> <span style="color: #339933;">&amp;</span>gm<span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;..\<span style="color: #000099; font-weight: bold;">\b</span>gi&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #b1b100;">for</span> <span style="color: #009900;">&#40;</span>t <span style="color: #339933;">=</span> <span style="color:#800080;">0.0</span><span style="color: #339933;">;</span> t <span style="color: #339933;">&lt;</span> <span style="color:#800080;">1.0</span><span style="color: #339933;">;</span> t <span style="color: #339933;">+=</span> <span style="color:#800080;">0.0005</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
	<span style="color: #993333;">double</span> xt <span style="color: #339933;">=</span> pow <span style="color: #009900;">&#40;</span><span style="color: #0000dd;">1</span><span style="color: #339933;">-</span>t<span style="color: #339933;">,</span> <span style="color: #0000dd;">3</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span> x<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">+</span> <span style="color: #0000dd;">3</span> <span style="color: #339933;">*</span> t <span style="color: #339933;">*</span> pow <span style="color: #009900;">&#40;</span><span style="color: #0000dd;">1</span><span style="color: #339933;">-</span>t<span style="color: #339933;">,</span> <span style="color: #0000dd;">2</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span> x<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">+</span>
		    <span style="color: #0000dd;">3</span> <span style="color: #339933;">*</span> pow <span style="color: #009900;">&#40;</span>t<span style="color: #339933;">,</span> <span style="color: #0000dd;">2</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span> <span style="color: #009900;">&#40;</span><span style="color: #0000dd;">1</span><span style="color: #339933;">-</span>t<span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span> x<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">+</span> pow <span style="color: #009900;">&#40;</span>t<span style="color: #339933;">,</span> <span style="color: #0000dd;">3</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span> x<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">3</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #993333;">double</span> yt <span style="color: #339933;">=</span> pow <span style="color: #009900;">&#40;</span><span style="color: #0000dd;">1</span><span style="color: #339933;">-</span>t<span style="color: #339933;">,</span> <span style="color: #0000dd;">3</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span> y<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">+</span> <span style="color: #0000dd;">3</span> <span style="color: #339933;">*</span> t <span style="color: #339933;">*</span> pow <span style="color: #009900;">&#40;</span><span style="color: #0000dd;">1</span><span style="color: #339933;">-</span>t<span style="color: #339933;">,</span> <span style="color: #0000dd;">2</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span> y<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">+</span>
		    <span style="color: #0000dd;">3</span> <span style="color: #339933;">*</span> pow <span style="color: #009900;">&#40;</span>t<span style="color: #339933;">,</span> <span style="color: #0000dd;">2</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span> <span style="color: #009900;">&#40;</span><span style="color: #0000dd;">1</span><span style="color: #339933;">-</span>t<span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span> y<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">+</span> pow <span style="color: #009900;">&#40;</span>t<span style="color: #339933;">,</span> <span style="color: #0000dd;">3</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span> y<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">3</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
&nbsp;
	putpixel <span style="color: #009900;">&#40;</span>xt<span style="color: #339933;">,</span> yt<span style="color: #339933;">,</span> WHITE<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #b1b100;">for</span> <span style="color: #009900;">&#40;</span>i<span style="color: #339933;">=</span><span style="color: #0000dd;">0</span><span style="color: #339933;">;</span> i<span style="color: #339933;">&lt;</span><span style="color: #0000dd;">4</span><span style="color: #339933;">;</span> i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span>
	putpixel <span style="color: #009900;">&#40;</span>x<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> y<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> YELLOW<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    getch<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    closegraph<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">return</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #993333;">void</span> main<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
    <span style="color: #993333;">int</span> x<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">4</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> y<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">4</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
    <span style="color: #993333;">int</span> i<span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #000066;">printf</span> <span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;Enter the x- and y-coordinates of the four control points.<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">for</span> <span style="color: #009900;">&#40;</span>i<span style="color: #339933;">=</span><span style="color: #0000dd;">0</span><span style="color: #339933;">;</span> i<span style="color: #339933;">&lt;</span><span style="color: #0000dd;">4</span><span style="color: #339933;">;</span> i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span>
	scanf <span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;%d%d&quot;</span><span style="color: #339933;">,</span> <span style="color: #339933;">&amp;</span>x<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #339933;">&amp;</span>y<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    bezier <span style="color: #009900;">&#40;</span>x<span style="color: #339933;">,</span> y<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://electrofriends.com/source-codes/software-programs/c/graphics/c-program-to-implement-bezier-curves-for-a-given-set-of-control-points/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>C Program to implement Hermite curves for a given set of control points.</title>
		<link>http://electrofriends.com/source-codes/software-programs/c/graphics/c-program-to-implement-hermite-curves-for-a-given-set-of-control-points/</link>
		<comments>http://electrofriends.com/source-codes/software-programs/c/graphics/c-program-to-implement-hermite-curves-for-a-given-set-of-control-points/#comments</comments>
		<pubDate>Fri, 02 Oct 2009 10:26:54 +0000</pubDate>
		<dc:creator>Ranjith</dc:creator>
				<category><![CDATA[Graphics]]></category>
		<category><![CDATA[c program]]></category>
		<category><![CDATA[Hermite curves]]></category>
		<category><![CDATA[Hermite curves in c]]></category>

		<guid isPermaLink="false">http://electrofriends.com/?p=836</guid>
		<description><![CDATA[point p1,p2;
	printf("Enter 2 hermite points:\n");
	scanf("%d%d%d%d",&#038;p1.x,&#038;p1.y,&#038;p2.x,&#038;p2.y);
	printf("Enter the tangents at p1,p4");
	scanf("%d%d",&#038;r1,&#038;r4);
	cleardevice();]]></description>
			<content:encoded><![CDATA[
<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
</pre></td><td class="code"><pre class="c" style="font-family:monospace;"><span style="color: #339933;">#include&lt;iostream.h&gt;</span>
<span style="color: #339933;">#include&lt;graphics.h&gt;</span>
<span style="color: #339933;">#include&lt;conio.h&gt;</span>
<span style="color: #339933;">#include&lt;stdio.h&gt;</span>
&nbsp;
<span style="color: #993333;">struct</span> point
<span style="color: #009900;">&#123;</span>
<span style="color: #993333;">int</span> x<span style="color: #339933;">,</span>y<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #993333;">void</span> hermite<span style="color: #009900;">&#40;</span>point p1<span style="color: #339933;">,</span>point p4<span style="color: #339933;">,</span><span style="color: #993333;">double</span> r1<span style="color: #339933;">,</span><span style="color: #993333;">double</span> r4<span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #993333;">float</span> x<span style="color: #339933;">,</span>y<span style="color: #339933;">,</span>t<span style="color: #339933;">;</span>
	<span style="color: #b1b100;">for</span><span style="color: #009900;">&#40;</span>t<span style="color: #339933;">=</span><span style="color:#800080;">0.0</span><span style="color: #339933;">;</span>t<span style="color: #339933;">&lt;=</span><span style="color:#800080;">1.0</span><span style="color: #339933;">;</span>t<span style="color: #339933;">+=</span><span style="color:#800080;">.001</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		x<span style="color: #339933;">=</span><span style="color: #009900;">&#40;</span><span style="color: #0000dd;">2</span><span style="color: #339933;">*</span>t<span style="color: #339933;">*</span>t<span style="color: #339933;">*</span>t<span style="color: #339933;">-</span><span style="color: #0000dd;">3</span><span style="color: #339933;">*</span>t<span style="color: #339933;">*</span>t<span style="color: #339933;">+</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span>p1.<span style="color: #202020;">x</span><span style="color: #339933;">+</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">-</span><span style="color: #0000dd;">2</span><span style="color: #339933;">*</span>t<span style="color: #339933;">*</span>t<span style="color: #339933;">*</span>t<span style="color: #339933;">+</span><span style="color: #0000dd;">3</span><span style="color: #339933;">*</span>t<span style="color: #339933;">*</span>t<span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span>p4.<span style="color: #202020;">x</span><span style="color: #339933;">+</span><span style="color: #009900;">&#40;</span>t<span style="color: #339933;">*</span>t<span style="color: #339933;">*</span>t<span style="color: #339933;">-</span><span style="color: #0000dd;">2</span><span style="color: #339933;">*</span>t<span style="color: #339933;">*</span>t<span style="color: #339933;">+</span>t<span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span>r1<span style="color: #339933;">+</span><span style="color: #009900;">&#40;</span>t<span style="color: #339933;">*</span>t<span style="color: #339933;">*</span>t<span style="color: #339933;">-</span>t<span style="color: #339933;">*</span>t<span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span>r4<span style="color: #339933;">;</span>
		y<span style="color: #339933;">=</span><span style="color: #009900;">&#40;</span><span style="color: #0000dd;">2</span><span style="color: #339933;">*</span>t<span style="color: #339933;">*</span>t<span style="color: #339933;">*</span>t<span style="color: #339933;">-</span><span style="color: #0000dd;">3</span><span style="color: #339933;">*</span>t<span style="color: #339933;">*</span>t<span style="color: #339933;">+</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span>p1.<span style="color: #202020;">y</span><span style="color: #339933;">+</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">-</span><span style="color: #0000dd;">2</span><span style="color: #339933;">*</span>t<span style="color: #339933;">*</span>t<span style="color: #339933;">*</span>t<span style="color: #339933;">+</span><span style="color: #0000dd;">3</span><span style="color: #339933;">*</span>t<span style="color: #339933;">*</span>t<span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span>p4.<span style="color: #202020;">y</span><span style="color: #339933;">+</span><span style="color: #009900;">&#40;</span>t<span style="color: #339933;">*</span>t<span style="color: #339933;">*</span>t<span style="color: #339933;">-</span><span style="color: #0000dd;">2</span><span style="color: #339933;">*</span>t<span style="color: #339933;">*</span>t<span style="color: #339933;">+</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span>r1<span style="color: #339933;">+</span><span style="color: #009900;">&#40;</span>t<span style="color: #339933;">*</span>t<span style="color: #339933;">*</span>t<span style="color: #339933;">-</span>t<span style="color: #339933;">*</span>t<span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span>r4<span style="color: #339933;">;</span>
		putpixel<span style="color: #009900;">&#40;</span>x<span style="color: #339933;">,</span>y<span style="color: #339933;">,</span>YELLOW<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	 <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #993333;">int</span> main<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #993333;">int</span> gd<span style="color: #339933;">=</span>DETECT<span style="color: #339933;">,</span>gm<span style="color: #339933;">;</span>
	<span style="color: #993333;">double</span> r1<span style="color: #339933;">,</span>r4<span style="color: #339933;">;</span>
	initgraph<span style="color: #009900;">&#40;</span><span style="color: #339933;">&amp;</span>gd<span style="color: #339933;">,&amp;</span>gm<span style="color: #339933;">,</span><span style="color: #ff0000;">&quot;..//BGI&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	point p1<span style="color: #339933;">,</span>p2<span style="color: #339933;">;</span>
	<span style="color: #000066;">printf</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;Enter 2 hermite points:<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	scanf<span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;%d%d%d%d&quot;</span><span style="color: #339933;">,&amp;</span>p1.<span style="color: #202020;">x</span><span style="color: #339933;">,&amp;</span>p1.<span style="color: #202020;">y</span><span style="color: #339933;">,&amp;</span>p2.<span style="color: #202020;">x</span><span style="color: #339933;">,&amp;</span>p2.<span style="color: #202020;">y</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000066;">printf</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;Enter the tangents at p1,p4&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	scanf<span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;%d%d&quot;</span><span style="color: #339933;">,&amp;</span>r1<span style="color: #339933;">,&amp;</span>r4<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	cleardevice<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	hermite<span style="color: #009900;">&#40;</span>p1<span style="color: #339933;">,</span>p2<span style="color: #339933;">,</span>r1<span style="color: #339933;">,</span>r4<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	putpixel<span style="color: #009900;">&#40;</span>x1<span style="color: #339933;">,</span>y1<span style="color: #339933;">,</span>WHITE<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	putpixel<span style="color: #009900;">&#40;</span>x2<span style="color: #339933;">,</span>y2<span style="color: #339933;">,</span>WHITE<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	getch<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	closegraph<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">return</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://electrofriends.com/source-codes/software-programs/c/graphics/c-program-to-implement-hermite-curves-for-a-given-set-of-control-points/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>C Program to implement the Cohen-Sutherland line-clipping algorithm.</title>
		<link>http://electrofriends.com/source-codes/software-programs/c/graphics/c-program-to-implement-the-cohen-sutherland-line-clipping-algorithm/</link>
		<comments>http://electrofriends.com/source-codes/software-programs/c/graphics/c-program-to-implement-the-cohen-sutherland-line-clipping-algorithm/#comments</comments>
		<pubDate>Fri, 02 Oct 2009 10:19:36 +0000</pubDate>
		<dc:creator>Ranjith</dc:creator>
				<category><![CDATA[Graphics]]></category>
		<category><![CDATA[c graphics]]></category>
		<category><![CDATA[clipping]]></category>
		<category><![CDATA[line clipping]]></category>
		<category><![CDATA[line functions]]></category>
		<category><![CDATA[rectangle functions]]></category>

		<guid isPermaLink="false">http://electrofriends.com/?p=832</guid>
		<description><![CDATA[C Program to implement the Cohen-Sutherland line-clipping algorithm. Make provision to specify the input line, window for clipping and view port for displaying the clipped image.  (Use built-in line and rectangle functions).]]></description>
			<content:encoded><![CDATA[<p>C Program to implement the Cohen-Sutherland line-clipping algorithm. Make provision to specify the input line, window for clipping and view port for displaying the clipped image.  (Use built-in line and rectangle functions).</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
</pre></td><td class="code"><pre class="c" style="font-family:monospace;"><span style="color: #339933;">#include &lt;stdio.h&gt;</span>
<span style="color: #339933;">#include &lt;stdlib.h&gt;</span>
<span style="color: #339933;">#include &lt;graphics.h&gt;</span>
<span style="color: #339933;">#define MAX 20</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">enum</span> <span style="color: #009900;">&#123;</span> TOP <span style="color: #339933;">=</span> <span style="color: #208080;">0x1</span><span style="color: #339933;">,</span> BOTTOM <span style="color: #339933;">=</span> <span style="color: #208080;">0x2</span><span style="color: #339933;">,</span> RIGHT <span style="color: #339933;">=</span> <span style="color: #208080;">0x4</span><span style="color: #339933;">,</span> LEFT <span style="color: #339933;">=</span> <span style="color: #208080;">0x8</span> <span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">enum</span> <span style="color: #009900;">&#123;</span> FALSE<span style="color: #339933;">,</span> TRUE <span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
<span style="color: #993333;">typedef</span> <span style="color: #993333;">unsigned</span> <span style="color: #993333;">int</span> outcode<span style="color: #339933;">;</span>
&nbsp;
outcode compute_outcode<span style="color: #009900;">&#40;</span><span style="color: #993333;">int</span> x<span style="color: #339933;">,</span> <span style="color: #993333;">int</span> y<span style="color: #339933;">,</span>
		<span style="color: #993333;">int</span> xmin<span style="color: #339933;">,</span> <span style="color: #993333;">int</span> ymin<span style="color: #339933;">,</span> <span style="color: #993333;">int</span> xmax<span style="color: #339933;">,</span> <span style="color: #993333;">int</span> ymax<span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
    outcode oc <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>y <span style="color: #339933;">&gt;</span> ymax<span style="color: #009900;">&#41;</span>
	oc <span style="color: #339933;">|=</span> TOP<span style="color: #339933;">;</span>
    <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>y <span style="color: #339933;">&lt;</span> ymin<span style="color: #009900;">&#41;</span>
	oc <span style="color: #339933;">|=</span> BOTTOM<span style="color: #339933;">;</span>
&nbsp;
&nbsp;
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>x <span style="color: #339933;">&gt;</span> xmax<span style="color: #009900;">&#41;</span>
	oc <span style="color: #339933;">|=</span> RIGHT<span style="color: #339933;">;</span>
    <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>x <span style="color: #339933;">&lt;</span> xmin<span style="color: #009900;">&#41;</span>
	oc <span style="color: #339933;">|=</span> LEFT<span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #b1b100;">return</span> oc<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #993333;">void</span> cohen_sutherland <span style="color: #009900;">&#40;</span><span style="color: #993333;">double</span> x1<span style="color: #339933;">,</span> <span style="color: #993333;">double</span> y1<span style="color: #339933;">,</span> <span style="color: #993333;">double</span> x2<span style="color: #339933;">,</span> <span style="color: #993333;">double</span> y2<span style="color: #339933;">,</span>
		<span style="color: #993333;">double</span> xmin<span style="color: #339933;">,</span> <span style="color: #993333;">double</span> ymin<span style="color: #339933;">,</span> <span style="color: #993333;">double</span> xmax<span style="color: #339933;">,</span> <span style="color: #993333;">double</span> ymax<span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
    <span style="color: #993333;">int</span> accept<span style="color: #339933;">;</span>
    <span style="color: #993333;">int</span> done<span style="color: #339933;">;</span>
    outcode outcode1<span style="color: #339933;">,</span> outcode2<span style="color: #339933;">;</span>
&nbsp;
    accept <span style="color: #339933;">=</span> FALSE<span style="color: #339933;">;</span>
    done <span style="color: #339933;">=</span> FALSE<span style="color: #339933;">;</span>
&nbsp;
    outcode1 <span style="color: #339933;">=</span> compute_outcode <span style="color: #009900;">&#40;</span>x1<span style="color: #339933;">,</span> y1<span style="color: #339933;">,</span> xmin<span style="color: #339933;">,</span> ymin<span style="color: #339933;">,</span> xmax<span style="color: #339933;">,</span> ymax<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    outcode2 <span style="color: #339933;">=</span> compute_outcode <span style="color: #009900;">&#40;</span>x2<span style="color: #339933;">,</span> y2<span style="color: #339933;">,</span> xmin<span style="color: #339933;">,</span> ymin<span style="color: #339933;">,</span> xmax<span style="color: #339933;">,</span> ymax<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">do</span>
    <span style="color: #009900;">&#123;</span>
	<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>outcode1 <span style="color: #339933;">==</span> <span style="color: #0000dd;">0</span> <span style="color: #339933;">&amp;&amp;</span> outcode2 <span style="color: #339933;">==</span> <span style="color: #0000dd;">0</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
	    accept <span style="color: #339933;">=</span> TRUE<span style="color: #339933;">;</span>
	    done <span style="color: #339933;">=</span> TRUE<span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>outcode1 <span style="color: #339933;">&amp;</span> outcode2<span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
	    done <span style="color: #339933;">=</span> TRUE<span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #b1b100;">else</span>
	<span style="color: #009900;">&#123;</span>
	    <span style="color: #993333;">double</span> x<span style="color: #339933;">,</span> y<span style="color: #339933;">;</span>
	    <span style="color: #993333;">int</span> outcode_ex <span style="color: #339933;">=</span> outcode1 <span style="color: #339933;">?</span> outcode1 <span style="color: #339933;">:</span> outcode2<span style="color: #339933;">;</span>
	    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>outcode_ex <span style="color: #339933;">&amp;</span> TOP<span style="color: #009900;">&#41;</span>
	    <span style="color: #009900;">&#123;</span>
		x <span style="color: #339933;">=</span> x1 <span style="color: #339933;">+</span> <span style="color: #009900;">&#40;</span>x2 <span style="color: #339933;">-</span> x1<span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span> <span style="color: #009900;">&#40;</span>ymax <span style="color: #339933;">-</span> y1<span style="color: #009900;">&#41;</span> <span style="color: #339933;">/</span> <span style="color: #009900;">&#40;</span>y2 <span style="color: #339933;">-</span> y1<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		y <span style="color: #339933;">=</span> ymax<span style="color: #339933;">;</span>
	    <span style="color: #009900;">&#125;</span>
&nbsp;
	    <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>outcode_ex <span style="color: #339933;">&amp;</span> BOTTOM<span style="color: #009900;">&#41;</span>
	    <span style="color: #009900;">&#123;</span>
		x <span style="color: #339933;">=</span> x1 <span style="color: #339933;">+</span> <span style="color: #009900;">&#40;</span>x2 <span style="color: #339933;">-</span> x1<span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span> <span style="color: #009900;">&#40;</span>ymin <span style="color: #339933;">-</span> y1<span style="color: #009900;">&#41;</span> <span style="color: #339933;">/</span> <span style="color: #009900;">&#40;</span>y2 <span style="color: #339933;">-</span> y1<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		y <span style="color: #339933;">=</span> ymin<span style="color: #339933;">;</span>
	    <span style="color: #009900;">&#125;</span>
	    <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>outcode_ex <span style="color: #339933;">&amp;</span> RIGHT<span style="color: #009900;">&#41;</span>
	    <span style="color: #009900;">&#123;</span>
		y <span style="color: #339933;">=</span> y1 <span style="color: #339933;">+</span> <span style="color: #009900;">&#40;</span>y2 <span style="color: #339933;">-</span> y1<span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span> <span style="color: #009900;">&#40;</span>xmax <span style="color: #339933;">-</span> x1<span style="color: #009900;">&#41;</span> <span style="color: #339933;">/</span> <span style="color: #009900;">&#40;</span>x2 <span style="color: #339933;">-</span> x1<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		x <span style="color: #339933;">=</span> xmax<span style="color: #339933;">;</span>
	    <span style="color: #009900;">&#125;</span>
	    <span style="color: #b1b100;">else</span>
	    <span style="color: #009900;">&#123;</span>
		y <span style="color: #339933;">=</span> y1 <span style="color: #339933;">+</span> <span style="color: #009900;">&#40;</span>y2 <span style="color: #339933;">-</span> y1<span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span> <span style="color: #009900;">&#40;</span>xmin <span style="color: #339933;">-</span> x1<span style="color: #009900;">&#41;</span> <span style="color: #339933;">/</span> <span style="color: #009900;">&#40;</span>x2 <span style="color: #339933;">-</span> x1<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		x <span style="color: #339933;">=</span> xmin<span style="color: #339933;">;</span>
	    <span style="color: #009900;">&#125;</span>
	    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>outcode_ex <span style="color: #339933;">==</span> outcode1<span style="color: #009900;">&#41;</span>
	    <span style="color: #009900;">&#123;</span>
		x1 <span style="color: #339933;">=</span> x<span style="color: #339933;">;</span>
		y1 <span style="color: #339933;">=</span> y<span style="color: #339933;">;</span>
		outcode1 <span style="color: #339933;">=</span> compute_outcode <span style="color: #009900;">&#40;</span>x1<span style="color: #339933;">,</span> y1<span style="color: #339933;">,</span> xmin<span style="color: #339933;">,</span> ymin<span style="color: #339933;">,</span> xmax<span style="color: #339933;">,</span> ymax<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	    <span style="color: #009900;">&#125;</span>
	    <span style="color: #b1b100;">else</span>
	    <span style="color: #009900;">&#123;</span>
		x2 <span style="color: #339933;">=</span> x<span style="color: #339933;">;</span>
		y2 <span style="color: #339933;">=</span> y<span style="color: #339933;">;</span>
		outcode2 <span style="color: #339933;">=</span> compute_outcode <span style="color: #009900;">&#40;</span>x2<span style="color: #339933;">,</span> y2<span style="color: #339933;">,</span> xmin<span style="color: #339933;">,</span> ymin<span style="color: #339933;">,</span> xmax<span style="color: #339933;">,</span> ymax<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	    <span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">while</span> <span style="color: #009900;">&#40;</span>done <span style="color: #339933;">==</span> FALSE<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>accept <span style="color: #339933;">==</span> TRUE<span style="color: #009900;">&#41;</span>
	line <span style="color: #009900;">&#40;</span>x1<span style="color: #339933;">,</span> y1<span style="color: #339933;">,</span> x2<span style="color: #339933;">,</span> y2<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
&nbsp;
&nbsp;
<span style="color: #993333;">void</span> main<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
    <span style="color: #993333;">int</span> n<span style="color: #339933;">;</span>
    <span style="color: #993333;">int</span> i<span style="color: #339933;">,</span> j<span style="color: #339933;">;</span>
    <span style="color: #993333;">int</span> ln<span style="color: #009900;">&#91;</span>MAX<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">4</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
    <span style="color: #993333;">int</span> clip<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">4</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
    <span style="color: #993333;">int</span> gd <span style="color: #339933;">=</span> DETECT<span style="color: #339933;">,</span> gm<span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #000066;">printf</span> <span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;Enter the number of lines to be clipped&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    scanf <span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;%d&quot;</span><span style="color: #339933;">,</span> <span style="color: #339933;">&amp;</span>n<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #000066;">printf</span> <span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;Enter the x- and y-coordinates of the line-endpoints:<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">for</span> <span style="color: #009900;">&#40;</span>i<span style="color: #339933;">=</span><span style="color: #0000dd;">0</span><span style="color: #339933;">;</span> i<span style="color: #339933;">&lt;</span>n<span style="color: #339933;">;</span> i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span>
	<span style="color: #b1b100;">for</span> <span style="color: #009900;">&#40;</span>j<span style="color: #339933;">=</span><span style="color: #0000dd;">0</span><span style="color: #339933;">;</span> j<span style="color: #339933;">&lt;</span><span style="color: #0000dd;">4</span><span style="color: #339933;">;</span> j<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span>
	    scanf <span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;%d&quot;</span><span style="color: #339933;">,</span> <span style="color: #339933;">&amp;</span>ln<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span>j<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #000066;">printf</span> <span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;Enter the x- and y-coordinates of the left-top and right-&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000066;">printf</span> <span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;bottom corners<span style="color: #000099; font-weight: bold;">\n</span>of the clip window:<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">for</span> <span style="color: #009900;">&#40;</span>i<span style="color: #339933;">=</span><span style="color: #0000dd;">0</span><span style="color: #339933;">;</span> i<span style="color: #339933;">&lt;</span><span style="color: #0000dd;">4</span><span style="color: #339933;">;</span> i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span>
	scanf <span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;%d&quot;</span><span style="color: #339933;">,</span> <span style="color: #339933;">&amp;</span>clip<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    initgraph <span style="color: #009900;">&#40;</span><span style="color: #339933;">&amp;</span>gd<span style="color: #339933;">,</span> <span style="color: #339933;">&amp;</span>gm<span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;..//bgi&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    rectangle <span style="color: #009900;">&#40;</span>clip<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> clip<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> clip<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> clip<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">3</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">for</span> <span style="color: #009900;">&#40;</span>i<span style="color: #339933;">=</span><span style="color: #0000dd;">0</span><span style="color: #339933;">;</span> i<span style="color: #339933;">&lt;</span>n<span style="color: #339933;">;</span> i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span>
	line <span style="color: #009900;">&#40;</span>ln<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> ln<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> ln<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> ln<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">3</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    getch<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    cleardevice<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    rectangle <span style="color: #009900;">&#40;</span>clip<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> clip<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> clip<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> clip<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">3</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">for</span> <span style="color: #009900;">&#40;</span>i<span style="color: #339933;">=</span><span style="color: #0000dd;">0</span><span style="color: #339933;">;</span> i<span style="color: #339933;">&lt;</span>n<span style="color: #339933;">;</span> i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
	cohen_sutherland <span style="color: #009900;">&#40;</span>ln<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> ln<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> ln<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> ln<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">3</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span>
	    clip<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> clip<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> clip<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> clip<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">3</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	getch<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
    closegraph<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://electrofriends.com/source-codes/software-programs/c/graphics/c-program-to-implement-the-cohen-sutherland-line-clipping-algorithm/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>C Program to create a house and perform the operations.</title>
		<link>http://electrofriends.com/source-codes/software-programs/c/graphics/c-program-to-create-a-house-and-perform-the-operations/</link>
		<comments>http://electrofriends.com/source-codes/software-programs/c/graphics/c-program-to-create-a-house-and-perform-the-operations/#comments</comments>
		<pubDate>Fri, 02 Oct 2009 10:14:18 +0000</pubDate>
		<dc:creator>Ranjith</dc:creator>
				<category><![CDATA[Graphics]]></category>
		<category><![CDATA[create a house]]></category>
		<category><![CDATA[reflect]]></category>
		<category><![CDATA[scaling]]></category>
		<category><![CDATA[y = mx+c]]></category>

		<guid isPermaLink="false">http://electrofriends.com/?p=830</guid>
		<description><![CDATA[C Program to create a house like figure and perform the following operations.
	a. Scaling about the origin followed by translation.
        b. Scaling with reference to an arbitrary point.
        c. Reflect about the line y = mx + c.]]></description>
			<content:encoded><![CDATA[<p>C Program to create a house like figure and perform the following operations.<br />
	a. Scaling about the origin followed by translation.<br />
        b. Scaling with reference to an arbitrary point.<br />
        c. Reflect about the line y = mx + c.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
</pre></td><td class="code"><pre class="c" style="font-family:monospace;"><span style="color: #339933;">#include &lt;stdio.h&gt;</span>
<span style="color: #339933;">#include &lt;graphics.h&gt;</span>
<span style="color: #339933;">#include &lt;stdlib.h&gt;</span>
<span style="color: #339933;">#include &lt;math.h&gt;</span>
<span style="color: #339933;">#include &lt;conio.h&gt;</span>
&nbsp;
<span style="color: #993333;">void</span> reset <span style="color: #009900;">&#40;</span><span style="color: #993333;">int</span> h<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
    <span style="color: #993333;">int</span> val<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">9</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #009900;">&#123;</span> <span style="color: #0000dd;">50</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">50</span> <span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#123;</span> <span style="color: #0000dd;">75</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">50</span> <span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#123;</span> <span style="color: #0000dd;">75</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">75</span> <span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#123;</span> <span style="color: #0000dd;">100</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">75</span> <span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span>
			<span style="color: #009900;">&#123;</span> <span style="color: #0000dd;">100</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">50</span> <span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#123;</span> <span style="color: #0000dd;">125</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">50</span> <span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#123;</span> <span style="color: #0000dd;">125</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">100</span> <span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#123;</span> <span style="color: #0000dd;">87</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">125</span> <span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#123;</span> <span style="color: #0000dd;">50</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">100</span> <span style="color: #009900;">&#125;</span>
		    <span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
    <span style="color: #993333;">int</span> i<span style="color: #339933;">;</span>
    <span style="color: #b1b100;">for</span> <span style="color: #009900;">&#40;</span>i<span style="color: #339933;">=</span><span style="color: #0000dd;">0</span><span style="color: #339933;">;</span> i<span style="color: #339933;">&lt;</span><span style="color: #0000dd;">9</span><span style="color: #339933;">;</span> i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
	h<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> val<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">-</span><span style="color: #0000dd;">50</span><span style="color: #339933;">;</span>
	h<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> val<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">-</span><span style="color: #0000dd;">50</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #993333;">void</span> draw <span style="color: #009900;">&#40;</span><span style="color: #993333;">int</span> h<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
    <span style="color: #993333;">int</span> i<span style="color: #339933;">;</span>
    setlinestyle <span style="color: #009900;">&#40;</span>DOTTED_LINE<span style="color: #339933;">,</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    line <span style="color: #009900;">&#40;</span><span style="color: #0000dd;">320</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">320</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">480</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    line <span style="color: #009900;">&#40;</span><span style="color: #0000dd;">0</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">240</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">640</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">240</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    setlinestyle <span style="color: #009900;">&#40;</span>SOLID_LINE<span style="color: #339933;">,</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">for</span> <span style="color: #009900;">&#40;</span>i<span style="color: #339933;">=</span><span style="color: #0000dd;">0</span><span style="color: #339933;">;</span> i<span style="color: #339933;">&lt;</span><span style="color: #0000dd;">8</span><span style="color: #339933;">;</span> i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span>
	line <span style="color: #009900;">&#40;</span><span style="color: #0000dd;">320</span><span style="color: #339933;">+</span>h<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">240</span><span style="color: #339933;">-</span>h<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">320</span><span style="color: #339933;">+</span>h<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">+</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">240</span><span style="color: #339933;">-</span>h<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">+</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    line <span style="color: #009900;">&#40;</span><span style="color: #0000dd;">320</span><span style="color: #339933;">+</span>h<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">240</span><span style="color: #339933;">-</span>h<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">320</span><span style="color: #339933;">+</span>h<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">8</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">240</span><span style="color: #339933;">-</span>h<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">8</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #993333;">void</span> rotate <span style="color: #009900;">&#40;</span><span style="color: #993333;">int</span> h<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #993333;">float</span> angle<span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
    <span style="color: #993333;">int</span> i<span style="color: #339933;">;</span>
    <span style="color: #b1b100;">for</span> <span style="color: #009900;">&#40;</span>i<span style="color: #339933;">=</span><span style="color: #0000dd;">0</span><span style="color: #339933;">;</span> i<span style="color: #339933;">&lt;</span><span style="color: #0000dd;">9</span><span style="color: #339933;">;</span> i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
	<span style="color: #993333;">int</span> xnew<span style="color: #339933;">,</span> ynew<span style="color: #339933;">;</span>
	xnew <span style="color: #339933;">=</span> h<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">*</span> cos <span style="color: #009900;">&#40;</span>angle<span style="color: #009900;">&#41;</span> <span style="color: #339933;">-</span> h<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">*</span> sin <span style="color: #009900;">&#40;</span>angle<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	ynew <span style="color: #339933;">=</span> h<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">*</span> sin <span style="color: #009900;">&#40;</span>angle<span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> h<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">*</span> cos <span style="color: #009900;">&#40;</span>angle<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	h<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> xnew<span style="color: #339933;">;</span> h<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> ynew<span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #993333;">void</span> scale <span style="color: #009900;">&#40;</span><span style="color: #993333;">int</span> h<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #993333;">int</span> sx<span style="color: #339933;">,</span> <span style="color: #993333;">int</span> sy<span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
    <span style="color: #993333;">int</span> i<span style="color: #339933;">;</span>
    <span style="color: #b1b100;">for</span> <span style="color: #009900;">&#40;</span>i<span style="color: #339933;">=</span><span style="color: #0000dd;">0</span><span style="color: #339933;">;</span> i<span style="color: #339933;">&lt;</span><span style="color: #0000dd;">9</span><span style="color: #339933;">;</span> i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
	h<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">*=</span> sx<span style="color: #339933;">;</span>
	h<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">*=</span> sy<span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #993333;">void</span> translate <span style="color: #009900;">&#40;</span><span style="color: #993333;">int</span> h<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #993333;">int</span> dx<span style="color: #339933;">,</span> <span style="color: #993333;">int</span> dy<span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
    <span style="color: #993333;">int</span> i<span style="color: #339933;">;</span>
    <span style="color: #b1b100;">for</span> <span style="color: #009900;">&#40;</span>i<span style="color: #339933;">=</span><span style="color: #0000dd;">0</span><span style="color: #339933;">;</span> i<span style="color: #339933;">&lt;</span><span style="color: #0000dd;">9</span><span style="color: #339933;">;</span> i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
	h<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">+=</span> dx<span style="color: #339933;">;</span>
	h<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">+=</span> dy<span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #993333;">void</span> reflect <span style="color: #009900;">&#40;</span><span style="color: #993333;">int</span> h<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #993333;">int</span> m<span style="color: #339933;">,</span> <span style="color: #993333;">int</span> c<span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #993333;">int</span> i<span style="color: #339933;">;</span>
	<span style="color: #993333;">float</span> angle<span style="color: #339933;">;</span>
	<span style="color: #b1b100;">for</span> <span style="color: #009900;">&#40;</span>i<span style="color: #339933;">=</span><span style="color: #0000dd;">0</span><span style="color: #339933;">;</span> i<span style="color: #339933;">&lt;</span><span style="color: #0000dd;">9</span><span style="color: #339933;">;</span> i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span>
		h<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">-=</span> c<span style="color: #339933;">;</span>
	angle <span style="color: #339933;">=</span> M_PI<span style="color: #339933;">/</span><span style="color: #0000dd;">2</span> <span style="color: #339933;">-</span> atan <span style="color: #009900;">&#40;</span>m<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	rotate <span style="color: #009900;">&#40;</span>h<span style="color: #339933;">,</span> angle<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">for</span> <span style="color: #009900;">&#40;</span>i<span style="color: #339933;">=</span><span style="color: #0000dd;">0</span><span style="color: #339933;">;</span> i<span style="color: #339933;">&lt;</span><span style="color: #0000dd;">9</span><span style="color: #339933;">;</span> i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span>
		h<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #339933;">-</span>h<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
	angle <span style="color: #339933;">=</span> <span style="color: #339933;">-</span>angle<span style="color: #339933;">;</span>
	rotate <span style="color: #009900;">&#40;</span>h<span style="color: #339933;">,</span> angle<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">for</span> <span style="color: #009900;">&#40;</span>i<span style="color: #339933;">=</span><span style="color: #0000dd;">0</span><span style="color: #339933;">;</span> i<span style="color: #339933;">&lt;</span><span style="color: #0000dd;">9</span><span style="color: #339933;">;</span> i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span>
		h<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">+=</span> c<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #993333;">void</span> ini<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #993333;">int</span> gd<span style="color: #339933;">=</span>DETECT<span style="color: #339933;">,</span>gm<span style="color: #339933;">;</span>
	initgraph<span style="color: #009900;">&#40;</span><span style="color: #339933;">&amp;</span>gd<span style="color: #339933;">,&amp;</span>gm<span style="color: #339933;">,</span><span style="color: #ff0000;">&quot;..\<span style="color: #000099; font-weight: bold;">\b</span>gi&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #993333;">void</span> dini<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	getch<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	closegraph<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #993333;">void</span> main<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
&nbsp;
	<span style="color: #993333;">int</span> h<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">9</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span>sx<span style="color: #339933;">,</span>sy<span style="color: #339933;">,</span>x<span style="color: #339933;">,</span>y<span style="color: #339933;">,</span>m<span style="color: #339933;">,</span>c<span style="color: #339933;">,</span>choice<span style="color: #339933;">;</span>
	<span style="color: #b1b100;">do</span>
	<span style="color: #009900;">&#123;</span>
		clrscr<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000066;">printf</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;1. Scaling about the origin.<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000066;">printf</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;2. Scaling about an arbitrary point.<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000066;">printf</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;3. Reflection about the line y = mx + c.<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000066;">printf</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;4. Exit<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000066;">printf</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;Enter the choice: &quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		scanf<span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;%d&quot;</span><span style="color: #339933;">,&amp;</span>choice<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #b1b100;">switch</span><span style="color: #009900;">&#40;</span>choice<span style="color: #009900;">&#41;</span>
		<span style="color: #009900;">&#123;</span>
			<span style="color: #b1b100;">case</span> <span style="color: #0000dd;">1</span><span style="color: #339933;">:</span> <span style="color: #000066;">printf</span> <span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;Enter the x- and y-scaling factors: &quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				scanf <span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;%d%d&quot;</span><span style="color: #339933;">,</span> <span style="color: #339933;">&amp;</span>sx<span style="color: #339933;">,</span> <span style="color: #339933;">&amp;</span>sy<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				ini<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				reset <span style="color: #009900;">&#40;</span>h<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				draw <span style="color: #009900;">&#40;</span>h<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>getch<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				scale <span style="color: #009900;">&#40;</span>h<span style="color: #339933;">,</span> sx<span style="color: #339933;">,</span> sy<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				cleardevice<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				draw <span style="color: #009900;">&#40;</span>h<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				dini<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span>
&nbsp;
			<span style="color: #b1b100;">case</span> <span style="color: #0000dd;">2</span><span style="color: #339933;">:</span> <span style="color: #000066;">printf</span> <span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;Enter the x- and y-scaling factors: &quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				scanf <span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;%d%d&quot;</span><span style="color: #339933;">,</span> <span style="color: #339933;">&amp;</span>sx<span style="color: #339933;">,</span> <span style="color: #339933;">&amp;</span>sy<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #000066;">printf</span> <span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;Enter the x- and y-coordinates of the point: &quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				scanf <span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;%d%d&quot;</span><span style="color: #339933;">,</span> <span style="color: #339933;">&amp;</span>x<span style="color: #339933;">,</span> <span style="color: #339933;">&amp;</span>y<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				ini<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				reset <span style="color: #009900;">&#40;</span>h<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				translate <span style="color: #009900;">&#40;</span>h<span style="color: #339933;">,</span> x<span style="color: #339933;">,</span> y<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #666666; font-style: italic;">// Go to arbitrary point</span>
				draw<span style="color: #009900;">&#40;</span>h<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> getch<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #666666; font-style: italic;">//Show its arbitrary position</span>
				cleardevice<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				translate<span style="color: #009900;">&#40;</span>h<span style="color: #339933;">,-</span>x<span style="color: #339933;">,-</span>y<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #666666; font-style: italic;">//Take it back to origin</span>
				draw<span style="color: #009900;">&#40;</span>h<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				getch<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				cleardevice<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				scale <span style="color: #009900;">&#40;</span>h<span style="color: #339933;">,</span> sx<span style="color: #339933;">,</span> sy<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #666666; font-style: italic;">//Now Scale it</span>
				draw<span style="color: #009900;">&#40;</span>h<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				getch<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				translate <span style="color: #009900;">&#40;</span>h<span style="color: #339933;">,</span> x<span style="color: #339933;">,</span> y<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #666666; font-style: italic;">//Back to Arbitrary point</span>
				cleardevice<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				draw <span style="color: #009900;">&#40;</span>h<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				putpixel <span style="color: #009900;">&#40;</span><span style="color: #0000dd;">320</span><span style="color: #339933;">+</span>x<span style="color: #339933;">,</span> <span style="color: #0000dd;">240</span><span style="color: #339933;">-</span>y<span style="color: #339933;">,</span> WHITE<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				dini<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span>
&nbsp;
			<span style="color: #b1b100;">case</span> <span style="color: #0000dd;">3</span><span style="color: #339933;">:</span> <span style="color: #000066;">printf</span> <span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;Enter the values of m and c: &quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				scanf <span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;%d%d&quot;</span><span style="color: #339933;">,</span> <span style="color: #339933;">&amp;</span>m<span style="color: #339933;">,</span> <span style="color: #339933;">&amp;</span>c<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				ini<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				reset <span style="color: #009900;">&#40;</span>h<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				draw <span style="color: #009900;">&#40;</span>h<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> getch<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				reflect <span style="color: #009900;">&#40;</span>h<span style="color: #339933;">,</span> m<span style="color: #339933;">,</span> c<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				cleardevice<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				draw <span style="color: #009900;">&#40;</span>h<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				dini<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span>
&nbsp;
			<span style="color: #b1b100;">case</span> <span style="color: #0000dd;">4</span><span style="color: #339933;">:</span> exit<span style="color: #009900;">&#40;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span><span style="color: #b1b100;">while</span><span style="color: #009900;">&#40;</span>choice<span style="color: #339933;">!=</span><span style="color: #0000dd;">4</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://electrofriends.com/source-codes/software-programs/c/graphics/c-program-to-create-a-house-and-perform-the-operations/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>C Program to draw a rectangle and perform the operations.</title>
		<link>http://electrofriends.com/source-codes/software-programs/c/graphics/c-program-to-draw-a-rectangle-and-perform-the-operations/</link>
		<comments>http://electrofriends.com/source-codes/software-programs/c/graphics/c-program-to-draw-a-rectangle-and-perform-the-operations/#comments</comments>
		<pubDate>Fri, 02 Oct 2009 10:11:58 +0000</pubDate>
		<dc:creator>Ranjith</dc:creator>
				<category><![CDATA[Graphics]]></category>
		<category><![CDATA[arbitory point]]></category>
		<category><![CDATA[C]]></category>
		<category><![CDATA[c graphics]]></category>
		<category><![CDATA[draw rectangle]]></category>
		<category><![CDATA[Rotation of rectangle]]></category>
		<category><![CDATA[shear]]></category>

		<guid isPermaLink="false">http://electrofriends.com/?p=828</guid>
		<description><![CDATA[C Program to draw a rectangle and perform the following operations.
	a. Rotation about the origin followed by translation.
	b. Rotation about an arbitrary point.
	c. Apply X shear and Y shear on the rectangle.]]></description>
			<content:encoded><![CDATA[<p>C Program to draw a rectangle and perform the following operations.<br />
	a. Rotation about the origin followed by translation.<br />
	b. Rotation about an arbitrary point.<br />
	c. Apply X shear and Y shear on the rectangle.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
</pre></td><td class="code"><pre class="c" style="font-family:monospace;"><span style="color: #339933;">#include &lt;stdio.h&gt;</span>
<span style="color: #339933;">#include &lt;graphics.h&gt;</span>
<span style="color: #339933;">#include &lt;stdlib.h&gt;</span>
<span style="color: #339933;">#include &lt;math.h&gt;</span>
&nbsp;
<span style="color: #993333;">void</span> draw <span style="color: #009900;">&#40;</span><span style="color: #993333;">int</span> r<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
    <span style="color: #993333;">int</span> i<span style="color: #339933;">;</span>
    setlinestyle <span style="color: #009900;">&#40;</span>DOTTED_LINE<span style="color: #339933;">,</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    line <span style="color: #009900;">&#40;</span><span style="color: #0000dd;">320</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">320</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">480</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    line <span style="color: #009900;">&#40;</span><span style="color: #0000dd;">0</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">240</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">640</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">240</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    setlinestyle <span style="color: #009900;">&#40;</span>SOLID_LINE<span style="color: #339933;">,</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    line <span style="color: #009900;">&#40;</span><span style="color: #0000dd;">320</span><span style="color: #339933;">+</span>r<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">240</span><span style="color: #339933;">-</span>r<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">320</span><span style="color: #339933;">+</span>r<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">240</span><span style="color: #339933;">-</span>r<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    line <span style="color: #009900;">&#40;</span><span style="color: #0000dd;">320</span><span style="color: #339933;">+</span>r<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">240</span><span style="color: #339933;">-</span>r<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">320</span><span style="color: #339933;">+</span>r<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">3</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">240</span><span style="color: #339933;">-</span>r<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">3</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    line <span style="color: #009900;">&#40;</span><span style="color: #0000dd;">320</span><span style="color: #339933;">+</span>r<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">240</span><span style="color: #339933;">-</span>r<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">320</span><span style="color: #339933;">+</span>r<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">240</span><span style="color: #339933;">-</span>r<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    line <span style="color: #009900;">&#40;</span><span style="color: #0000dd;">320</span><span style="color: #339933;">+</span>r<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">240</span><span style="color: #339933;">-</span>r<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">320</span><span style="color: #339933;">+</span>r<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">3</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">240</span><span style="color: #339933;">-</span>r<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">3</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #993333;">void</span> reset <span style="color: #009900;">&#40;</span><span style="color: #993333;">int</span> r<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
    <span style="color: #993333;">int</span> i<span style="color: #339933;">;</span>
    <span style="color: #993333;">int</span> val<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">4</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #009900;">&#123;</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">0</span> <span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#123;</span> <span style="color: #0000dd;">100</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">0</span> <span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#123;</span> <span style="color: #0000dd;">100</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">50</span> <span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#123;</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">50</span> <span style="color: #009900;">&#125;</span>
		    <span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">for</span> <span style="color: #009900;">&#40;</span>i<span style="color: #339933;">=</span><span style="color: #0000dd;">0</span><span style="color: #339933;">;</span> i<span style="color: #339933;">&lt;</span><span style="color: #0000dd;">4</span><span style="color: #339933;">;</span> i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
	r<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> val<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
	r<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> val<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #993333;">void</span> rotate <span style="color: #009900;">&#40;</span><span style="color: #993333;">int</span> r<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #993333;">int</span> angle<span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
    <span style="color: #993333;">int</span> i<span style="color: #339933;">;</span>
    <span style="color: #993333;">double</span> ang_rad <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span>angle <span style="color: #339933;">*</span> M_PI<span style="color: #009900;">&#41;</span> <span style="color: #339933;">/</span> <span style="color: #0000dd;">180</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">for</span> <span style="color: #009900;">&#40;</span>i<span style="color: #339933;">=</span><span style="color: #0000dd;">0</span><span style="color: #339933;">;</span> i<span style="color: #339933;">&lt;</span><span style="color: #0000dd;">4</span><span style="color: #339933;">;</span> i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
	<span style="color: #993333;">double</span> xnew<span style="color: #339933;">,</span> ynew<span style="color: #339933;">;</span>
	xnew <span style="color: #339933;">=</span> r<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">*</span> cos <span style="color: #009900;">&#40;</span>ang_rad<span style="color: #009900;">&#41;</span> <span style="color: #339933;">-</span> r<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">*</span> sin <span style="color: #009900;">&#40;</span>ang_rad<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	ynew <span style="color: #339933;">=</span> r<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">*</span> sin <span style="color: #009900;">&#40;</span>ang_rad<span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> r<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">*</span> cos <span style="color: #009900;">&#40;</span>ang_rad<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	r<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> xnew<span style="color: #339933;">;</span>
	r<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> ynew<span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #993333;">void</span> shear <span style="color: #009900;">&#40;</span><span style="color: #993333;">int</span> r<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #993333;">int</span> sx<span style="color: #339933;">,</span> <span style="color: #993333;">int</span> sy<span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
    <span style="color: #993333;">int</span> i<span style="color: #339933;">;</span>
    <span style="color: #b1b100;">for</span> <span style="color: #009900;">&#40;</span>i<span style="color: #339933;">=</span><span style="color: #0000dd;">0</span><span style="color: #339933;">;</span> i<span style="color: #339933;">&lt;</span><span style="color: #0000dd;">4</span><span style="color: #339933;">;</span> i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
	<span style="color: #993333;">int</span> xnew<span style="color: #339933;">,</span> ynew<span style="color: #339933;">;</span>
	xnew <span style="color: #339933;">=</span> r<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">+</span> r<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">*</span> sx<span style="color: #339933;">;</span>
	ynew <span style="color: #339933;">=</span> r<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">+</span> r<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">*</span> sy<span style="color: #339933;">;</span>
	r<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> xnew<span style="color: #339933;">;</span>
	r<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> ynew<span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #993333;">void</span> translate <span style="color: #009900;">&#40;</span><span style="color: #993333;">int</span> r<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #993333;">int</span> dx<span style="color: #339933;">,</span> <span style="color: #993333;">int</span> dy<span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
    <span style="color: #993333;">int</span> i<span style="color: #339933;">;</span>
    <span style="color: #b1b100;">for</span> <span style="color: #009900;">&#40;</span>i<span style="color: #339933;">=</span><span style="color: #0000dd;">0</span><span style="color: #339933;">;</span> i<span style="color: #339933;">&lt;</span><span style="color: #0000dd;">4</span><span style="color: #339933;">;</span> i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
	r<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">+=</span> dx<span style="color: #339933;">;</span>
	r<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">+=</span> dy<span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #993333;">void</span> ini<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #993333;">int</span> gd<span style="color: #339933;">=</span>DETECT<span style="color: #339933;">,</span>gm<span style="color: #339933;">;</span>
	initgraph<span style="color: #009900;">&#40;</span><span style="color: #339933;">&amp;</span>gd<span style="color: #339933;">,&amp;</span>gm<span style="color: #339933;">,</span><span style="color: #ff0000;">&quot;..//bgi&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #993333;">void</span> main<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
&nbsp;
	<span style="color: #993333;">int</span> r<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">4</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span>angle<span style="color: #339933;">,</span>dx<span style="color: #339933;">,</span>dy<span style="color: #339933;">,</span>x<span style="color: #339933;">,</span> y<span style="color: #339933;">,</span>choice<span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #b1b100;">do</span>
	<span style="color: #009900;">&#123;</span>
		clrscr<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000066;">printf</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;1.Rotation about the origin followed by translation<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000066;">printf</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;2.Rotation about an arbitrary point<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000066;">printf</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;3.Shear about the origin<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000066;">printf</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;4.Exit<span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000066;">printf</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;Enter your choice: &quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		scanf<span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;%d&quot;</span><span style="color: #339933;">,&amp;</span>choice<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #b1b100;">switch</span><span style="color: #009900;">&#40;</span>choice<span style="color: #009900;">&#41;</span>
		<span style="color: #009900;">&#123;</span>
			<span style="color: #b1b100;">case</span> <span style="color: #0000dd;">1</span><span style="color: #339933;">:</span> <span style="color: #000066;">printf</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;Enter the rotation angle: &quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				scanf<span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;%d&quot;</span><span style="color: #339933;">,</span> <span style="color: #339933;">&amp;</span>angle<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #000066;">printf</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;Enter the x- and y-coordinates for translation: &quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				scanf<span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;%d%d&quot;</span><span style="color: #339933;">,&amp;</span>dx<span style="color: #339933;">,&amp;</span>dy<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				ini<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				cleardevice<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				reset<span style="color: #009900;">&#40;</span>r<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				draw<span style="color: #009900;">&#40;</span>r<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>getch<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				rotate<span style="color: #009900;">&#40;</span>r<span style="color: #339933;">,</span> angle<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				cleardevice<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				draw<span style="color: #009900;">&#40;</span>r<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>getch<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				translate<span style="color: #009900;">&#40;</span>r<span style="color: #339933;">,</span>dx<span style="color: #339933;">,</span>dy<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				cleardevice<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				draw<span style="color: #009900;">&#40;</span>r<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>getch<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				closegraph<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span>
			<span style="color: #b1b100;">case</span> <span style="color: #0000dd;">2</span><span style="color: #339933;">:</span> <span style="color: #000066;">printf</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;Enter the rotation angle: &quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				scanf<span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;%d&quot;</span><span style="color: #339933;">,&amp;</span>angle<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #000066;">printf</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;Enter the x- and y-coordinates of the point: &quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				scanf<span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;%d%d&quot;</span><span style="color: #339933;">,&amp;</span>x<span style="color: #339933;">,&amp;</span>y<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				ini<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				cleardevice<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				reset<span style="color: #009900;">&#40;</span>r<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				translate<span style="color: #009900;">&#40;</span>r<span style="color: #339933;">,</span>x<span style="color: #339933;">,</span>y<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				draw<span style="color: #009900;">&#40;</span>r<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				putpixel<span style="color: #009900;">&#40;</span><span style="color: #0000dd;">320</span><span style="color: #339933;">+</span>x<span style="color: #339933;">,</span><span style="color: #0000dd;">240</span><span style="color: #339933;">-</span>y<span style="color: #339933;">,</span>WHITE<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				getch<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				translate<span style="color: #009900;">&#40;</span>r<span style="color: #339933;">,-</span>x<span style="color: #339933;">,-</span>y<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				draw<span style="color: #009900;">&#40;</span>r<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>getch<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				rotate<span style="color: #009900;">&#40;</span>r<span style="color: #339933;">,</span>angle<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				draw<span style="color: #009900;">&#40;</span>r<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>getch<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				translate<span style="color: #009900;">&#40;</span>r<span style="color: #339933;">,</span>x<span style="color: #339933;">,</span>y<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				cleardevice<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				draw<span style="color: #009900;">&#40;</span>r<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				putpixel<span style="color: #009900;">&#40;</span><span style="color: #0000dd;">320</span><span style="color: #339933;">+</span>x<span style="color: #339933;">,</span><span style="color: #0000dd;">240</span><span style="color: #339933;">-</span>y<span style="color: #339933;">,</span>WHITE<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				getch<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				closegraph<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span>
			<span style="color: #b1b100;">case</span> <span style="color: #0000dd;">3</span><span style="color: #339933;">:</span> <span style="color: #000066;">printf</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;Enter the x- and y-shears: &quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				scanf<span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;%d%d&quot;</span><span style="color: #339933;">,&amp;</span>x<span style="color: #339933;">,&amp;</span>y<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				ini<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				reset<span style="color: #009900;">&#40;</span>r<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				draw<span style="color: #009900;">&#40;</span>r<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>getch<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				shear<span style="color: #009900;">&#40;</span>r<span style="color: #339933;">,</span> x<span style="color: #339933;">,</span> y<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				cleardevice<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				draw <span style="color: #009900;">&#40;</span>r<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>getch<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				closegraph<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span>
			<span style="color: #b1b100;">case</span> <span style="color: #0000dd;">4</span><span style="color: #339933;">:</span> closegraph<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span><span style="color: #b1b100;">while</span><span style="color: #009900;">&#40;</span>choice<span style="color: #339933;">!=</span><span style="color: #0000dd;">4</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://electrofriends.com/source-codes/software-programs/c/graphics/c-program-to-draw-a-rectangle-and-perform-the-operations/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>C Program to implement the midpoint circle drawing algorithm</title>
		<link>http://electrofriends.com/source-codes/software-programs/c/graphics/c-program-to-implement-the-midpoint-circle-drawing-algorithm/</link>
		<comments>http://electrofriends.com/source-codes/software-programs/c/graphics/c-program-to-implement-the-midpoint-circle-drawing-algorithm/#comments</comments>
		<pubDate>Fri, 02 Oct 2009 10:09:47 +0000</pubDate>
		<dc:creator>Ranjith</dc:creator>
				<category><![CDATA[Graphics]]></category>
		<category><![CDATA[algorithm]]></category>
		<category><![CDATA[c program]]></category>
		<category><![CDATA[circle drawing]]></category>
		<category><![CDATA[midpoint circle]]></category>

		<guid isPermaLink="false">http://electrofriends.com/?p=825</guid>
		<description><![CDATA[C Program to implement the midpoint circle drawing algorithm to draw a circle. Modify the algorithm toimplement specified arc or sector.]]></description>
			<content:encoded><![CDATA[<p>C Program to implement the midpoint circle drawing algorithm to draw a circle. Modify the algorithm toimplement specified arc or sector.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
</pre></td><td class="code"><pre class="c" style="font-family:monospace;"><span style="color: #339933;">#include &lt;graphics.h&gt;</span>
<span style="color: #339933;">#include &lt;conio.h&gt;</span>
<span style="color: #339933;">#include &lt;math.h&gt;</span>
<span style="color: #339933;">#include &lt;stdio.h&gt;</span>
&nbsp;
<span style="color: #339933;">#define PI 3.14</span>
&nbsp;
<span style="color: #993333;">float</span> startangle<span style="color: #339933;">,</span>endangle<span style="color: #339933;">;</span>
<span style="color: #993333;">int</span> x<span style="color: #339933;">,</span>y<span style="color: #339933;">;</span>
&nbsp;
<span style="color: #993333;">int</span> Can_draw<span style="color: #009900;">&#40;</span> <span style="color: #993333;">float</span> theta <span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span> theta <span style="color: #339933;">&gt;=</span> startangle <span style="color: #339933;">&amp;&amp;</span> theta<span style="color: #339933;">&lt;=</span> endangle <span style="color: #009900;">&#41;</span>
		<span style="color: #b1b100;">return</span> <span style="color: #0000dd;">1</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">return</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #993333;">void</span> Circlepoints<span style="color: #009900;">&#40;</span><span style="color: #993333;">int</span> x<span style="color: #339933;">,</span><span style="color: #993333;">int</span> y<span style="color: #339933;">,</span><span style="color: #993333;">int</span> xc<span style="color: #339933;">,</span><span style="color: #993333;">int</span> yc<span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #993333;">float</span> theta<span style="color: #339933;">;</span>
	theta <span style="color: #339933;">=</span> atan<span style="color: #009900;">&#40;</span> <span style="color: #009900;">&#40;</span><span style="color: #993333;">float</span><span style="color: #009900;">&#41;</span>y<span style="color: #339933;">/</span>x <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	theta <span style="color: #339933;">=</span> theta <span style="color: #339933;">*</span> <span style="color: #009900;">&#40;</span><span style="color: #0000dd;">180</span><span style="color: #339933;">/</span>M_PI<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span> Can_draw<span style="color: #009900;">&#40;</span>theta<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
		putpixel<span style="color: #009900;">&#40;</span>xc<span style="color: #339933;">+</span>x<span style="color: #339933;">,</span>yc<span style="color: #339933;">-</span>y<span style="color: #339933;">,</span>WHITE<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span> Can_draw<span style="color: #009900;">&#40;</span><span style="color: #0000dd;">360</span><span style="color: #339933;">-</span>theta<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
		putpixel<span style="color: #009900;">&#40;</span>xc<span style="color: #339933;">+</span>x<span style="color: #339933;">,</span>yc<span style="color: #339933;">+</span>y<span style="color: #339933;">,</span>WHITE<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span> Can_draw<span style="color: #009900;">&#40;</span><span style="color: #0000dd;">90</span><span style="color: #339933;">-</span>theta<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
		putpixel<span style="color: #009900;">&#40;</span>xc<span style="color: #339933;">+</span>y<span style="color: #339933;">,</span>yc<span style="color: #339933;">-</span>x<span style="color: #339933;">,</span>WHITE<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span> Can_draw<span style="color: #009900;">&#40;</span><span style="color: #0000dd;">270</span><span style="color: #339933;">+</span>theta<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
		putpixel<span style="color: #009900;">&#40;</span>xc<span style="color: #339933;">+</span>y<span style="color: #339933;">,</span>yc<span style="color: #339933;">+</span>x<span style="color: #339933;">,</span>WHITE<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span> Can_draw<span style="color: #009900;">&#40;</span><span style="color: #0000dd;">180</span><span style="color: #339933;">-</span>theta<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
		putpixel<span style="color: #009900;">&#40;</span>xc<span style="color: #339933;">-</span>x<span style="color: #339933;">,</span>yc<span style="color: #339933;">-</span>y<span style="color: #339933;">,</span>WHITE<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span> Can_draw<span style="color: #009900;">&#40;</span><span style="color: #0000dd;">180</span><span style="color: #339933;">+</span>theta<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
		putpixel<span style="color: #009900;">&#40;</span>xc<span style="color: #339933;">-</span>x<span style="color: #339933;">,</span>yc<span style="color: #339933;">+</span>y<span style="color: #339933;">,</span>WHITE<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span> Can_draw<span style="color: #009900;">&#40;</span><span style="color: #0000dd;">90</span><span style="color: #339933;">+</span>theta<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
		putpixel<span style="color: #009900;">&#40;</span>xc<span style="color: #339933;">-</span>y<span style="color: #339933;">,</span>yc<span style="color: #339933;">-</span>x<span style="color: #339933;">,</span>WHITE<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span> Can_draw<span style="color: #009900;">&#40;</span><span style="color: #0000dd;">270</span><span style="color: #339933;">-</span>theta<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
		putpixel<span style="color: #009900;">&#40;</span>xc<span style="color: #339933;">-</span>y<span style="color: #339933;">,</span>yc<span style="color: #339933;">+</span>x<span style="color: #339933;">,</span>WHITE<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #993333;">void</span> MidPointcircle<span style="color: #009900;">&#40;</span><span style="color: #993333;">int</span> xc<span style="color: #339933;">,</span><span style="color: #993333;">int</span> yc<span style="color: #339933;">,</span><span style="color: #993333;">int</span> rad<span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #993333;">float</span> d <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #0000dd;">5</span><span style="color: #339933;">/</span><span style="color:#800080;">4.0</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">-</span> rad<span style="color: #339933;">;</span>
	x<span style="color: #339933;">=</span><span style="color: #0000dd;">0</span><span style="color: #339933;">,</span>y<span style="color: #339933;">=</span>rad<span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #b1b100;">while</span><span style="color: #009900;">&#40;</span>y<span style="color: #339933;">&gt;</span>x<span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span>d<span style="color: #339933;">&lt;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#41;</span> 
 			d <span style="color: #339933;">+=</span> <span style="color: #0000dd;">2</span><span style="color: #339933;">*</span>x<span style="color: #339933;">+</span><span style="color: #0000dd;">3</span><span style="color: #339933;">;</span>
		<span style="color: #b1b100;">else</span> 	
			d<span style="color: #339933;">+=</span><span style="color: #009900;">&#40;</span><span style="color: #0000dd;">2</span><span style="color: #339933;">*</span>x<span style="color: #009900;">&#41;</span><span style="color: #339933;">-</span><span style="color: #009900;">&#40;</span><span style="color: #0000dd;">2</span><span style="color: #339933;">*</span>y<span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span><span style="color: #0000dd;">5</span><span style="color: #339933;">,</span>y<span style="color: #339933;">--;</span>
		x<span style="color: #339933;">++;</span>
		Circlepoints<span style="color: #009900;">&#40;</span>x<span style="color: #339933;">,</span>y<span style="color: #339933;">,</span>xc<span style="color: #339933;">,</span>yc<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		delay<span style="color: #009900;">&#40;</span><span style="color: #0000dd;">90</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #993333;">void</span> main<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #993333;">int</span> gd<span style="color: #339933;">=</span>DETECT<span style="color: #339933;">,</span>gm<span style="color: #339933;">;</span>
	<span style="color: #993333;">int</span> radius<span style="color: #339933;">,</span>xc<span style="color: #339933;">,</span>yc<span style="color: #339933;">,</span>choice<span style="color: #339933;">,</span>temp<span style="color: #339933;">;</span>
	<span style="color: #993333;">float</span> xstart<span style="color: #339933;">,</span>ystart<span style="color: #339933;">,</span>xend<span style="color: #339933;">,</span>yend<span style="color: #339933;">;</span>
	initgraph<span style="color: #009900;">&#40;</span><span style="color: #339933;">&amp;</span>gd<span style="color: #339933;">,&amp;</span>gm<span style="color: #339933;">,</span><span style="color: #ff0000;">&quot;..\<span style="color: #000099; font-weight: bold;">\b</span>gi&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">do</span>
	<span style="color: #009900;">&#123;</span>
		clrscr<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		cleardevice<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000066;">printf</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span> Enter your choice<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000066;">printf</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span> 1.Draw a Circle<span style="color: #000099; font-weight: bold;">\n</span> 2.Draw a Sector<span style="color: #000099; font-weight: bold;">\n</span> 3.Draw an Arc<span style="color: #000099; font-weight: bold;">\n</span> 4.Exit<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		scanf<span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;%d&quot;</span><span style="color: #339933;">,&amp;</span>choice<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #b1b100;">switch</span><span style="color: #009900;">&#40;</span>choice<span style="color: #009900;">&#41;</span>
		<span style="color: #009900;">&#123;</span>
			<span style="color: #b1b100;">case</span> <span style="color: #0000dd;">1</span><span style="color: #339933;">:</span> <span style="color: #000066;">printf</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span> Enter the center:&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				scanf<span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;%d %d&quot;</span><span style="color: #339933;">,&amp;</span>xc<span style="color: #339933;">,&amp;</span>yc<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #000066;">printf</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span> Enter the radius:&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				scanf<span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;%d&quot;</span><span style="color: #339933;">,&amp;</span>radius<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				cleardevice<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				startangle<span style="color: #339933;">=</span><span style="color: #0000dd;">0</span><span style="color: #339933;">,</span>endangle<span style="color: #339933;">=</span><span style="color: #0000dd;">360</span><span style="color: #339933;">;</span>
				MidPointcircle<span style="color: #009900;">&#40;</span>xc<span style="color: #339933;">,</span>yc<span style="color: #339933;">,</span>radius<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				getch<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span>
&nbsp;
			<span style="color: #b1b100;">case</span> <span style="color: #0000dd;">2</span><span style="color: #339933;">:</span> <span style="color: #000066;">printf</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span> Enter the center:&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				scanf<span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;%d %d&quot;</span><span style="color: #339933;">,&amp;</span>xc<span style="color: #339933;">,&amp;</span>yc<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #000066;">printf</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span> Enter the radius:&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				scanf<span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;%d&quot;</span><span style="color: #339933;">,&amp;</span>radius<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #000066;">printf</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span> Enter the startangle:&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				scanf<span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;%f&quot;</span><span style="color: #339933;">,&amp;</span>startangle<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #000066;">printf</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span> Enter the endangle:&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				scanf<span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;%f&quot;</span><span style="color: #339933;">,&amp;</span>endangle<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				cleardevice<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span>startangle<span style="color: #339933;">&gt;</span>endangle<span style="color: #009900;">&#41;</span>
				<span style="color: #009900;">&#123;</span>
					temp<span style="color: #339933;">=</span>startangle<span style="color: #339933;">;</span>
					startangle<span style="color: #339933;">=</span>endangle<span style="color: #339933;">;</span>
					endangle<span style="color: #339933;">=</span>temp<span style="color: #339933;">;</span>
				<span style="color: #009900;">&#125;</span>
				MidPointcircle<span style="color: #009900;">&#40;</span>xc<span style="color: #339933;">,</span>yc<span style="color: #339933;">,</span>radius<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				xstart<span style="color: #339933;">=</span>xc<span style="color: #339933;">+</span>radius<span style="color: #339933;">*</span>cos<span style="color: #009900;">&#40;</span>PI<span style="color: #339933;">/</span><span style="color: #0000dd;">180</span><span style="color: #339933;">*</span>startangle<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				ystart<span style="color: #339933;">=</span>yc<span style="color: #339933;">-</span>radius<span style="color: #339933;">*</span>sin<span style="color: #009900;">&#40;</span>PI<span style="color: #339933;">/</span><span style="color: #0000dd;">180</span><span style="color: #339933;">*</span>startangle<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				xend<span style="color: #339933;">=</span>xc<span style="color: #339933;">+</span>radius<span style="color: #339933;">*</span>cos<span style="color: #009900;">&#40;</span>PI<span style="color: #339933;">/</span><span style="color: #0000dd;">180</span><span style="color: #339933;">*</span>endangle<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				yend<span style="color: #339933;">=</span>yc<span style="color: #339933;">-</span>radius<span style="color: #339933;">*</span>sin<span style="color: #009900;">&#40;</span>PI<span style="color: #339933;">/</span><span style="color: #0000dd;">180</span><span style="color: #339933;">*</span>endangle<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				line<span style="color: #009900;">&#40;</span>xc<span style="color: #339933;">,</span>yc<span style="color: #339933;">,</span>xstart<span style="color: #339933;">,</span>ystart<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				line<span style="color: #009900;">&#40;</span>xc<span style="color: #339933;">,</span>yc<span style="color: #339933;">,</span>xend<span style="color: #339933;">,</span>yend<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				getch<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span>
&nbsp;
			<span style="color: #b1b100;">case</span> <span style="color: #0000dd;">3</span><span style="color: #339933;">:</span> <span style="color: #000066;">printf</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span> Enter the center:&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				scanf<span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;%d %d&quot;</span><span style="color: #339933;">,&amp;</span>xc<span style="color: #339933;">,&amp;</span>yc<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #000066;">printf</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span> Enter the radius:&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				scanf<span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;%d&quot;</span><span style="color: #339933;">,&amp;</span>radius<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #000066;">printf</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span> Enter the startangle:&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				scanf<span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;%f&quot;</span><span style="color: #339933;">,&amp;</span>startangle<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #000066;">printf</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span> Enter the endangle:&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				scanf<span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;%f&quot;</span><span style="color: #339933;">,&amp;</span>endangle<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				cleardevice<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span>startangle<span style="color: #339933;">&gt;</span>endangle<span style="color: #009900;">&#41;</span>
				<span style="color: #009900;">&#123;</span>
					temp<span style="color: #339933;">=</span>startangle<span style="color: #339933;">;</span>
					startangle<span style="color: #339933;">=</span>endangle<span style="color: #339933;">;</span>
					endangle<span style="color: #339933;">=</span>temp<span style="color: #339933;">;</span>
				<span style="color: #009900;">&#125;</span>
				MidPointcircle<span style="color: #009900;">&#40;</span>xc<span style="color: #339933;">,</span>yc<span style="color: #339933;">,</span>radius<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				getch<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span>
&nbsp;
		       <span style="color: #b1b100;">case</span> <span style="color: #0000dd;">4</span><span style="color: #339933;">:</span>  closegraph<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span><span style="color: #b1b100;">while</span><span style="color: #009900;">&#40;</span>choice<span style="color: #339933;">!=</span><span style="color: #0000dd;">4</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://electrofriends.com/source-codes/software-programs/c/graphics/c-program-to-implement-the-midpoint-circle-drawing-algorithm/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>C Program to display a line graph using midpoint line algorithm.</title>
		<link>http://electrofriends.com/source-codes/software-programs/c/graphics/c-program-to-display-a-line-graph-using-midpoint-line-algorithm/</link>
		<comments>http://electrofriends.com/source-codes/software-programs/c/graphics/c-program-to-display-a-line-graph-using-midpoint-line-algorithm/#comments</comments>
		<pubDate>Fri, 02 Oct 2009 10:07:21 +0000</pubDate>
		<dc:creator>Ranjith</dc:creator>
				<category><![CDATA[Graphics]]></category>
		<category><![CDATA[c graphics]]></category>
		<category><![CDATA[line graph]]></category>
		<category><![CDATA[Software Programs]]></category>

		<guid isPermaLink="false">http://electrofriends.com/?p=823</guid>
		<description><![CDATA[Program to display a line graph using midpoint line algorithm. The input to the program is a set of data corresponding to the X and Y-axes. Data parts are to be displayed as asterisk (*) according to the input specification.]]></description>
			<content:encoded><![CDATA[<p>Program to display a line graph using midpoint line algorithm. The input to the program is a set of data corresponding to the X and Y-axes. Data parts are to be displayed as asterisk (*) according to the input specification.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
</pre></td><td class="code"><pre class="c" style="font-family:monospace;"><span style="color: #339933;">#include&lt;stdio.h&gt;</span>
<span style="color: #339933;">#include&lt;graphics.h&gt;</span>
<span style="color: #339933;">#include&lt;stdlib.h&gt;</span>
<span style="color: #339933;">#include&lt;conio.h&gt;</span>
&nbsp;
<span style="color: #339933;">#define MAX 20</span>
&nbsp;
<span style="color: #993333;">void</span> swap<span style="color: #009900;">&#40;</span><span style="color: #993333;">int</span><span style="color: #339933;">*</span> a<span style="color: #339933;">,</span><span style="color: #993333;">int</span><span style="color: #339933;">*</span> b<span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #993333;">int</span> t<span style="color: #339933;">=*</span>a<span style="color: #339933;">;</span>
	<span style="color: #339933;">*</span>a<span style="color: #339933;">=*</span>b<span style="color: #339933;">;</span>
	<span style="color: #339933;">*</span>b<span style="color: #339933;">=</span>t<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #993333;">void</span> midpointline<span style="color: #009900;">&#40;</span><span style="color: #993333;">int</span> x1<span style="color: #339933;">,</span><span style="color: #993333;">int</span> y1<span style="color: #339933;">,</span><span style="color: #993333;">int</span> x2<span style="color: #339933;">,</span><span style="color: #993333;">int</span> y2<span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #993333;">int</span> dx<span style="color: #339933;">,</span>dy<span style="color: #339933;">,</span>d<span style="color: #339933;">,</span>incry<span style="color: #339933;">,</span>incre<span style="color: #339933;">,</span>incrne<span style="color: #339933;">,</span>slopegt1<span style="color: #339933;">=</span><span style="color: #0000dd;">0</span><span style="color: #339933;">;</span>
	dx<span style="color: #339933;">=</span>abs<span style="color: #009900;">&#40;</span>x1<span style="color: #339933;">-</span>x2<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>dy<span style="color: #339933;">=</span>abs<span style="color: #009900;">&#40;</span>y1<span style="color: #339933;">-</span>y2<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span>dy<span style="color: #339933;">&gt;</span>dx<span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		swap<span style="color: #009900;">&#40;</span><span style="color: #339933;">&amp;</span>x1<span style="color: #339933;">,&amp;</span>y1<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		swap<span style="color: #009900;">&#40;</span><span style="color: #339933;">&amp;</span>x2<span style="color: #339933;">,&amp;</span>y2<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		swap<span style="color: #009900;">&#40;</span><span style="color: #339933;">&amp;</span>dx<span style="color: #339933;">,&amp;</span>dy<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		slopegt1<span style="color: #339933;">=</span><span style="color: #0000dd;">1</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span>x1<span style="color: #339933;">&gt;</span>x2<span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		swap<span style="color: #009900;">&#40;</span><span style="color: #339933;">&amp;</span>x1<span style="color: #339933;">,&amp;</span>x2<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		swap<span style="color: #009900;">&#40;</span><span style="color: #339933;">&amp;</span>y1<span style="color: #339933;">,&amp;</span>y2<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span>y1<span style="color: #339933;">&gt;</span>y2<span style="color: #009900;">&#41;</span>
		incry<span style="color: #339933;">=-</span><span style="color: #0000dd;">1</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">else</span>
		incry<span style="color: #339933;">=</span><span style="color: #0000dd;">1</span><span style="color: #339933;">;</span>
	d<span style="color: #339933;">=</span><span style="color: #0000dd;">2</span><span style="color: #339933;">*</span>dy<span style="color: #339933;">-</span>dx<span style="color: #339933;">;</span>
	incre<span style="color: #339933;">=</span><span style="color: #0000dd;">2</span><span style="color: #339933;">*</span>dy<span style="color: #339933;">;</span>
	incrne<span style="color: #339933;">=</span><span style="color: #0000dd;">2</span><span style="color: #339933;">*</span><span style="color: #009900;">&#40;</span>dy<span style="color: #339933;">-</span>dx<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">while</span><span style="color: #009900;">&#40;</span>x1<span style="color: #339933;">&lt;</span>x2<span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span>d<span style="color: #339933;">&lt;=</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#41;</span>
			d<span style="color: #339933;">+=</span>incre<span style="color: #339933;">;</span>
		<span style="color: #b1b100;">else</span>
		<span style="color: #009900;">&#123;</span>
			d<span style="color: #339933;">+=</span>incrne<span style="color: #339933;">;</span>
			y1<span style="color: #339933;">+=</span>incry<span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
		x1<span style="color: #339933;">++;</span>
		<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span>slopegt1<span style="color: #009900;">&#41;</span>
			putpixel<span style="color: #009900;">&#40;</span>y1<span style="color: #339933;">,</span>x1<span style="color: #339933;">,</span>WHITE<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #b1b100;">else</span>
			putpixel<span style="color: #009900;">&#40;</span>x1<span style="color: #339933;">,</span>y1<span style="color: #339933;">,</span>WHITE<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #993333;">void</span> main<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #993333;">int</span> n<span style="color: #339933;">,</span>i<span style="color: #339933;">;</span>
	<span style="color: #993333;">int</span> pt<span style="color: #009900;">&#91;</span>MAX<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
	<span style="color: #993333;">int</span> gd<span style="color: #339933;">=</span>DETECT<span style="color: #339933;">,</span>gm<span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000066;">printf</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;Enter the number of points:&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	scanf<span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;%d&quot;</span><span style="color: #339933;">,&amp;</span>n<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000066;">printf</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;Enter the x and y coordinates:&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">for</span><span style="color: #009900;">&#40;</span>i<span style="color: #339933;">=</span><span style="color: #0000dd;">0</span><span style="color: #339933;">;</span>i<span style="color: #339933;">&lt;</span>n<span style="color: #339933;">;</span>i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		scanf<span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;%d %d&quot;</span><span style="color: #339933;">,&amp;</span>pt<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,&amp;</span>pt<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		pt<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span><span style="color: #0000dd;">480</span> <span style="color: #339933;">-</span> pt<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	initgraph<span style="color: #009900;">&#40;</span><span style="color: #339933;">&amp;</span>gd<span style="color: #339933;">,&amp;</span>gm<span style="color: #339933;">,</span><span style="color: #ff0000;">&quot;..\<span style="color: #000099; font-weight: bold;">\b</span>gi&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	line<span style="color: #009900;">&#40;</span><span style="color: #0000dd;">1</span><span style="color: #339933;">,</span><span style="color: #0000dd;">0</span><span style="color: #339933;">,</span><span style="color: #0000dd;">1</span><span style="color: #339933;">,</span><span style="color: #0000dd;">480</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>		<span style="color: #666666; font-style: italic;">// X - Axis</span>
	line<span style="color: #009900;">&#40;</span><span style="color: #0000dd;">0</span><span style="color: #339933;">,</span><span style="color: #0000dd;">479</span><span style="color: #339933;">,</span><span style="color: #0000dd;">639</span><span style="color: #339933;">,</span><span style="color: #0000dd;">479</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>		<span style="color: #666666; font-style: italic;">// Y - Axis</span>
&nbsp;
	outtextxy<span style="color: #009900;">&#40;</span>pt<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">-</span><span style="color: #0000dd;">2</span><span style="color: #339933;">,</span>pt<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">-</span><span style="color: #0000dd;">3</span><span style="color: #339933;">,</span><span style="color: #ff0000;">&quot;*&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #b1b100;">for</span><span style="color: #009900;">&#40;</span>i<span style="color: #339933;">=</span><span style="color: #0000dd;">0</span><span style="color: #339933;">;</span>i<span style="color: #339933;">&lt;</span>n<span style="color: #339933;">-</span><span style="color: #0000dd;">1</span><span style="color: #339933;">;</span>i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		midpointline<span style="color: #009900;">&#40;</span>pt<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span>pt<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span>pt<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">+</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span>pt<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">+</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		outtextxy<span style="color: #009900;">&#40;</span>pt<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">+</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">-</span><span style="color: #0000dd;">2</span><span style="color: #339933;">,</span>pt<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">+</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">-</span><span style="color: #0000dd;">3</span><span style="color: #339933;">,</span><span style="color: #ff0000;">&quot;*&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
	getch<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	closegraph<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://electrofriends.com/source-codes/software-programs/c/graphics/c-program-to-display-a-line-graph-using-midpoint-line-algorithm/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
