3绘制曲线y=x*x的图形与圆的图形叠加显示

本文介绍了两种方法来实现将y=x*x的曲线图与圆形图形叠加在同一坐标系上显示,提供了详细的绘制过程。
摘要由CSDN通过智能技术生成

方法1

/*绘制y=x*x的图形与圆的图形叠加显示---方法1
在屏幕上用"*"画一个空心的圆,用"+"画一个开口向上的曲线y=x*x
实现函数y=x*x的图形与圆的图形叠加显示 
*问题分析与算法设计
(1)打印圆可利用图形的左右对称性。根据圆的方程:
R*R=X*X+Y*Y    X=sqrt(R*R-Y*Y)
R=10   以X=30,Y=0为圆中心,以X=30为圆纵对称轴,以Y=0为圆横对称轴
R*R=(X-30)*(X-30)+Y*Y  得到两个坐标 X=30-sqrt(R*R-Y*Y)  X=30+sqrt(R*R-Y*Y) 
可以算出圆上每一点行和列的对应关系。 
(2)打印y=x*x的曲线可利用左右对称性。为了和上述圆一致,让曲线的对称轴为X=30
曲线改写为y=(x-30)*(x-30)   x=30-sqrt(y)  x=30+sqrt(y) 
(3)叠加图形只出现在上半部分,下半部分就是图的下半部分。
*/
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
double y;
int x,m,n;
for(y=10;y>=-10;y=y-1)
{
	m=2.5*sqrt(100-y*y); /*计算圆形行y对应的列坐标m,2.5是屏幕纵横比调节系数因为屏幕的
	行距大于列距,不进行调节显示出来的将是椭圆*/
	n=2.5*sqrt(y);//计算曲线y=x*x的列坐标n,同样扩大2.5倍
	//对于y先算出m值,对应此y画出来的点的横坐标位置为30-m,纵坐标为y,即30-m之
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值