图形编程(数值微分DDA)
#include <iostream>
#include <time.h>
#include <stdio.h>
#include <stdlib.h>
using namespace std;
int searchXY(int y,int x,int H,int W)
{
return W*y+x;
}
int Min(int a,int b)
{
return a < b? a :b;
}
int Max(int a,int b)
{
return a> b? a:b;
}
void main()
{
double x1=-0.75,y1=-0.5;
double x2=0.6, y2=0.4;
,W=;
double *pix=new double[H*W];
;
;
;
;
;
int xMin=Min(X1,X2);
int xMax=Max(X1,X2);
k=(Y2-Y1)/(X2-X1);
for (int x=xMin;x<xMax;x++)
{
double b=Y1-k*X1;
int y=k*x+b;
pix[searchXY(y+H/,x+W/,H,W)]=;
}
int yMin=Min(Y1,Y2);
int yMax=Max(Y1,Y2);
k=(X2-X1)/(Y2-Y1);
for (int y=yMin;y<yMax;y++)
{
double b=X1-k*Y1;
int x=k*y+b;
pix[searchXY(y+H/,x+W/,H,W)]=;
}
FILE *f=fopen("img.ppm","w");
fprintf(f,);
;i<W*H;i++)
fprintf(f,"%d %d %d\n",int(pix[i]),int(pix[i]),int(pix[i]));
fclose(f);
delete[] pix;
}

图形编程(数值微分DDA)的更多相关文章
- 现代3D图形编程学习-基础简介(3)-什么是opengl (译)
本书系列 现代3D图形编程学习 OpenGL是什么 在我们编写openGL程序之前,我们首先需要知道什么是OpenGL. 将OpenGL作为一个API OpenGL 通常被认为是应用程序接口(API) ...
- 现代3D图形编程学习-基础简介(2) (译)
本书系列 现代3D图形编程学习 基础简介(2) 图形和渲染 接下去的内容对渲染的过程进行粗略介绍.遇到的部分内容不是很明白也没有关系,在接下去的章节中,会被具体阐述. 你在电脑屏幕上看到的任何东西,包 ...
- 现代3D图形编程学习-基础简介(1) (译)
本书系列 现代3D图形编程学习 基础简介 并不像本书的其他章节,这章内容没有相关的源代码或是项目.本章,我们将讨论向量,图形渲染理论,以及OpenGL. 向量 在阅读这本书的时候,你需要熟悉代数和几何 ...
- 现代3D图形编程学习-环境设置
本书系列 现代3D图形编程学习 环境设置 由于本书中的例子,均是基于OpenGL实现的,因此你的工作环境需要能够运行OpenGL,为了读者能够更好的运行原文中的示例,此处简单地介绍了linux和win ...
- 现代3D图形编程学习-关于本书(译)
本书系列 现代3D图形编程学习 关于这本书 三维图像处理硬件很快成为了必不可少的组件.很多操作系统能够直接使用三维图像硬件,有些甚至要求需要有3D渲染能力的硬件.同时对于日益增加的手机系统,3D图像硬 ...
- [ios]iOS 图形编程总结
转自:http://www.cocoachina.com/ios/20141104/10124.html iOS实现图形编程可以使用三种API(UIKIT.Core Graphics.OpenGL E ...
- Wince 中的图形编程
图形编程程序当中,笔者主要要和大家讨论的是画刷的创建和使用以及绘图函数,比如2D图像的绘制等等. *画刷的定义: HBRUSH hBrush; *画刷的类型: 1. 系统内置画刷:GetStockOb ...
- iOS 图形编程总结
iOS实现图形编程可以使用三种API(UIKIT.Core Graphics.OpenGL ES及GLKit). 这些api包含的绘制操作都在一个图形环境中进行绘制.一个图形环境包含绘制参数和所有的绘 ...
- 现代3D图形编程学习-设置三角形颜色(译)
本书系列 现代3D图形变成学习 http://www.cnblogs.com/grass-and-moon/category/920962.html 设置颜色 这一章会对上一章中绘制的三角形进行颜色的 ...
- 现代3D图形编程学习--opengl使用不同的缓存对象(译者添加)
现代3D图形编程学习系列翻译地址 http://www.cnblogs.com/grass-and-moon/category/920962.html opengl使用不同的缓存对象 在设置颜色一章中 ...
随机推荐
- php接收数据
http://lpladdyy.blog.163.com/blog/static/133999664201010264264585/ PHP默认只识别application/x-www.form-ur ...
- POJ 1469
#include<iostream> #include<stdio.h> #include <string.h> #include <vector> # ...
- ***RESTful API 设计指南(阮一峰)
网络应用程序,分为前端和后端两个部分.当前的发展趋势,就是前端设备层出不穷(手机.平板.桌面电脑.其他专用设备......). 因此,必须有一种统一的机制,方便不同的前端设备与后端进行通信.这导致AP ...
- HTTP常用的状态码
一.200状态码: 成功2××:成功处理了请求的状态码. 1.200 :服务器已成功处理了请求并提供了请求的网页. 2.204:服务器成功处理了请求,但没有返回任何内容. 二.300状态码: 重定向3 ...
- lintcode:Ugly Number I
Ugly Number Write a program to check whether a given number is an ugly number`. Ugly numbers are pos ...
- 306. Additive Number
题目: Additive number is a string whose digits can form additive sequence. A valid additive sequence s ...
- 30 个 PHP 的 Excel 处理类
下面的 PHP Excel 处理类中,包含 Excel 读写.导入导出等相关的类,列表如下: PHP Excel Reader classes 1. Read Excel Spreadsheets u ...
- javascript中 的 + RegExp['\x241'] 怎么理解
\x24是十六进制转义符,16*2+4=36,ASCII码36代表的正是“$”符号(可以查ASCII码表),十六进制转义符的一般形式是'\xhh',h是0-9或A-F内的一个.$1是javascrip ...
- Vim 新用法
daw , delete a word cw , delete from cursor to the end then insert mode a word 移动: f ; Aa Oo Cc Ii S ...
- 《c程序设计语言》读书笔记--大写转小写
#include <stdio.h> #include <stdlib.h> #include <string.h> int aoti(char c) { if(c ...