#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. openssl 证书cert与key合并pfx

    openssl pkcs12 -export -out server.pfx -inkey server.key -in server.crt

  2. 4_PHP流程控制语句_2_循环结构

    以下为学习孔祥盛主编的<PHP编程基础与实例教程>(第二版)所做的笔记. PHP流程控制共有3种类型:条件控制结构.循环结构以及程序跳转和终止语句. 4.2 循环结构 4.2.1 whil ...

  3. 无法写入配置文件...需要在IIS中手动创建此虚拟目录,才可以打开此项目

    无妄之灾   之前闲着没事写了一个webapi项目,今天下了班闲来无事就像拿出来改改,没想到打开的时候就提示出现错误. 没错就是这货,其实也不是第一次遇见这个问题了,但是之前一直没有找到解决方案,在网 ...

  4. Python标准库3.4.3-urllib.request-21.6

    21.6. urllib.request — Extensible library for opening URLs 翻译:Z.F. The urllib.request module defines ...

  5. Python基础——细琐知识点

    注释 Python注释有两种方式 使用# 类似于Shell脚本的注释方式,单行注释 使用'''或者""" 使用成对的'''或者""".这种注 ...

  6. 如何在CentOS上搭建gitlab服务器

    步骤 1. 打开HTTP和SSH访问 1.1 安装 sudo yum install -y curl policycoreutils-python openssh-server 1.2 开启SSH 这 ...

  7. Spring Boot配置多数据源并实现Druid自动切换

    原文:https://blog.csdn.net/acquaintanceship/article/details/75350653 Spring Boot配置多数据源配置yml文件主数据源配置从数据 ...

  8. 运输层4——TCP可靠运输的工作原理

    目录 1. 停止等待协议 写在前面:本文章是针对<计算机网络第七版>的学习笔记 运输层1--运输层协议概述 运输层2--用户数据报协议UDP 运输层3--传输控制协议TCP概述 运输层4- ...

  9. 4.kafka生产者---向Kafka中写入数据(转)

    转:  https://www.cnblogs.com/sodawoods-blogs/p/8969513.html (1)生产者概览 (1)不同的应用场景对消息有不同的需求,即是否允许消息丢失.重复 ...

  10. Java中String、StringBuffer、StringBuilder、StringTokenizer的区别

    Java语言中,有4个类可以对字符或字符串进行操作,它们是Character.String.StringBuffer.StringTokenizer,其中Character用于单个字符操作,Strin ...