OpenGL應用——實現DDA演算法
計算機圖形學上機實驗終於能摸索畫出來了,可喜可賀可喜可賀
DDA演算法直接是參照教材上的,就是畫點的那部分自己改了下,當然這就已經夠累了,畢竟老師的意念教學預設你已經精通opengl,然後能立馬畫個鑽石圖案什麼的。。。
宣告:以下知識全部來源於網際網路,本人並不懂其中原理
#include <GL/gl.h>
#include <GL/glut.h>
#include <iostream>
#include <cmath>
using namespace std;
void init()
{
glClearColor (0.0, 0.0, 0.0, 0.0);
glMatrixMode (GL_PROJECTION);
gluOrtho2D (0.0, 200.0, 0.0, 150.0);
}
void DDALine()
{
glClear(GL_COLOR_BUFFER_BIT);
int x0,y0,x1,y1; //直線端點座標,下面四行可以隨便改
x0=0;
y0=0;
x1=58;
y1=56;
int dx,dy,epsl,k;
double x,y,xIncre,yIncre;
dx=x1-x0;
dy=y1-y0;
x=x0;
y=y0;
if(abs(dx)>abs(dy))
epsl=abs(dx);
else
epsl=abs(dy);
xIncre=(double)dx/(double)epsl;
yIncre=(double)dy/(double)epsl;
for(k=0; k<=epsl; ++k)
{
glPointSize(2);
glBegin(GL_POINTS);
glVertex2i(int(x+0.5),int(y+0.5));
glEnd();
glFlush();
x+=xIncre;
y+=yIncre;
}
}
int main(int argc, char *argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);
glutInitWindowPosition(100, 100);
glutInitWindowSize(500, 500);
glutCreateWindow("第一個opengl程式");
init();
glutDisplayFunc(DDALine);
glutMainLoop();
return 0;
}
相關文章
- 畫直線的演算法之DDA演算法+程式碼實現(法一)演算法
- OpenGL實現Hermite演算法繪製三次曲線MIT演算法
- OpenGL實現GPU體渲染GPU
- 教你實現GPUImage【OpenGL渲染原理】GPUUI
- 用OpenGL實現射線揀取物件程式設計(轉)物件程式設計
- OpenGL/OpenGL ES入門: 影象渲染實現以及渲染問題
- 深入理解DES演算法:原理、實現與應用演算法
- OpenGL實現貪吃蛇程式碼
- iOS中使用OpenGL 實現增高功能iOS
- 計算機圖形學----DDA、Bresenham直線演算法計算機演算法
- 用“雲”實現SaaS應用
- 使用 OpenGL ES 實現全景播放器播放器
- 使用 iOS OpenGL ES 實現長腿功能iOS
- OpenGL ES 框架詳細解析(三) —— 構建用於iOS的OpenGL ES應用程式的清單框架iOS
- 機器學習之PageRank演算法應用與C#實現(1):演算法介紹機器學習演算法C#
- 資料結構與演算法 | 棧的實現及應用資料結構演算法
- SOA應用實現薦
- OpenGL/OpenGL ES入門: 紋理應用 - 紋理座標及案例解析(金字塔)
- 資料結構與演算法--簡單棧實現及其應用資料結構演算法
- 並查集演算法Union-Find的思想、實現以及應用並查集演算法
- 機器學習之PageRank演算法應用與C#實現(2):球隊排名應用與C#程式碼機器學習演算法C#
- 棧的應用和實現
- GeneralUpdate實現應用程式更新
- EM(最大期望)演算法推導、GMM的應用與程式碼實現演算法
- 怎樣用Nacos實現Raft演算法Raft演算法
- 用 PHP 實現經典排序演算法PHP排序演算法
- JWT實現過程及應用JWT
- 系統梳理主流定時器演算法實現的差異以及應用定時器演算法
- [OpenGL]未來視覺-MagicCamera3實用開源庫視覺
- OpenGL ES3 0實現簡單粒子火焰效果S3
- 用Python實現約瑟夫環演算法Python演算法
- 用PHP實現開心消消樂演算法PHP演算法
- 採用α-β演算法實現井字棋遊戲演算法遊戲
- 用 python 實現各種排序演算法Python排序演算法
- 空間向量變換,以及OpenGL的glm庫簡單應用
- 應用設定Setting的實現
- Flask 中模組化應用的實現Flask
- VC實現動畫應用兩則 (轉)動畫