Главная страница
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.01 c
11-1200570250
Rocket
2008-01-17 14:44
2009.05.17
OpenDirDialog.InitialPath при UNICODE_CTRLS...


2-1238769749
Кошкин
2009-04-03 18:42
2009.05.17
Как сделать проекцию на экран.


15-1236713109
TUser
2009-03-10 22:25
2009.05.17
3 величайших достижения не только астрономии


2-1232978119
anton shestakov
2009-01-26 16:55
2009.05.17
Фильтрация в базе


15-1237324761
Kostafey
2009-03-18 00:19
2009.05.17
Посоветуйте железо для сервера