Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2009.05.17;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.005 c
15-1236677968
It's me
2009-03-10 12:39
2009.05.17
Восстановление БД по индексам?


2-1238654466
desc
2009-04-02 10:41
2009.05.17
Вопрос о ShowModal


2-1238916126
feDOS
2009-04-05 11:22
2009.05.17
Как огранизовать цикл по выдененным записям (MultiSelect) DBGrid?


15-1237178607
hinst
2009-03-16 07:43
2009.05.17
Pascal operating system


15-1236175012
Arkady
2009-03-04 16:56
2009.05.17
В Delphi 2009 самопроизвольно меняется раскладка





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский