Полигональная модель местности на PascalABC.NET
Создание с помощью PascalABC.NET простого примера полигональной модели местности -------------------------------- Литература по теме: 1. 3D графика в PascalABC.NET - возможности модуля Graph3D http://pascalabc.net/downloads/Presentations/Tutorials/Graph3D.pdf --------------------------------- Листинг файла высот: --------------------------------- 15 15 14 13 12 12 11 11 10 10 15 14 13 12 12 11 11 10 10 10 14 13 12 12 11 11 10 10 10 10 13 12 10 10 11 10 10 10 11 11 12 10 10 10 10 10 10 11 11 10 11 11 10 10 10 10 11 11 11 11 11 10 10 10 10 11 11 11 12 12 10 10 10 10 11 11 11 12 13 13 10 10 10 10 11 11 12 12 13 13 10 10 10 11 11 11 12 13 13 14 --------------------------------- Листинг программы: --------------------------------- uses graph3d; var f : text; z : array [1..10,1..10] of integer; x,y : integer; // счётчики циклов begin view3d.BackgroundColor:=RGB(0,0,0); assign(f,'map.txt'); reset(f); for y:=1 to 10 do for x:=1 to 10 do read(f,z[x,y]); for y:=2 to 10 do for x:=2 to 10 do begin segment3d(P3D(x,y,z[x,y]),P3D(x-1,y-1,z[x-1,y-1]),2, RGB(0,15*(z[x,y]-10),255-15*(z[x,y])-10)); segment3d(P3D(x-1,y,z[x-1,y]),P3D(x,y-1,z[x,y-1]),2, RGB(0,15*(z[x,y]-10),255-15*(z[x,y])-10)); segment3d(P3D(x,y,z[x,y]),P3D(x-1,y,z[x-1,y]),2, RGB(0,15*(z[x,y]-10),255-15*(z[x,y])-10)); // segment3d(P3D(x,y,z[x,y]),P3D(x,y-1,z[x,y-1]),2, // RGB(0,15*(z[x,y]-10),255-15*(z[x,y])-10)); { triangle(P3D(x,y,z[x,y]),P3D(x-1,y,z[x-1,y]),P3D(x,y-1,z[x,y-1]), RGB(0,15*(z[x,y]-10),255-15*(z[x,y])-10)); triangle(P3D(x-1,y,z[x-1,y]),P3D(x-1,y-1,z[x-1,y-1]),P3D(x,y-1,z[x,y-1]), RGB(0,15*(z[x,y]-10),255-15*(z[x,y])-10)); } end; close(f); end. #polygonalmodel #graph3d #digitalelevationmodel #DEM #PascalABC #Pascal #геоинформатика #моделирование #компьютерноемоделирование
Название:
Полигональная модель местности на PascalABC.NET
Категория:
Разное