Главная страница
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
15-1236766098
It's not me
2009-03-11 13:08
2009.05.17
Кто-нибудь замечал, что TidHTTPServer медленно соединяется?


2-1238854644
denissoft
2009-04-04 18:17
2009.05.17
Драйвера формата sys


15-1237388071
Denis__
2009-03-18 17:54
2009.05.17
Переопределение ввода/вывода CMD Windows


2-1238746145
Enlight
2009-04-03 12:09
2009.05.17
{$IFDEF} и Delphi2007


15-1236783730
Empleado
2009-03-11 18:02
2009.05.17
Pointer to records