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


ru.algorithms

 
 - RU.ALGORITHMS ----------------------------------------------------------------
 From : Alex Malashonok                      2:4635/1024.64 10 Feb 2003  16:51:59
 To : Sergey Andrianov
 Subject : Online компиляция формулы в пямять.
 -------------------------------------------------------------------------------- 
 
 
 Сyббота Февраль 08 2003 12:30, Sergey Andrianov -> Nick Poroshin:
 
  NP>>>> Пpимеp:
  NP>>>> 1-+--+--+-2     изоуpовень pавен 3
  NP>>>> |         |
  NP>>>> |         |  код:  0011 ->таблица-> точки пеp. на стоpонах 2,3,4
  NP>>>> *\        *                находишь их (звёздочки)
  NP>>>> |  \     /|               таблица-> соединить 1 со 2, 2 с 3
  NP>>>> |    \  / |                соединяешь
  NP>>>> 5-+--+-*--4
 
 Вот сделал (ниже), никаких возражений? Особые случаи?
 
 {--------------------------------------------------------}
 uses graph;
 
 function f(x,y: real): real;
 begin
   f := 3*sqr(x)+4*sqr(y)-2*x*y+x-2*y;
 end;
 
 procedure DrawLine(x1,y1,x2,y2: real;c: integer);
 begin
   SetColor(c);
   Line(Round(x1*30)+320, Round(y1*30)+240, Round(x2*30)+320, Round(y2*30)+240);
 end;
 
 procedure DrawGrid;
 var
   x,y: real;
 begin
   x := - 10;
   while x < 10 do begin
     DrawLine(x, -10, x, 10, 4);
     x := x + 1;
   end;
   y := - 10;
   while y < 10 do begin
     DrawLine(-10, y, 10, y, 4);
     y := y + 1;
   end;
   DrawLine(-10, 0, 10, 0, 15);
   DrawLine(0, -10, 0, 10, 15);
 end;
 
 const
   xdet = 100; {детализация по Х}
   ydet = 100; {детализация по У}
 
 var
   i,j,a,b,t: integer;
   Matrix: array[0..xdet, 0..ydet] of real;
   xx: array[1..4] of real;
   yy: array[1..4] of real;
   tt, hx,hy,_f,_x,_y: real;
 begin
   a := Detect;
   InitGraph(a, b, '..\bgi\');
   DrawGrid;
   tt := -1;
   while tt <= 2 do begin
   _f := f(tt,tt);
   hx := 20/(xdet+1);
   hy := 20/(ydet+1);
   _x := -10;
   for i := 0 to xdet do begin
     _y := -10;
     for j := 0 to ydet do begin
       Matrix[i,j] := f(_x, _y) - _f;
       if (i > 0) and (j > 0) then begin
         t := 0;
         if Matrix[i-1,j-1]*Matrix[i, j-1] < 0 then begin
           t := t or 1;
           xx[1] := _x -
 hx*abs(Matrix[i,j-1])/(abs(Matrix[i,j-1])+abs(Matrix[i-1,j-1]));
           yy[1] := _y - hy;
         end;
         if Matrix[i,j-1]*Matrix[i, j] < 0 then begin
           t := t or 2;
           xx[2] := _x;
           yy[2] := _y -
 hy*abs(Matrix[i,j])/(abs(Matrix[i,j])+abs(Matrix[i,j-1]));
         end;
         if Matrix[i-1,j]*Matrix[i, j] < 0 then begin
           t := t or 4;
           xx[3] := _x -
 hx*abs(Matrix[i,j])/(abs(Matrix[i,j])+abs(Matrix[i-1,j]));
           yy[3] := _y;
         end;
         if Matrix[i-1,j-1]*Matrix[i-1, j] < 0 then begin
           t := t or 8;
           xx[4] := _x - hx;
           yy[4] := _y -
 hy*abs(Matrix[i-1,j])/(abs(Matrix[i-1,j-1])+abs(Matrix[i-1,j]));
         end;
         case t of
         3: DrawLine(xx[1], yy[1], xx[2], yy[2], 12);
         5: DrawLine(xx[1], yy[1], xx[3], yy[3], 12);
         6: DrawLine(xx[3], yy[3], xx[2], yy[2], 12);
         9: DrawLine(xx[1], yy[1], xx[4], yy[4], 12);
         10: DrawLine(xx[4], yy[4], xx[2], yy[2], 12);
         12: DrawLine(xx[4], yy[4], xx[3], yy[3], 12);
         end;
       end;
       _y := _y + hy;
     end;
     _x := _x + hx;
   end;
   tt:=tt+0.3;
   end;
   readln;
 end.
 {--------------------------------------------------------}
 
 Alex
 
 --- Советую стереть эту строку...
  * Origin: С уважением, СПАМ.... (2:4635/1024.64)
 
 

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

 Тема:    Автор:    Дата:  
 Online компиляция формулы в пямять.   Alex Malashonok   01 Feb 2003 07:14:30 
 Re: Online компиляция формулы в пямять.   Vitaly Lugovsky   02 Feb 2003 04:51:08 
 Online компиляция формулы в пямять.   Alex Malashonok   03 Feb 2003 03:59:06 
 Re: Online компиляция формулы в пямять.   Vitaly Lugovsky   03 Feb 2003 09:31:50 
 Online компиляция формулы в пямять.   Alex Malashonok   03 Feb 2003 15:53:48 
 Online компиляция формулы в пямять.   Nick Poroshin   04 Feb 2003 18:22:35 
 Re: Online компиляция формулы в пямять.   Sergey Andrianov   06 Feb 2003 10:22:26 
 Online компиляция формулы в пямять.   Nick Poroshin   07 Feb 2003 18:28:46 
 Re: Online компиляция формулы в пямять.   Sergey Andrianov   08 Feb 2003 13:30:04 
 Re^2: Online компиляция формулы в пямять.   Maxim Balagansky   10 Feb 2003 15:56:00 
 Re: Re^2: Online компиляция формулы в пямять.   Sergey Andrianov   11 Feb 2003 21:28:14 
 Re^2: Re^2: Online компиляция формулы в пямять.   Maxim Balagansky   14 Feb 2003 09:48:30 
 Online компиляция формулы в пямять.   Nick Poroshin   10 Feb 2003 21:38:22 
 Re: Online компиляция формулы в пямять.   Sergey Andrianov   11 Feb 2003 21:49:50 
 Re: Online компиляция формулы в пямять.   Valentin Davydov   13 Feb 2003 21:08:47 
 Re: Online компиляция формулы в пямять.   Sergey Andrianov   14 Feb 2003 21:29:14 
 Re: Online компиляция формулы в пямять.   Valentin Davydov   17 Feb 2003 21:02:21 
 Re: Online компиляция формулы в пямять.   Sergey Andrianov   18 Feb 2003 22:22:14 
 Re: Online компиляция формулы в пямять.   Valentin Davydov   21 Feb 2003 22:50:21 
 Online компиляция формулы в пямять.   Alex Malashonok   10 Feb 2003 16:51:59 
 Re: Online компиляция формулы в пямять.   Sergey Andrianov   06 Feb 2003 09:39:56 
 Online компиляция формулы в пямять.   Moderator   03 Feb 2003 14:52:18 
Архивное /ru.algorithms/46023e47cb51.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional