青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

隨筆 - 87  文章 - 279  trackbacks - 0
<2007年4月>
25262728293031
1234567
891011121314
15161718192021
22232425262728
293012345

潛心看書研究!

常用鏈接

留言簿(19)

隨筆分類(81)

文章分類(89)

相冊

ACM OJ

My friends

搜索

  •  

積分與排名

  • 積分 - 220431
  • 排名 - 118

最新評論

閱讀排行榜

評論排行榜

昨晚去圖書館看了《計算機圖形學——OpenGL實現》關于Bresenham算法的另一種推導方式。
Bresenham最精妙之處在于通過方程變換,然后得到迭代方程,從而消除了浮點運算。

下面簡單寫寫自己對中點法推導的理解:

記:W = bx - ax, H = by - ay
         所以 (ax, ay)和(bx, by)的理想直線為:
         -W*(y-ay) + H*(x-ax) = 0

記:函數 f(x, y) = -2*W*(y-ay) + 2*H*(x-ax);
         f(x,y)有如下性質:
         f(x, y) < 0, 那么(x, y)在直線上方
         f(x, y) > 0, 那么(x, y)在直線下方

現考慮 點L(Px+1, Py), 點U(Px+1, Py+1), 則LU中點M(Px+1, Py+1/2) 有:
         如果f(Mx, My) < 0, 則M在理想直線上方, 所以選擇L
         如果f(Mx, My) > 0, 則M在理想直線下方, 所以選擇U
則:
         f(Mx,My) = -2*w*(Py+1/2-ay) + 2*H*(Px+1-ax)
當 x從Px+1移動到Px+2時, 考慮f變化M'和M'':
         M':在前一步沒有增加y, M' = (Px+2, Py+1/2)
         M'':在前一步增加了y, M' = (Px+2, Py+3/2)
對于 M':
         f(M'x, M'y) = -2*w*(Py+1/2-ay) + 2*H*(Px+2-ax) = f(Mx, My) + 2 * H
對于 M'':
         f(M''x, M''y) = -2*w*(Py+3/2-ay) + 2*H*(Px+2-ax) = f(Mx, My) - 2 * (W-H)
所以
         對于下一個“測試量”都有一個常數增量:前一次沒有增加y,增量為2*H,如果增加了y,則增量為-2*(W-H)

對于初始條件:x = ax, y = ay
         M = (ax+1, ay+1/2);
         f(Mx, My) = -2*W*(ay+1/2-ay) + 2*H(ax+1-ax) = 2*H-W

Code:
#include <stdlib.h>
#include 
<math.h>
#include 
<GL/glut.h>

void myInit() {
    glClearColor(
1.01.01.00.0);
    glColor3f(
0.00.00.0);
    
//glPointSize(2.0);
    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();
    gluOrtho2D(
0.0640.00.0480.0);
}


void setPixel(int x, int y) {
    glBegin(GL_POINTS);
    glVertex2i(x, y);
    glEnd();

}


