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> ...
随机推荐
- extjs layout 最灵活的页面布局样式
当你在页面布局的时候,遇到页面元素较多,不知如何完美布局... 可以试试下面这个类型,万能布局类型. var panel = new Ext.Panel({ renderTo:Ext.getBody( ...
- English-手机销售英文场景
http://www.engpx.com/news/18216.html https://wenku.baidu.com/view/d67a103203768e9951e79b89680203d8ce ...
- ArcCatalog连接数据库报错
ArcCatalog连接数据库报错: Failed to connect to database. Cannot connect to database because the database cl ...
- 【nodejs代理服务器四】代理服务器增加频繁访问的ip加入黑名单
问题 渗透者在扫站的时候会频繁请求,我们可以做一些策略来封堵这些频繁访问的ip,把ip加入黑名单. 策略 2秒之内访问次数超过100,加入黑名单. 实现思路 初次访问把访问Ip作为键,访问ip,时间, ...
- Ubuntu:一个部署好的tomcat应用(war包)怎么用Nginx实现动静分离?
今天想把之前的一个demo用Nginx把资源分离开来,在网上看了一天,整整弄了一天,硬是没弄出来. 要么全是同样的内容的,要么就是环境跟我这里不一样的.再加上对Nginx没接触过,给我都整哭了差点. ...
- 转载: Redis面试常问的问题
https://www.cnblogs.com/javazhiyin/p/9842571.html 近,阿音在为接下来的一场面试做准备,其中的内容包括redis,而且redis是重点内容. Redis ...
- <<构建之法>>--第二次作业
GIT地址 https://github.com/Panghu98/AchaoCalculator.git GIT用户名 Panghu98 学号后五位 62632 博客地址 https://www.c ...
- ElasticSearch 连载二 中文分词
ElasticSearch 连载二 中文分词 上一章ElasticSearch 连载一 基础入门 对Elastic的概念.安装以及基础操作进行了介绍. 那是不是有童鞋会有以下几个问题呢? 什么是中文分 ...
- Tomcat 安装配置
操作系统:win10 家庭版 1. 官网下载 https://tomcat.apache.org/download-80.cgi 我下载的免安装装. 2.文件解压到目录 D:\Program File ...
- 《hello--world团队》第四次作业:项目需求调研与分析
项目 内容 这个作业属于哪个课程 2016级计算机科学与工程学院软件工程(西北师范大学) 这个作业的要求在哪里 实验八 团队作业4:基于原型的团队项目需求调研与分析 团队名称 <hello--w ...