#ifndef _TEST_H
#define _TEST_H
#include <iostream>
#include <math.h>
using namespace std; int main()
{
const double pi=3.14159,p=16.0; //圆周率和圆的半径
double angle; //角度
int x,y; //计算存储数组的坐标
char rose[][]; //模拟屏幕为25*80个像素构成
for (x=;x<;x++) //置空
{
for (y=;y<;y++)
{
rose[y][x]=' ';
}
}
for (int i=;i<;i++) //把图形经过的轨迹位置置为*
{
//注意x坐标值实际是列数,y坐标值实际才是行数
angle=i*pi/;
x=int(p*cos(angle))*+; //乘以2和除以二只是为了调整显示效果
y=int(p*sin(angle))/+; //因为控制台显示字符的时候宽和高不等比例
rose[y][x]='*'; //以40和13为圆心是模拟屏幕像素决定,当然可以另外设置
}
for (y=;y<;y++)
{
for (x=;x<;x++)
{
cout<<rose[y][x];
}
cout << endl;
}
/*const double pi=3.14159,a=16.0;
const int aspect = 2;
double angle,p=16;
int x,y;
char rose[25][80];
for (x=0;x<80;x++)
{
for (y=0;y<25;y++)
{
rose[y][x]=' ';
}
}
for (int i=0;i<128;i++)
{
angle=i*pi/64;
p=a*sin(2*angle);
x=int(p*cos(angle))*aspect+40;
//x=int(p*cos(angle))+40;
y=int(p*sin(angle))+13;
rose[y][x]='*';
} for (y=0;y<25;y++)
{
for (x=0;x<80;x++)
{
cout<<rose[y][x];
}
cout << endl;
}*/
return ;
}
#endif //_TEST_H

输出


                                *       *       *
* * * * * * * * * * * * * *
* * * Program ended with exit code:

c++ 珊格画椭圆的更多相关文章

  1. 《图形学》实验七:中点Bresenham算法画椭圆

    开发环境: VC++6.0,OpenGL 实验内容: 使用中点Bresenham算法画椭圆. 实验结果: 代码: #include <gl/glut.h> #define WIDTH 50 ...

  2. Canvas画椭圆的方法

    虽然标题是画椭圆,但是我们先来说说Canvas中的圆 相信大家对于Canvas画圆都不陌生   oGC.arc(400, 300, 100, 0, 2*Math.PI, false); 如上所示,直接 ...

  3. 使用uibesizerpath + Cashaplayer画椭圆

    使用uibesizerpath Cashaplayer画椭圆: + (void)drawOvalAnimSourceView:(UIView *)sourceView { //view是曲线的背景vi ...

  4. 利用border-radius画椭圆

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  5. canvas 画椭圆

    圆的标准方程(x-x0)²+(y-y0)²=r²中,有三个参数x0.y0.r,即圆心坐标为(x0, y0), 半径为 r圆的参数方程 x = x0 + r * cosθ, y = y0 + r * s ...

  6. C# DataGridView单元格画斜线

    功能要求:不符合条件的单元格使用斜线形式表现出来. 1.定义两个变量,一个是存储单元格位置的数组,一个是Graphics 变量 Graphics gdi; List<DataGridViewCe ...

  7. 1.1.4-学习Opencv与MFC混合编程之---画图工具 画椭圆

    源代码地址:http://download.csdn.net/detail/nuptboyzhb/3961690 1.    增加‘椭圆’菜单项,设置属性,添加类向导: 2.    编辑消息处理函数, ...

  8. Bresenham画椭圆算法

    这里不仔细讲原理,只是把我写的算法发出来,跟大家分享下,如果有错误的话,还请大家告诉我,如果写的不好,也请指出来,一起讨论进步. 算法步骤: (1) 输入椭圆的长半轴a和短半轴b. (2) 计算初始值 ...

  9. c++ 珊格迷宫问题

    #demo1 #include<iostream> #include<ctime> #include<cstdlib> #include<queue> ...

随机推荐

  1. shell 学习笔记8-case条件语句

    一.case语句简介 1.什么是case条件语句 case条件语句就相当于多分支的if/elif/else条件语句,但是比这样的语句更规范更好看,经常被用在失效系统服务启动脚本等企业应用中 程序将ca ...

  2. linux 基础指令

    df -h 查看磁盘空间 root@ubuntu:/etc# df -h Filesystem Size Used Avail Use% Mounted on udev 970M 0 970M 0% ...

  3. POJ1475(Pushing Boxes)--bbffss

    题目在这里 题目一看完就忙着回忆童年了.推箱子的游戏. 假设只有一个箱子.游戏在一个R行C列的由单位格子组成的区域中进行,每一步, 你可以移动到相邻的四个格子中的一个,前提是那个格子是空的:或者,如果 ...

  4. 【转载】C#使用as关键字将对象转换为指定类型

    在C#的编程开发过程中,很多时候涉及到数据类型的转换,可使用强制转换的方式,不过强制转换数据类型有时候会抛出程序异常错误,可以使用as关键字来进行类型的转换,如果转换成功将返回转换后的对象,如果转换不 ...

  5. 【转载】IIS一个网站如何绑定多个主机域名

    在IIS Web服务器的网站配置的过程中,有时候需要一个网站配置对应多个域名记录,例如不带www的主域名以及带www的域名解析记录对应同一个网站文件,此时最简单的配置方法就是将一个网站绑定多个主机域名 ...

  6. jmeter安装,汉化

    下载完成后打开bin文件,选择jmeter.properties打开,搜索language,修改成zh_CN,汉化jmeter,记得去掉前面的#号,然后保存,修改完配置文件后需要重启jmeter 用的 ...

  7. Nginx跨域访问场景配置和防盗链

    跨域访问控制 跨域访问 为什么浏览器禁止跨域访问 不安全,容易出现CSRF攻击! 如果黑客控制的网站B在响应头里添加了让客户端去访问网站A的恶意信息,就会出现CSRF攻击 Nginx如何配置跨域访问 ...

  8. kvm虚拟机在线调整硬件配置

    #centos5.x版本不支持动态调整内存,CPU,以下是在centos6.x上测试 1.查看虚拟机信息 shell> virsh dumpxml cos_v1 | head -n 10 < ...

  9. sql的时间格式

    sql中的时间格式转换主要有:date_format函数,str_to_date函数 1. 首先选择一个数据库 use db_name; 2. 显示当前时区的时间: SELECT NOW(); 3. ...

  10. Java 反射原理

    一.Java 反射的定义 反射机制是在运行状态中, 对于任意一个类, 都能够知道这个类的所有属性和方法: 对于任意一个对象,都能够调用它的任意一个方法或者属性: 二.反射提供的功能: 在运行时判断任意 ...