實現函數y=x*x的圖形與圓的圖形迭加顯示

/*實現函數y=x*x的圖形與圓的圖形迭加顯示

 */

圖形迭加的關鍵是要在分別計算出同一行中兩個圖形的列方向點座標後,正確判斷相互的位置關係。

爲此,可以先判斷圖形的交點,再分別控制打印兩個不同的圖形。

 

#include <iostream>
#include <cmath>
using namespace std;

int main()
{
 int x, x_circularity,x_parabola;
 double y;
 for(y=1;y>=-1;y-=0.1)
 {
  x_circularity=sqrt(1-pow(y,2))*25;         //圓圖形上y對應的列座標
  if(y>=0)                                   //y=x*x函數只在y>=0時有圖形
   x_parabola=sqrt(y)*25;                 //y=x*x圖形上y對應的列座標
  for(x=-25;x<=25;x++)
   if((x==x_circularity&&x==x_parabola)||(x==(-1)*x_circularity&&x==(-1)*x_parabola))
    cout<<"+";                          //兩個圖形相交時打印'+'
   else
    if(x==(-1)*x_circularity||x==x_circularity)
     cout<<"*";                         //圓圖形上的點打印'*'
    else
     if(y>=0&&(x==(-1)*x_parabola||x==x_parabola))
      cout<<"+";                      //拋物線圖形上的點打印'+'
     else
      cout<<" ";
     cout<<endl;
 }
 return 0;
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章