void lineBres(int xs, int ys, int xe, int ye) {
    
int W = xe - xs, H = ye - ys, f = 2 * H - W, tH = 2 * H, tHW = 2 * (H - W);
    
int x, y;
    
if (xs > xe) {
        x 
= xe;
        y 
= ye;
        xe 
= xs;
    }
 else {
        x 
= xs;
        y 
= ys;            
    }

    
while (x <= xe) {
        setPixel(x, y);
        x
++;
        
if (f<0{
            f 
+= tH;
        }
 else {
            y
++;
            f 
+= tHW;
        }

    }

}


void myDisplay() {
    glClear(GL_COLOR_BUFFER_BIT);
    lineBres(
2010300180);
    glFlush();
}


int main(int argc, char **argv) {
    glutInit(
&argc, argv);
    glutInitDisplayMode(GLUT_SINGLE
|GLUT_RGB);
    glutInitWindowSize(
640480);
    glutInitWindowPosition (
100150);
    glutCreateWindow(
"Bresenham畫線");
    glutDisplayFunc(myDisplay);
    myInit();
    glutMainLoop();
    
return 0;
}

         
posted on 2007-10-11 11:57 閱讀(1166) 評論(0)  編輯 收藏 引用 所屬分類: 計算機圖形學

只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            一区二区精品国产| 国产精品久久久久av| 亚洲精品在线观看视频| 亚洲国产毛片完整版| 蜜乳av另类精品一区二区| 久久不射中文字幕| 久久久久国产精品午夜一区| 久久综合久色欧美综合狠狠 | 欧美国产日本| 欧美国产日韩一区| 国产精品美女一区二区在线观看| 国产欧美91| 在线精品视频免费观看| 亚洲精品自在在线观看| 亚洲永久在线| 久久综合狠狠综合久久综合88| 免费日韩精品中文字幕视频在线| 亚洲国产另类久久久精品极度| 99re热这里只有精品免费视频| 亚洲制服av| 欧美国产精品久久| 小黄鸭精品aⅴ导航网站入口| 日韩亚洲精品电影| 欧美在现视频| 欧美国产视频在线| 亚洲深夜影院| 欧美 亚欧 日韩视频在线| 欧美日韩免费| 亚洲国产高清一区二区三区| 亚洲欧美日韩精品久久亚洲区 | 久久在线免费观看视频| 欧美日韩视频在线观看一区二区三区| 国产精品一区二区久久国产| 亚洲第一综合天堂另类专| 午夜精品视频在线观看一区二区| 麻豆成人综合网| 亚洲男人第一av网站| 欧美另类videos死尸| 伊人久久噜噜噜躁狠狠躁| 午夜在线精品偷拍| 亚洲人线精品午夜| 久久久水蜜桃| 国产午夜亚洲精品不卡| 亚洲一区二区三区影院| 亚洲高清成人| 免费一区二区三区| 国产在线欧美| 欧美综合第一页| 一本色道久久综合亚洲精品不卡 | 国产视频观看一区| 亚洲一级高清| 亚洲啪啪91| 欧美成人一区二区三区| 亚洲高清精品中出| 免费观看30秒视频久久| 久久激情五月激情| 国产午夜精品美女视频明星a级| 亚洲综合精品四区| 9色国产精品| 国产精品大片wwwwww| 中文精品视频| 一本大道久久a久久精品综合| 欧美日一区二区三区在线观看国产免 | 黑人一区二区| 久久久久一本一区二区青青蜜月| 午夜精品一区二区三区四区| 国产欧美精品日韩| 久久超碰97中文字幕| 久久国产精彩视频| 一区二区在线观看视频在线观看| 美日韩在线观看| 国产日韩欧美不卡在线| 亚洲欧美日韩国产精品 | 国产精品久久久久久av福利软件 | 欧美va亚洲va日韩∨a综合色| 久久疯狂做爰流白浆xx| 亚洲电影欧美电影有声小说| 欧美第一黄网免费网站| 欧美成人性网| 亚洲综合社区| 午夜精品视频在线观看| 黄色成人av网站| 亚洲国产婷婷香蕉久久久久久| 欧美日本三区| 性刺激综合网| 久久久久一区二区三区| 99视频有精品| 欧美一区二区三区在线视频| 好吊一区二区三区| 亚洲乱码国产乱码精品精可以看| 欧美日韩一区二区在线观看| 欧美在线高清视频| 欧美aa国产视频| 午夜精品区一区二区三| 久久视频一区二区| 国产精品99久久99久久久二8| 欧美一区二区在线免费观看| 亚洲毛片一区| 久久精品欧美| 亚洲性人人天天夜夜摸| 久久久中精品2020中文| 中文精品视频一区二区在线观看| 久久成人在线| 在线视频精品一区| 久久久久久亚洲综合影院红桃| 中国日韩欧美久久久久久久久| 欧美中文字幕在线| 亚洲中午字幕| 欧美福利专区| 欧美77777| 国产亚洲精久久久久久| 99热免费精品在线观看| 亚洲国产精品成人精品| 性感少妇一区| 性刺激综合网| 国产精品高潮呻吟久久av黑人| 亚洲成色www8888| 国产曰批免费观看久久久| 中文久久精品| 亚洲视频在线观看| 欧美极品一区| 亚洲国产一二三| 亚洲国产精品成人| 久久综合九色99| 狂野欧美激情性xxxx| 国产精品永久免费视频| 亚洲一区欧美激情| 亚洲一二三区在线观看| 欧美精品在线播放| 亚洲美女av黄| 一本色道久久综合亚洲精品不卡 | 亚洲网站在线看| 欧美成人免费一级人片100| 亚洲一区二区三区免费在线观看| 另类天堂av| 久久夜色撩人精品| 国产精品夜色7777狼人| 亚洲一区免费网站| 亚洲欧美另类国产| 国产精品免费网站在线观看| 亚洲一级片在线观看| 亚洲欧美日本精品| 国产精品亚洲片夜色在线| 亚洲欧美日本国产专区一区| 性久久久久久| 国产亚洲精品久久飘花 | 亚洲欧美精品在线| 久久aⅴ国产欧美74aaa| 国产日韩欧美在线播放不卡| 欧美伊人久久久久久久久影院 | 欧美午夜不卡在线观看免费 | 久久福利资源站| 久久影视三级福利片| 激情欧美一区| 免费观看国产成人| 亚洲精品字幕| 亚洲欧美在线播放| 国内精品伊人久久久久av一坑| 久久国产主播| 亚洲国产日韩欧美| 亚洲欧美三级在线| 在线观看成人av| 欧美日韩国产综合视频在线观看 | 久久一本综合频道| 亚洲激情亚洲| 亚洲欧美日韩中文视频| 国产自产精品| 欧美日产国产成人免费图片| 亚洲欧美日韩专区| 欧美激情视频免费观看| 亚洲一区二区免费| 精品69视频一区二区三区| 欧美激情亚洲国产| 亚洲欧美日韩成人高清在线一区| 欧美黄免费看| 欧美一区二区三区的| 亚洲欧洲日韩在线| 国产精品午夜国产小视频| 美脚丝袜一区二区三区在线观看| 亚洲精品在线观| 巨乳诱惑日韩免费av| 亚洲已满18点击进入久久| 在线播放不卡| 国产精品日韩| 欧美日产国产成人免费图片| 亚洲精品男同| 欧美激情视频给我| 亚洲高清资源综合久久精品| 欧美亚洲三级| 亚洲精品免费一区二区三区| 国内久久精品视频| 国产精一区二区三区| 欧美日韩亚洲一区在线观看| 久久综合狠狠| 久久久精品视频成人| 亚洲欧美日韩精品久久| 亚洲精品乱码久久久久久按摩观| 蜜桃视频一区| 久久久精品动漫| 久久精品系列|