Vẽ đường Thẳng(Thuật toán BRESENHE)


Diễn đàn chia sẻ kiến thức, kinh nghiệm về IT và cuộc sống!
 
Trang ChínhGalleryTrợ giúpTìm kiếmThành viênNhómĐăng kýĐăng Nhập
Top posters
Sakura (1124)
 
hotboy (705)
 
Già Làng (373)
 
con_ca_nho90 (289)
 
that_true (154)
 
theanhkkt (143)
 
phamay (137)
 
lovelonelyman (134)
 
o0ovioletstaro0o (128)
 
stevenhung (122)
 
Âm - Dương lịch
Clock
Logo
11TH02 Pro!
Liên kết
Tin tức 60s
Tin công nghệ
Thời sự 24h
Game Moblie

Share | 
 

 Vẽ đường Thẳng(Thuật toán BRESENHE)

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down 
Tác giảThông điệp
Già Làng


avatar

Thú CƯng :
Nam Libra

Số bài viết : 373
Điểm : 2200708
Được cảm ơn : 53
Ngày sinh : 20/10/1987
Tham gia ngày : 16/03/2010
Tuổi : 31
Đến từ : Bình Dương
Ngề nghiệp : Sinh Viên
Chăm ngôn : Cơm Cha - Áo Mẹ!

Bài gửiTiêu đề: Vẽ đường Thẳng(Thuật toán BRESENHE)   10/10/2010, 23:48

Tiếp một thuật toán để vẽ đường thẳng đây!
Code:
#include<iostream.h>
#include<conio.h>
#include<stdio.h>
#include<graphics.h>

void bresenhem(float x1,float y1,float x2,float y2)
   {
      float x=x1;
      float y=y1;
      float m=(y2-y1)/(x2-x1);
      float dy=y2-y1;
      float dx=x2-x1;
      float b=y1-m*x1;
      if (m<=1)
         {
            float P=2*dy-dx;
            putpixel(x,y,15);
            while (x<=x2)
               {
                  if (P<=0)
                     {
                        putpixel(x+1,y,15);
                        P+=2*dy;
                     }
                  else
                     {
                        putpixel(x+1,y+1,15);
                        y++;
                        P+=2*(dy-dx);
                     }
                  x++;
               }
         }
      else
         {
            float P=2/m-1;
            putpixel(x,y,15);
            while (y<=y2)
               {
                  if (P<=0)
                     {
                        putpixel(x,y+1,15);
                        P+=2/m;
                     }
                  else
                     {
                        putpixel(x+1,y+1,15);
                        P+=2*(1/m-1);
                        x++;
                     }
                  y++;
               }
            }
   }

void main()
   {
      clrscr();
      int mh=9;
      int mode=2;
      initgraph(&mh,&mode,"E:\\BORLANDC\\BGI");
      setcolor(15);
      float x1,x2,y1,y2;
      cout<<"Nhap vao toa do diem dau tien:"; cin>>x1>>y1;
      cout<<"Nhap vao toa do diem cuoi cung:"; cin>>x2>>y2;
      bresenhem(x1,y1,x2,y2);
      putpixel (x2,y2,4);
      getch();
   }

_________________________________________________
Khách viếng thăm đọc rồi thì thanks đi chứ!!
Về Đầu Trang Go down
Xem lý lịch thành viên http://itworld.4rumer.com
 

Vẽ đường Thẳng(Thuật toán BRESENHE)

Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang 
Trang 1 trong tổng số 1 trang

Permissions in this forum:Bạn không có quyền trả lời bài viết
IT World! :: HỌC TẬP :: HỌC KỲ V :: Đồ Họa Máy Tính-