1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Các thuật toán tính diện tích và thể tích vật thể không gian và ứng dụng

87 5 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 87
Dung lượng 1,51 MB

Nội dung

ĐẠI HỌC THÁI NGUYÊN TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THƠNG PHẠM HẢI NINH CÁC THUẬT TỐN TÍNH DIỆN TÍCH VÀ THỂ TÍCH VẬT THỂ KHƠNG GIAN VÀ ỨNG DỤNG LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH THÁI NGUN - 2015 Số hóa Trung tâm Học liệu – ĐHTN http://www.ltc.tnu.edu.vn ĐẠI HỌC THÁI NGUYÊN TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG PHẠM HẢI NINH CÁC THUẬT TỐN TÍNH DIỆN TÍCH VÀ THỂ TÍCH VẬT THỂ KHƠNG GIAN VÀ ỨNG DỤNG Chun ngành: KHOA HỌC MÁY TÍNH Mã số: 60 48 01 01 LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH NGƢỜI HƢỚNG DẪN KHOA HỌC PGS TSKH NGUYỄN XUÂN HUY THÁI NGUYÊN - 2015 Số hóa Trung tâm Học liệu – ĐHTN http://www.ltc.tnu.edu.vn i LỜI CAM ĐOAN Tôi xin cam đoan luận văn cơng trình nghiên cứu riêng cá nhân tơi, kết luận văn hồn tồn kết tự thân tơi tìm hiểu, nghiên cứu dƣới hƣớng dẫn giáo viên hƣớng dâñ PGS TSKH Nguñ Xn Huy Tơi hồn tồn chịu trách nhiệm tính pháp lý q trình nghiên cứu khoa học luận văn Thái Nguyên, tháng năm 2015 Học viên Phạm Hải Ninh Số hóa Trung tâm Học liệu – ĐHTN http://www.ltc.tnu.edu.vn ii LỜI CẢM ƠN Lời đầu tiên, em xin gửi lời biết ơn sâu sắc đến PGS TSKH Nguyễn Xuân Huy người tận tình hướng dẫn, bảo, giúp đỡ em suốt trình làm luận văn Em xin gửi lời cảm ơn đến thầy cô giáo trường Đại học Công nghệ thông tin Truyền thông - Đại học Thái Nguyên, thầy cô Viện Công nghệ thông tin truyền đạt kiến thức giúp đỡ em suốt trình học Học viên xin gửi lời cảm ơn tới Ban giám hiệu trường THPT Hồng Bàng - Hải Phòng tạo điều kiện thuận lợi cho học viên tham gia khóa học trình hồn thành luận văn Và học viên xin gửi lời cảm ơn tới đồng nghiệp, gia đình bạn bè người ủng hộ, động viên tạo điều kiện giúp đỡ để học viên có kết ngày hôm Thái Nguyên, tháng năm 2015 Học viên Phạm Hải Ninh Số hóa Trung tâm Học liệu – ĐHTN http://www.ltc.tnu.edu.vn iii MỤC LỤC Trang LỜI CAM ĐOAN i LỜI CẢM ƠN .ii MỤC LỤC iii DANH MỤC CÁC KÍ HIỆU, CHỮ CÁI VIẾT TẮT v DANH MỤC CÁC HÌNH vi MỞ ĐẦU Chƣơng 1: CÁC KHÁI NIỆM CƠ SỞ .2 1.1 Tổng quan vềđềtài 1.1.1 Giới thiệu đề tài 1.1.2 Nội dung đề tài, vấn đề cần giải 1.1.3 Phƣơng pháp nghiên cứu 1.1.4 Phạm vi ứng dụng .3 1.1.5 Kết đạt đƣợc 1.1.6 Bố cục luận văn 1.2 Khái niệm sở 1.2.1 Khái quát cách tính diện tích hình 1.2.2 Khái quát cách tính thể tích hình 10 Chƣơng 2: MỘT SỐ THUẬT TỐN TÍNH DIỆN TÍCH VÀ THỂ TÍCH VẬT THỂ KHƠNG GIAN .14 2.1 Thṭtốn tính diện tích đa giác theo tọa độ đỉnh 14 2.2 Thuật tốn tìm diện tích hình chữ nhật tối đại .25 Số hóa Trung tâm Học liệu – ĐHTN http://www.ltc.tnu.edu.vn iv 2.3 Thuật tốn tính thể tích vùng nƣớc đongg̣ 33 Chƣơng 3: ỨNG DỤNG VÀ THỬ NGHIỆM 45 3.1 Cơ sở lý thuyết vàlựa chọn toán ứng dụng 45 3.2 Bài toán: Dự án xây dựng sân bay 49 3.2.1 Phát biểu toán 49 3.2.2 Mô tảdƣƣ̃liêụ 49 3.2.3 Thiết kếcác bƣớc thƣcg̣ hiêṇ 50 3.3 Bài tốn: Tính thể tích chứa nƣớc cho lòng hờ .54 3.3.1 Phát biểu toán 54 3.2.2 Mô tảdữ liệu 55 3.3.3 Thiết kếcác bƣớc thƣcg̣ hiêṇ 56 3.4 Cài đặt chƣơng trình 58 3.4.1 Chƣơng trinh̀ tinh́ diêṇ đa giác theo toạ đô đg̣ inhh̉ .58 3.4.2 Chƣơng trình tim̀ diện tích hình chữ nhật tối đại 59 3.4.3 Chƣơng trinh̀ tính thể tích vùng nƣớc đongg̣ 61 KẾT LUẬN .64 TÀI LIỆU THAM KHẢO 65 PHỤ LỤC 66 Số hóa Trung tâm Học liệu – ĐHTN http://www.ltc.tnu.edu.vn v DANH MỤC CÁC KÍ HIỆU, CHỮ CÁI VIẾT TẮT CSDL: GIS: HCN : INP: NXB: OUT: S: V: VD: Số hóa Trung tâm Học liệu – ĐHTN http://www.ltc.tnu.edu.vn vi DANH MỤC CÁC HÌNH Trang Hình 1.1: Cơng thƣ́c tinh́ diêṇ tich́ mơṭsốhinh̀ đăcg̣ biêṭ .7 Hình 1.2: Diện tích S hình phẳng giới hạn đờ thị hàm số y = f ( x ), y = g ( x) liên tục đoạn [a, b] hai đƣờng thẳng x = a, x = b Hình 1.3: Công thƣ́c tinh́ thểtić h môṭsố khối hinh̀ đăcg̣ biêṭ .12 Hình 1.4: Thể tích vật thể tròn xoay giới hạn đồ thị hàm số y = f(x) , trục hoành hai đƣờng thẳng x = a, x = b .13 Hình 2.1: Hình chữ nhâṭABCD măṭphẳng toạ g̣Oxy 16 Hình 2.2: Ngũ giác lõm ABCDE mặt phẳng tọa độ Oxy 17 Hình 2.3: Ngũ giác lồi ABCDE mặt phẳng tọa độ Oxy 18 Hình 2.4: Hình thang ABCD mặt phẳng tọa độ Oxy .19 Hình 2.5: Đa giác lồi, lõm mặt phẳng tọa độ Oxy 20 Hình 2.6: VD1 - Ma trâṇ chƣ́a kit́ ƣ g̣0 25 Hình 2.7: VD2 - Ma trâṇ chƣ́a kítƣ g̣0 26 Hình 2.8: VD3 - Ma trâṇ chƣ́a kit́ ƣ g̣0 27 Hình 2.9: VD1 - Ma trâṇ vàcôṭthể độ cao cột vuông cạnh đơn vi.g̣ 34 Hình 2.10: VD2 - Ma trâṇ vàcơṭthểhiêṇ g̣cao côṭvuông canḥ đơn vi.g̣ 35 Hình 2.11: VD3 - Ma trâṇ vàcơṭthểhiêṇ g̣cao côṭvuông canḥ đơn vi.g̣ 35 Hình 3.1: Ma trận khơng gian file ảnh raster có cấu trúc pixel 46 Hình 3.2: Các đối tƣợng khơng gian đƣợc mã hố mơ hình Raster 47 Số hóa Trung tâm Học liệu – ĐHTN http://www.ltc.tnu.edu.vn vii Hình 3.3: Các điểm ảnh đƣợc mã hố mơ hình Raster nhƣ mơṭma trâṇ sốngun 49 Hình 3.4: Vùng địa hình khảo sát xây dựng sân bay 50 Hình 3.5: Ma trâṇ sốnguyên thểhiêṇ theo đô g̣cao vùng điạ hinh.̀ .51 Hình 3.6: Vùng địa hình có hờ chứa nƣớc 56 Hình 3.7: Ma trâṇ sốngun theo g̣cao vùng cóhờ 57 Số hóa Trung tâm Học liệu – ĐHTN http://www.ltc.tnu.edu.vn 57 Ta cóma trận thể độ cao tƣơng ứng nhƣ sau: Hình 3.7: Ma trâṇ sốnguyên theo c̣cao vùng cóhồ  Bước 2: Tƣ̀ sốliêụ ma trâṇ (các độ cao đo đƣợc địa hình) chuyển vào têpg̣ dƣƣ̃liêụ vào (têpg̣: THETICH1.INP): + Dòng đầu chƣ́a số nguyên dƣơng m n + Phần tử thứ j dòng i số m dòng chiều cao cột đặt ô (i, j) Bước 3: Số hóa Trung tâm Học liệu – ĐHTN http://www.ltc.tnu.edu.vn 58 Chạy thực nghiệm chƣơng trình THETICH PAS  Bước 4: Ghi nhâṇ kết quảlƣu têpg̣ THETICH 1.OUT Tƣ̀ kết ta tính đƣợc thểtich́ chứa nƣớc lòng hồ tƣơng ứng với tỉ lệ đƣơcg̣ quy đởi 3.4 Cài đặt chƣơng trình (Cài đặt chương trình cho số tốn ngôn ngữ Turbo pascal 7.0; Free pascal:) 3.4.1 Chƣơng trinh̀ tính diện đa giác theo tọa độ đinhh Uses Const math; finp='dagiac.inp'; fout='dagiac.out'; var fi,fo:text; x,y:array[1 1000] of longint; n,i:integer; t1,t2:longint; s:real; procedure docdl; begin assign(fi,finp); reset(fi); read(fi,n); Số hóa Trung tâm Học liệu – ĐHTN http://www.ltc.tnu.edu.vn 59 end; for i:=1 to n read(fi,x[i],y[i]); close(fi); procedure xuli; begin t1:=x[n]*y[1]; t2:=y[n]*x[1]; for i:=1 to n-1 begin t1:=t1+x[i]*y[i+1]; t2:=t2+y[i]*x[i+1]; end; s:=abs(t1-t2)/2; end; procedure ghikq; begin assign(fo,fout); rewrite(fo); write(fo,s:8:2); close(fo); end; begin docdl; xuli; ghikq; end 3.4.2 Chƣơng trình tim̀ diện tích hình chữ nhật tối đại Uses Cons t Var math; finp='cnmax.inp';//cnmax.inp'; fout='cnmax.out';//cnmax.out'; fi,fo:text; m,n,d :longint; l,r,h,a :array[0 1001,0 70] of longint; s,smax,yt,yd,xtr,xph:longint; Procedure docdl; var i,j:longint; begin assign(fi,finp);reset(fi); readln(fi,n,m); Số hóa Trung tâm Học liệu – ĐHTN http://www.ltc.tnu.edu.vn 60 end; for i:=1 to n begin for j:=1 to m read(fi,a[i,j]); readln(fi); end; close(fi); Procedure xulicanh; var i,j,k:longint; begin for i:=1 to n for j:=1 to m if a[i,j]=0 then h[i,j]:=0 else h[i,j]:=h[i-1,j]+1; for i:= to n for j:=1 to m if a[i,j]=0 then l[i,j]:=0 else begin d:=0; for k:=1 to j if (a[i,k]=1) and (h[i,k]>=h[i,j]) then inc(d) else d:=0; l[i,j]:=d; end; for i:=1 to n for j:=m downto if a[i,j]=0 then l[i,j]:=0 else begin d:=0; for k:=m downto j if (a[i,k]=1) and (h[i,k]>=h[i,j]) then inc(d) else d:=0; r[i,j]:=d; end; end; Số hóa Trung tâm Học liệu – ĐHTN http://www.ltc.tnu.edu.vn 61 procedure xuli; var i,j:longint; begin Smax:=0; for i:=1 to n for j:=1 to m begin S:=h[i,j]*(l[i,j]+r[i,j]-1); if s> smax then begin smax:=s; yt:=i+1-h[i,j]; xtr:=j+1-l[i,j]; yd:=i; xph:=xtr+(l[i,j]+r[i,j]-1)-1; end; end; end; procedure ghikq; begin assign(fo,fout); rewrite(fo); writeln(fo,smax); writeln(fo,xtr,' ',yt); writeln(fo,xph,' ',yd); close(fo); end; Begin end docdl; xulicanh; xuli; ghikq; 3.4.3 Chƣơng trinh̀ tính thể tích vùng nƣớc đongg Program MODEL; Uses math; Const finp='thetich.inp'; fout='thetich.out'; Số hóa Trung tâm Học liệu – ĐHTN http://www.ltc.tnu.edu.vn 62 Var fi,fo:text; m,n,res,hmin,hmax,h,count :longint; a,free :array[0 1001,0 1001] of longint; Procedure Docdl; var i,j :longint; begin assign(fi,finp); reset(fi); read(fi,m,n); hmin:=100000000; hmax:=0; for i:=1 to m for j:=1 to n begin read(fi,a[i,j]); hmin:=min(hmin,a[i,j]); hmax:=max(hmax,a[i,j]); end; close(fi); end; Procedure LOANG(x,y: longint); //Loang begin free[x,y]:=count; if (x>1)and(free[x-1,y]

Ngày đăng: 08/06/2021, 12:53

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w