/*實現函數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;
}