SDL系列之 - 用画直线的方法来画正弦曲线
线段长度无限短后就成为点,所以,现在让我们用画直线的方法来画正弦曲线吧
#include <SDL.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include "SDL_draw.h" //包含SDL_draw库的头文件
int main()
{
int i;
double t;
double x,y;
double x0=, y0=;
Uint32 screen_color;
SDL_Surface *screen; //一个屏幕指针
if(SDL_Init(SDL_INIT_VIDEO) < ){ //初始化视频子系统失败
fprintf(stderr,"无法初始化:%s\n",SDL_GetError()); //不能用printf(),因为没有包含stdio.h头文件
exit();
}
//设置视频模式
screen=SDL_SetVideoMode(,,,SDL_SWSURFACE);
if(screen==NULL){
fprintf(stderr,"无法设置视频模式:%s\n",SDL_GetError());
exit();
}
atexit(SDL_Quit); //退出 //画直线,从点(240,180)到点(400,300),颜色为白色
Draw_Line(screen,,,,,SDL_MapRGB(screen->format, ,,));
//画直线,从点(400,180)到点(240,300),颜色为蓝色
Draw_Line(screen,,,,,SDL_MapRGB(screen->format, ,,));
for(i=;i<;i+=){
x=-*sin(3.14*i/);
i+=;
y=-*sin(3.14*i/);
Draw_Line(screen,i-,x,i,y,SDL_MapRGB(screen->format, ,,));
SDL_Delay(); //停留5毫秒
SDL_UpdateRect(screen,,,,); //更新整个屏幕
}
SDL_UpdateRect(screen,,,,); //更新整个屏幕
SDL_Delay(); //停留5秒
return ;
}
SDL系列之 - 用画直线的方法来画正弦曲线的更多相关文章
- 几种画直线的方法-孙鑫C++笔记
// HDC画直线 CPoint m_ptOrigin ; void CDrawView::OnLButtonDown(UINT nFlags, CPoint point) { m_ptOrigin ...
- Path画直线与弧线
代码地址如下:http://www.demodashi.com/demo/14754.html 前言 之前讲过Paint和Canvas的基本使用,今天来介绍下Path的使用 涉及内容有: Path画直 ...
- javascript画直线和画圆的方法(非HTML5的方法)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- SDL系列之 - 用SDL动态地画一个圆喽 && 设置背景色
#include <SDL.h> #include <stdlib.h> #include <string.h> #include <math.h> # ...
- 《C# GDI+ 破境之道》:第一境 GDI+基础 —— 第一节:画直线
今天正式开一本新书,<C# GDI+ 破镜之道>,同样是破镜之道系列丛书的一分子. 关于GDI+呢,官方的解释是这样的: GDI+ 是 Microsoft Windows 操作系统的窗体子 ...
- 纯JS画点、画线、画圆的方法
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- android布局中画线的方法
1.自定义View画线 http://fariytale.iteye.com/blog/1264225 下面介绍几种简单的方法 2.textView和View画直线 <TextView andr ...
- Bresenham’s algorithm( 布兰森汉姆算法)画直线
Bresenham直线算法是用来描绘由两点所决定的直线的算法,它会算出一条线段在 n 维光栅上最接近的点.这个算法只会用到较为快速的整数加法.减法和位元移位,常用于绘制电脑画面中的直线.是计算机图形学 ...
- 《图形学》实验五:改进的Bresenham算法画直线
开发环境: VC++6.0,OpenGL 实验内容: 使用改进的Bresenham算法画直线. 实验结果: 代码: //中点Bresenham算法生成直线 #include <gl/glut.h ...
随机推荐
- 04、python的基础-->列表跟元组
一.列表list 1.列表的新增元素(三种方法) >>>第1种方法(append 增加到最后): li = ['Peter','Henrry','Wode','鸭子','xiaoxi ...
- Jmeter命令行 传递参数
二.参数 -J 和 -G 1.格式:-J变量名=值 -G变量名=值 2.相同之处:设置jmeter属性,例如线程数.循环次数.ramp up-time等 3.不同之处:-J是设置本地jmeter属性 ...
- java虚拟机规范(se8)——java虚拟机结构(六)
2.11 指令集简介 java虚拟机指令由一个字节的操作码,接着时0个或多个操作数组成,操作码描述了执行的操作,操作数提供了操作所需的参数或者数据.许多指令没有操作数只包含一个操作码. 如果忽略异常处 ...
- Win7下设置一键关闭所有程序的功能
(文章仅作个人整理和笔记) 在很多情况下,上班族发生这种情况的比较多吧,忙碌的一天下来,准备下班走人的时候,发现自己的电脑打开了好多程序,需要一个一个去关闭,那么有没有什么方法可以实现一键快速关闭所有 ...
- Spring学习笔记(1)——初识Spring
一.Spring是什么 通常说的Spring其实指的是Spring Framework,它是Spring下的一个子项目,Spring围绕Spring Framework这个核心项目开发了大 ...
- ionic3 多级联动城市选择插件 ion-multi-picker
1.效果演示 2.npm安装扩展包依赖 ion-multi-picker 组件 npm install ion-multi-picker --save 3.在app.module.ts中导入插件模块 ...
- NDK笔记(二)-在Android Studio中使用ndk-build(转)
前面一篇我们接触了CMake,这一篇写写关于ndk-build的使用过程.刚刚用到,想到哪儿写哪儿. 环境背景 Android开发IDE版本:AndroidStudio 2.2以上版本(目前已经升级到 ...
- eclipse配置spring4.0环境详细教程
最近几天学习spring框架,在环境搭建过程中遇到了不少问题,网上找了不少资料都不是特别好,所以自己重新记录一下. 准备: 1.Eclipse下载,进官网,这里直接给链接了https://www.ec ...
- 微信小程序 滚动到底部
1.html <view id="bottom"></view> 2. onReady: function () { //滚动到底部 let query = ...
- react todelist
1.点击按钮提交,新增对象 buttonChange() { this.setState({ //展开运算符...this.state.list,生成一个全新的数组 // list:[...this. ...