线段长度无限短后就成为点,所以,现在让我们用画直线的方法来画正弦曲线吧

 #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系列之 - 用画直线的方法来画正弦曲线的更多相关文章

  1. 几种画直线的方法-孙鑫C++笔记

    // HDC画直线 CPoint m_ptOrigin ; void CDrawView::OnLButtonDown(UINT nFlags, CPoint point) { m_ptOrigin ...

  2. Path画直线与弧线

    代码地址如下:http://www.demodashi.com/demo/14754.html 前言 之前讲过Paint和Canvas的基本使用,今天来介绍下Path的使用 涉及内容有: Path画直 ...

  3. javascript画直线和画圆的方法(非HTML5的方法)

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  4. SDL系列之 - 用SDL动态地画一个圆喽 && 设置背景色

    #include <SDL.h> #include <stdlib.h> #include <string.h> #include <math.h> # ...

  5. 《C# GDI+ 破境之道》:第一境 GDI+基础 —— 第一节:画直线

    今天正式开一本新书,<C# GDI+ 破镜之道>,同样是破镜之道系列丛书的一分子. 关于GDI+呢,官方的解释是这样的: GDI+ 是 Microsoft Windows 操作系统的窗体子 ...

  6. 纯JS画点、画线、画圆的方法

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  7. android布局中画线的方法

    1.自定义View画线 http://fariytale.iteye.com/blog/1264225 下面介绍几种简单的方法 2.textView和View画直线 <TextView andr ...

  8. Bresenham’s algorithm( 布兰森汉姆算法)画直线

    Bresenham直线算法是用来描绘由两点所决定的直线的算法,它会算出一条线段在 n 维光栅上最接近的点.这个算法只会用到较为快速的整数加法.减法和位元移位,常用于绘制电脑画面中的直线.是计算机图形学 ...

  9. 《图形学》实验五:改进的Bresenham算法画直线

    开发环境: VC++6.0,OpenGL 实验内容: 使用改进的Bresenham算法画直线. 实验结果: 代码: //中点Bresenham算法生成直线 #include <gl/glut.h ...

随机推荐

  1. display的inline-block替代float的一些场景

    一.横向菜单 inline-block是不换行的块级元素,对于使用ul-li结构的网页顶部横向导航菜单非常有用. 如果不使用inline-block属性,只能使用float来浮动每个li元素,写起来比 ...

  2. 如何在vue框架中兼容IE

    IE目前已经放弃了自己的独特化,正一步步迎入互联网的主流怀抱.但迫于有用户存在,还是要兼容到IE8,9, 以上. 下面聊一下如何在vue框架中兼容IE 1.首先在index.html <meta ...

  3. 移动端(视口(meta),像素比,二倍图(图片,背景图,精灵图),css初始化(normalize.css),特殊样式,常见屏幕尺寸)

    1. 视口:(布局视口(layout viewport),视觉视口(visual viewport),理想视口(ideal viewport)) meta 视口标签 <meta  name = ...

  4. swagger2.0与spring结合

    官方文档: http://www.baeldung.com/swagger-2-documentation-for-spring-rest-api   swagger是一个前后端api统一文档和测试框 ...

  5. 【记录】Http 状态码整理

    Http状态码: 1XX:信息,服务器收到请求,需要请求者继续执行操作 2XX:成功,操作被成功接收并处理 3XX:重定向,需要进一步的操作以完成请求 4XX:客户端错误,请求包含语法错误或无法完成请 ...

  6. 2018-5-28-WPF-popup置顶

    title author date CreateTime categories WPF popup置顶 lindexi 2018-05-28 09:58:53 +0800 2018-2-13 17:2 ...

  7. teb教程1

    http://wiki.ros.org/teb_local_planner/Tutorials/Setup%20and%20test%20Optimization 简介:本部分关于teb怎样优化轨迹以 ...

  8. 例行性工作排程 (crontab)

    说白了,就是一些例行工作的日常执行的排序程序 Linux  工作排程的种类:  at,cron 鸟叔说,atd并不是在所有版本都是开启的,但是centos7默认是开启的 [root@localhost ...

  9. codeforces round 433 C. Planning 贪心

    题目大意: 输入n,k,代表n列航班,初始始发实践为1,2,3分钟以此类推,然后输入n个整数分别代表延迟1分钟第i个航班损失多少钱,然后调整后的始发时间表是这样的,任何一辆航班的始发时间不能在他的初始 ...

  10. JMeter Http请求之content-type用法

    转载自https://www.cnblogs.com/imyalost/p/6726795.html 本文讲三种content-type以及在Jmeter中对应的参数输入方式 第一部分:目前工作中涉及 ...