c++ 珊格画椭圆
#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++ 珊格画椭圆的更多相关文章
- 《图形学》实验七:中点Bresenham算法画椭圆
开发环境: VC++6.0,OpenGL 实验内容: 使用中点Bresenham算法画椭圆. 实验结果: 代码: #include <gl/glut.h> #define WIDTH 50 ...
- Canvas画椭圆的方法
虽然标题是画椭圆,但是我们先来说说Canvas中的圆 相信大家对于Canvas画圆都不陌生 oGC.arc(400, 300, 100, 0, 2*Math.PI, false); 如上所示,直接 ...
- 使用uibesizerpath + Cashaplayer画椭圆
使用uibesizerpath Cashaplayer画椭圆: + (void)drawOvalAnimSourceView:(UIView *)sourceView { //view是曲线的背景vi ...
- 利用border-radius画椭圆
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- canvas 画椭圆
圆的标准方程(x-x0)²+(y-y0)²=r²中,有三个参数x0.y0.r,即圆心坐标为(x0, y0), 半径为 r圆的参数方程 x = x0 + r * cosθ, y = y0 + r * s ...
- C# DataGridView单元格画斜线
功能要求:不符合条件的单元格使用斜线形式表现出来. 1.定义两个变量,一个是存储单元格位置的数组,一个是Graphics 变量 Graphics gdi; List<DataGridViewCe ...
- 1.1.4-学习Opencv与MFC混合编程之---画图工具 画椭圆
源代码地址:http://download.csdn.net/detail/nuptboyzhb/3961690 1. 增加‘椭圆’菜单项,设置属性,添加类向导: 2. 编辑消息处理函数, ...
- Bresenham画椭圆算法
这里不仔细讲原理,只是把我写的算法发出来,跟大家分享下,如果有错误的话,还请大家告诉我,如果写的不好,也请指出来,一起讨论进步. 算法步骤: (1) 输入椭圆的长半轴a和短半轴b. (2) 计算初始值 ...
- c++ 珊格迷宫问题
#demo1 #include<iostream> #include<ctime> #include<cstdlib> #include<queue> ...
随机推荐
- Golang高阶:Golang1.5到Golang1.12包管理
Golang1.5到Golang1.12包管理 1. 前言 Golang 是一门到如今有十年的静态高级语言了,2009年的时候算是正式推出了,然后到最近的一两年,2017-2018年的时候,突然直线上 ...
- copy 合并
copy /b xxx.jpg + yyy.txt zzz.jpg /b 二进制 /a 文本
- springboot_3
1. 返回数据与返回页面 在写web项目的时候,controller里的返回值一般分为两种,一种是返回页面,也就是ModeAndView,另一种是直接返回数据,比如json格式的数据. 返回一个页面, ...
- python day3 int,str,list类型补充
目录 python day 3 1. int类小知识点 2. str类小知识点 3. list类小知识点 python day 3 (学习资料来自老男孩教育) 2019/10/06 1. int类小知 ...
- nginx 作为静态资源web服务
Nginx作为静态资源web服务 静态资源web服务-CDN场景 Nginx资源存储中心会把静态资源分发给“北京Nginx”,“湖南Nginx”,“山东Nginx”. 然后北京User发送静态资源请求 ...
- cdh-hbase用户无法执行命令
- 【问题】man手册如何查看区分printf命令和printf函数
参考:UNIX / Linux Man Command Example to View Man Pages 今天再看别人博客的时候,先仔细看看printf命令是怎么玩的,于是man手册查了下.结果搜出 ...
- Windows Server 2008 用户管理
默认用户和组 默认用户 默认只有来宾用户(Guest)和管理员(Administrator) 默认组 创建账户 图形界面创建用户 创建用户选项解析 对于公司新员工,分配给他的电脑,应该让其有一定的自主 ...
- 剖析gcc -v输出
分析gcc -v的详细信息的意义 首先我们需要清楚一点,我们并不能完全弄清楚gcc -v的所有信息,因为毕竟我们并不是GCC编译器集合的实现者,对于这些信息,他们才是最清楚的.由于我们不能将所有的信息 ...
- sql基本操作之增删改查
1. 显示数据库 show databases; show databases; 2. 显示当前数据库 select current_database(); 3. 创建/删除数据库 create da ...