Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.05.17;
Скачать: CL | DM;

Вниз

Построение линии на основе карт высот   Найти похожие ветки 

 
dzmitry[li]   (2009-04-02 09:56) [0]

Есть матрица
x11 x12 x13 ... x1n
x21 x22 x23 ... x2n
x31 x12 x33 ... x3n
xm1 xm2 xm3 ... xmn


как на её основе построить изолинии? такие как на картах, посоветуйте теорию или название


 
brother ©   (2009-04-02 09:57) [1]

эээ, те нужно по x11 x12 x13 ... x1n координатам, потом по x21 x22 x23 ... x2n итд, строить? если да- то кривые бизье или сплайны тебя спасут?


 
dzmitry[li]   (2009-04-02 12:10) [2]

ээ, ммм, нууу
короче говоря по srtm нужно построить изолинии рельефа
апроксимацией узнать высоту в любой точке можно без проблем, но вот линии построить! тут я торможу...
продуктов, что бы сделать другими програмами (тем же Ози) - навалом, но вот как самому?
(кто б знал что такая тема - тема для начинающих)


 
Putnik ©   (2009-04-02 12:32) [3]

http://anfilat.chat.ru/tpcolor.htm посмотрите, может поможет


 
Немо ©   (2009-04-02 13:49) [4]

что-то вроде

procedure TForm1.Button1Click(Sender: TObject);
var
i,j:integer;
begin
 for i:=0 to 4 do
  for j:=0 to 4 do stringgrid1.cells[i,j]:="0";
end;

procedure TForm1.Button2Click(Sender: TObject);
var
i,j:integer;
a:array[-1..5,-1..5] of integer;

procedure LineToEq(x,y,v:integer);
var i,j:integer; p:tpoint;
begin
  p.X:= x*50;
  p.Y:= y*50;
  for i:=0 to 4 do
   for j:=0 to 4 do
     if (i=x) and (j=y) then continue
     else begin
       if (abs(i-x)<2) and (abs(j-y)<2) and (a[x,y]=a[i,j])
       then begin
         paintbox1.Canvas.PenPos := p;
         paintbox1.Canvas.Pen.Color:=a[x,y];
         paintbox1.Canvas.LineTo(i*50,j*50);
       end;
     end;
end;

begin
 fillmemory(@a,4*49,255);
 for i:=0 to 4 do
  for j:=0 to 4 do a[i,j]:=strtoint(stringgrid1.cells[i,j]);

 for i:=0 to 4 do
  for j:=0 to 4 do begin
    paintbox1.Canvas.Ellipse(i*50,j*50,i*50+a[i,j]*3,j*50+a[i,j]*3);
    LineToEq(i,j,a[i,j]);
  end;

end;


 
Jeer ©   (2009-04-02 15:11) [5]


> но вот линии построить! тут я торможу...
> продуктов, что бы сделать другими програмами (тем же Ози)
> - навалом,


Значит пока ты не готов сделать аналог Ozi, тем более Ozi3D


 
dzmitry[li]   (2009-04-03 11:20) [6]

Putnik спасибо!

Jeer учебники, как нарисовать - хватает... циркулем и на милиметровке, в красивую компьютерную модель не получилось



Страницы: 1 вся ветка

Текущий архив: 2009.05.17;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.014 c
3-1220965928
kaif
2008-09-09 17:12
2009.05.17
ADO Delphi и транзакции MSSQL


15-1237325403
Юрий
2009-03-18 00:30
2009.05.17
С днем рождения ! 18 марта 2009 среда


2-1238675477
oleg_teacher
2009-04-02 16:31
2009.05.17
Регистр букв


15-1237316945
Вот в чем вопрос
2009-03-17 22:09
2009.05.17
Перегрузка операторов


9-1179837261
evg123
2007-05-22 16:34
2009.05.17
Загрузка ЦП 100%