Главная страница


ru.algorithms

 
 - RU.ALGORITHMS ----------------------------------------------------------------
 From : Stanislav Shwartsman                 2:400/520      04 Mar 2003  09:38:47
 To : Maxim Petrankov
 Subject : <без заголовка>
 -------------------------------------------------------------------------------- 
 
 
 04 Mar 03 07:08, you wrote to All:
 
  MP> Есть точки с кооpдинатами x1,y1 и x2,y2. Hадо постpоить между ними
  MP> линию имея возможность pисовать только точку.
 
  Алгоритм Брезенхема.
 
 === Cut ===
 
 void line(DINFO *h, int x1, int y1, int x2, int y2, CTYPE color)
 {
     short dy, mx, my, c, sc;
 
     if(x1 > x2){
         x1 ^= x2 ^= x1 ^= x2;
         y1 ^= y2 ^= y1 ^= y2;
     }
 
     mx = x2 - x1;           /* compute both distances */
     my = y2 - y1;
 
     if(!my) {
         h->Hline(h,x1,y1,mx,color);
         return;
     }
 
     if(!mx) {
         (my > 0) ? h->Vline(h,x1,y1,my,color):
                h->Vline(h,x1,y2,-my,color);
         return;
     }
 
     if(my < 0) {
         dy = -1;
         my = -my;
     }
     else dy = 1;
 
     if (mx>my) {
         sc=1+mx;
         mx-=my;
         c=(my-mx) >> 1;
         while( sc ) {
             h->SetPixel(h,x1,y1,color);
             if(c>=0) {
                 y1+=dy;
                 c-=mx;
             }
             else c+=my;
             x1++;
             sc--;
         }
 
     }
     else {
         sc=1+my;
         my-=mx;
         c=(my-mx) >> 1;
         while( sc ) {
             h->SetPixel(h,x1,y1,color);
             if(c>=0) c-=mx;
             else {
                 x1++;
                 c+=my;
             }
             y1+=dy;
             sc--;
         }
     }
 }
 === Cut ===
 
     E-mail: gate@fidonet.org.il
     Voice Phones: 972-4-8330554 (home), 972-5-4481073 (cell)
 
 Bye !
 Stanislav     (AKA Night's Man)                        [Team Technion]
 ---
  * Origin: Gate From Another World ... From Haifa, Israel (2:400/520)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 <без заголовка>   Maxim Petrankov   04 Mar 2003 08:08:22 
 <без заголовка>   Stanislav Shwartsman   04 Mar 2003 09:38:47 
 <без заголовка>   Maxim Petrankov   06 Mar 2003 22:06:02 
 Re: <none>   Eugene Kilachkoff   07 Mar 2003 13:23:26 
 <без заголовка>   Stanislav Shwartsman   07 Mar 2003 10:10:09 
 <без заголовка>   Egor Alexeev   07 Mar 2003 09:55:18 
 <none>   Alex Astafiev   07 Mar 2003 15:51:43 
 <без заголовка>   Pasha Krutchinin   12 Mar 2003 09:58:06 
 pисование линии   Edik Ryzhov   05 Mar 2003 02:06:00 
 Re: <none>   Andrew Starsh   07 Mar 2003 00:31:53 
 Re: <none>   Andrew Starsh   09 Mar 2003 07:41:54 
Архивное /ru.algorithms/17853e644a61.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional