Linux网络编程 -- 绘制交叉曲线(余弦和直线、正弦和余弦、圆和抛物线)

绘制余弦曲线和直线

	在屏幕上显示0°~360°的cos(x)曲线与直线f(x)=45*(y-1)+31的叠加图形。其中cos(x)图形用“*”表示,f(x)用“+”表示,在两个图形的交点处则用f(x)图形的符号。

代码如下:

#include "stdio.h"
#include "math.h"

int main()
{
	
	double y;
	int m,n,x,yy;
	
	for(yy=0;yy<=20;yy++)
	{
		y=0.1*yy;
		m=acos(1-y)*10;
		n=45*(y-1)+31;
		for(x=0;x<=62;x++)
		{
			if(x==n&&x==m)	printf("+");
			else if(x==n)	printf("+");
			else if(x==m||x==62-m)	printf("*");
			else printf(" ");
		}
		printf("\n");
			
	}
	
}

结果如下:

Linux网络编程 -- 绘制交叉曲线(余弦和直线、正弦和余弦、圆和抛物线)_第1张图片

绘制正弦和余弦

	实现sin(x)曲线与cos(x)曲线图形的同时显示。

代码如下:

#include 
#include 

int main()
{
	double y;
	int x,m,n;

	for(y=1;y>0.7;y-=0.1)
	{
		m=acos(y)*10;
		n=asin(y)*10;
		for(x=1;x0;y-=0.1)
	{
		m=acos(y)*10;
		n=asin(y)*10;
		for(x=1;x-0.7;y-=0.1)
	{
		m=acos(y)*10;
		n=asin(y)*10;
		for(x=1;x-1;y-=0.1)
	{
		m=acos(y)*10;
		n=asin(y)*10;
		for(x=1;x

结果如下:

Linux网络编程 -- 绘制交叉曲线(余弦和直线、正弦和余弦、圆和抛物线)_第2张图片

绘制圆和抛物线

	实现函数y=x^2的图形与圆的图形的叠加显示。

代码如下:

#include 
#include 

int main()
{
	int x,y,m,n;

	for(y=10;y>9;y--)
	{
		m=2.5*sqrt(100-y*y);
		n=2.5*sqrt(y);
		for(x=0;x<25-n;x++) printf(" ");
		printf("*");
		for(;x<25-m;x++) printf(" ");
		printf("*");
		for(;x<25+m;x++) printf(" ");
		printf("*");
		for(;x<25+n;x++) printf(" ");
		printf("*\n");
	}
	
	for(y=9;y>0;y--)
	{
		m=2.5*sqrt(100-y*y);
		n=2.5*sqrt(y);
		for(x=0;x<25-m;x++) printf(" ");
		printf("*");
		for(;x<25-n;x++) printf(" ");
		printf("*");
		for(;x<25+n;x++) printf(" ");
		printf("*");
		for(;x<25+m;x++) printf(" ");
		printf("*\n");
	}
	
	for(y=0;y>-10;y--)
	{
		m=2.5*sqrt(100-y*y);
		for(x=0;x<25-m;x++) printf(" ");
		printf("*");
		for(;x<25+m;x++) printf(" ");
		printf("*\n");
	}
}

结果如下:

Linux网络编程 -- 绘制交叉曲线(余弦和直线、正弦和余弦、圆和抛物线)_第3张图片

你可能感兴趣的:(Linux网络编程 -- 绘制交叉曲线(余弦和直线、正弦和余弦、圆和抛物线))