1.2Y nghia khoa hQCva th\fC tiSn: Trang 1 Cac thu?t toan t~o lucri tam giac TIN la co s6, n@ntang dS giai quySt cac baitoan nhu xay d\fllg ban d6 dia hinh; ch6ng lap thong tin; xay d\fll
Trang 1LOP THONG TIN
GIANG VlEN HUONG DAN: Th.S NGUYEN MINH NAM
PH~M VAN DAN PHUONG
, ~ i 'li\i f'\;(,U ' _\ '. _' If -',
Trang 2Chung em xin chan thanh cam an Th.S Nguy~n Minh Nam da:t~ tinhhuang dful chung em hoan tftt d~ tai; cam an cac th~y co truemg Huflit da: t~ntinh giang dc;1Y,huang dful va giup do chung em trong qua trinh hQc t~p valam bao cao
Trang 3Ml)C Ll)C
LOIMODAu Ml)C U)C DANH Ml)C KY HIJ;:U VIET TAT DANH Ml)C cAc HiNH VE
2.3.1 Bleu dlen ban do bang cac It tren may tl
2.5 Dfr li~u dia ly ( Geographical Data, Geospatial Data) 8 2.6 DiOOnghia h~ th6ng thong tin dia ly (Geographical Information Systems - GIS) 8 2.7 Thu th~p cac ngu6n dfr li~u Clla h~ th6ng thong tin dia ly 8
2.7.3 Phuong phap vector hoa (Vectorisation): 9 2.8 Cac tmg d\lng Clla h~ th6ng thong tin dia ly trong cUQcs6ng 9
CHVONG 3-TONG QUAN VE THUAT ToAN TAO LlJOI TAM GIAC 14
Trang 43.3 K~t lu~ 19
4.3.2 Cac bUGe d~ t~o mQt lu61 Tin hoan ehinh: 60
4.3.3.3.2.1 Dinh nghia eae cftu true dfr li~u: 64
Trang 54.3.3.3.3 Phuong phap tim Vt tri mQt di~m trong lum TIN bfulg RTree 66
4.4.1 Giai thu~t d~t tam giac vao bang Bam 72 4.4.2 Giai thu~t ki~m tra mQt Face th6a di~u ki~n Delone 73 4.5 Thu~t toan t<;10 lum tam giac d\fa theo y tllang Clla phuong phap tim bao 16i Melkman: 75
SQLAPI++ gQi tT\fcti€p cac ham API clla h~ quan trt co sa dii li~u dich 105
OPENGL LA CHUAN DO HOA DVOC CONG NHAN RONG RAJ 106
6.1 Nhiing k€t qua d<;1t dugc va nhiing dong gop mm 107
Trang 7DANH MVC cAe HiNH vi:
Hinh 6:BIeu dlen an do bang cae It tren may tl
Hinh 9:mOl quan h~ gma eong VIen Hyde va 0 Serpentme
Hinh 13:MQt vi d\l don gian ella vi~e phan tieh m~ng la ehQn hai di€m (; tren m~g va sir d\lng h~ th6ng thong tin dia ly d€ tinh duemg di ng~n nh~t giua chung 11
Hinh 17:Tu giae duqe t~o thanh ill tam giae 1& 2 14 Hinh 18:Hi~u ehinh hai tam giae 1 & 2 thoa di~u ki~n Delone 15
Hinh 20:MQt s6 khai ni~m co ban trong mo hinh topo 17
Hinh 24:Phuong phap tim bao 16i vet e~ (ban dAu) 24 Hinh 25: Phuong phap tim bao 16i vet e~ (ban dAu) 24 Hinh 26: Phuong phap tim bao 16i vet e~ (ban dAu) 25 Hinh 27: Phuong phap tim bao 16i vet e~ (ban dAu) 26 Hinh 28: Phuong phap tim bao 16i vet e~ (ban dAu) 26 Hinh 29: Phuong phap tim bao 16i vet e~ (ban dAu) 27 Hinh 30: Phuong phap tim bao 16i vet e~ (ban dAu) 28 Hinh 31: Phuong phap tim bao 16i vet e~ (ban dAu) 29 Hinh 32: Phuong phap tim bao 16i vet e~ (ban dAu) 30 Hinh 33: Phuong phap tim bao 16i vet e~ (ban dAu) 31 Hinh 34: Phuong phap tim bao 16i vet e~ (ban dAu) 31 Hinh 35 :Cae vi tri ella cae di€m Start va End 33
Hinh 37: Phuong phap tim bao 16i vet e~ (cai ti~n) 35 Hinh 38: Phuong phap tim bao 16i vet e~ (eai ti~n) 35 Hinh 39: Phuong phap tim bao 16i vet e~ (em ti~n) 36 Hinh 40: Phuong phap tim bao 16i vet e~ (cai ti~n) 37 Hinh 41: Phuong phap tim bao 16i vet e~ (em ti~n) 37 Hinh 42: Phuong phap tim bao 16i vet e~ (cai ti~n) 38 Hinh 43: Phuong phap tim bao 16i vet e~ (cai ti~n) 39
Trang 8Hinh 44: Phuong phap tim bao 16i vet c~ (cai ti~n) 39 Hinh 45: Phuong phap tim bao 16i vet c~ (cai ti~n) 40 Hinh 46: Phuong phap tim bao 16i vet c~ (cai ti~n) 40 Hinh 47: Phuong phap tim bao 16i vet c~ (cai ti~n) 41 Hinh 48: Phuong phap tim bao 16i chia d~ tri 42 Hinh 49: Phuong phap tim bao 16i Melkman 44 Hinh 50: Phuong phap tim bao 16i Melkman 45
Hinh 52: Phuong phap tim bao 16i Melkman 47 Hinh 53: Phuong phap tim bao 16i Melkman 48 Hinh 54: Phuong phap tim bao 16i Melkman 49
Hinh 57:Lum Tin co ban ban d~u Clla mang di~m dii cho 53 Hinh 58:T~p di~m ban d~u(vm nhUng di~m d~ la nhUng di~m thuQc bao 16i) 54 Hinh 59:Minh h9a lum tin ban d~uabuac K = 2 55 Hinh 60:Minh h9a lum tin ban d~uabuac K = 3 56 Hinh 61 :Minh h9a lum tin ban d~uabuac K = 4 57 Hinh 62:Minh h9a lum tin ban d~uabuac K = 5 58 Hinh 63:Minh h9a lum tin sau khi quabuac 2 59 Hinh 64:Vi d\l minh h9a tim ki~m di~m vet c~ 61
Hinh 66:Vi d\l minh h9a tim ki~m di~m theo bang Bam 63 Hinh 67:Mo hinh cay RTree va d~g th~ hi~n theo khung chfr nh~t 66 Hinh 68:Minh h9a vi~c them 1 di~m n~m ben trong Face vao Face(n la s6 c~ hi~n
Hinh 69:Minh' h9a vi~c them 1 di~m n~ tren c~ clla Face rna c~ do khong co k~ vm Face khac(idFace la chi s6 Face dang xet, n la s6 C<;1nh hi~n co,NumberFace la s6 face hi~n
Hinh 70:Minh h9a vi~c them 1 di~m n~ tren c~ clla Face rna c<;lnhdo co k~ vm Face khac(idFace la chi s6 Face dang xet,idFaceNextTo la chi s6 Face k~ vm idFace qua c~ rna di~m n~ tren,n la s6 c<;lnhhi~n co,NumberFace la s6 face hi~n co) 68 Hinh 71 :Bi~u d6 th~ hi~n t6c dQ khi t<;10 lum tam giac hoan chinh vm phuong phap tim
Hinh 73: Cac tam giac 1,2 duqc t<;10 khi xet di~m 3 77 Hinh 74:Tam giac 3 duqc t<;10 khi xet di~m 4 78 Hinh 75:Cac tam giac 4, 5 duqc t<;10 khi xet di~m 5 79 Hinh 76:Tam giac 6 duqc t<;10 khi xet di~m 6 80 Hinh 77:Tam giac 7 duqc t<;10 khi xet di~m 7 81 Hinh 78:Cac tam giac 8, 9 duqc t<;10 khi xet di~m 8 82 Hinh 79: Cac di~m thuQc dUOngbien dii duqc s~p theo chi~u thu~ kim d6ng h6 84 Hinh 80:Tam giac d~u tien duqc t<;10 khi xet di~m 0 85 Hinh 81 :Tam giac 1 duqc t<;10 khi xet di~m 1 85 Hinh 82:Tam giac 2 duqc t<;10 khi xet di~m 2 86
Hinh 84: T<;1olum TIN vm dUOngbien ben ngoai va cac vling 15m ben trong: 88
Trang 9Hinh 85: T?o lum TIN vm dUOng bien ben ngOili va cac vimg lorn ben trong: 89 Hinh 86: T?o lum TIN vm dUOng bien ben ngoai va cac vimg 10m ben trong: 90 Hinh 87: T?o lum TIN vm dUOng bien ben ngoai va cac vimg lorn ben trong: 91 Hinh 88:T?o lum TIN vm dUOng bien ben ngoai va cac vimg 10m ben trong: 92 Hinh 89:T?o lum TIN vm dUOng bien ben ngoai va cac vimg lorn ben trong: 93 Hinh 90:T?o lum TIN vm dUOng bien ben ngoai va cac vimg lorn ben trong: 94 Hinh 91 :T?o lum TIN vm dUOng bien ben ngoai va cac vimg 10m ben trong: 95 Hinh 92:T?o lum TIN vm dUOng bien ben ngoai va cac vimg 10m ben trong: 96 Hinh 93:T?o lum TIN vm dUOng bien ben ngoai va cac vimg lorn ben trong: 97 Hinh 94:T?o lum TIN vm duemg bien ben ngoai va cac vimg 10m ben trong: 98 Hinh 95 :T?o lum TIN vm dUOng bien ben ngoai va cac vilng 10m ben trong: 99 Hinh 96: Chuang trinh minh hQa lum TIN hoan chinh khi khong to mau cac Face 100 Hinh 97: Chuang trinh minh hQa lum TIN hoan chinh khi khong to mau cac Face 101 Hinh 98: Chuang trinh minh hQa lum TIN hoan chinh khi to mau cac Face 102 Hinh 99: Chuang trinh minh hQa lum TIN vai cac dUOng bien co s~n 103 Hinh 100 : Chuang trinh minh h(;mlum TIN vm cac dUOng bien co s~ va bao l5i ben
Trang 10Chuang 1- Gi6i thieu
CHUONG 1 - GI61 THI~U
1.1 D6i tugng va ph~m vi nghien cme
Nghien Clm cac thu?t toan t6i uu t~o lucri tam giac (TIN)
1.2Y nghia khoa hQCva th\fC tiSn:
Trang 1
Cac thu?t toan t~o lucri tam giac (TIN) la co s6, n@ntang dS giai quySt cac baitoan nhu xay d\fllg ban d6 dia hinh; ch6ng lap thong tin; xay d\fllg vung d~mcho cac d6i tugng, Tir do gop phAn giai quySt cac vfin d@quan trQng trongcUQcs6ng nh~ giai toa, quy ~Oc;lchcac thanh ph6; quan ly, bao v~ va phat triSncac thanh pho, cac vung, mien thuQc cac quoc gia Vi V?y, vi~c nghien Clm
va t6i uu cac thu?t toan t~o lucri tam giac co y nghia khoa hQCva th\fC tiSn rfitcao
1.3 M\lc dich cua vi~c nghien Clm:
M\lc dich cua vi~c nghien Clm la t6i Uti thu?t toan t~o lucri tam giac va lrngd\lng thu?t toan dS giai quySt cae bai toan:
- Xay d\fllg ban d6 dia hinh
- Ch6ng lap thong tin
- Xay d\fllg vung d~m cho cae d6i tugng
Trang 11". Chuang 1- Gi6i thieu Trang 2
Giai quyet cae bai toan chong lop
thong tinUser
Xay dung ban do dia hinh
/'
/
0/
A
Xay dung vung dem cho cae doi tuong
Hinh 1: U seCase t6ng quat
Trang 12Chuang 1- Gi&i thieu Trang 3
Tao Juoi tam giac voimot vung co san
«include>
«include»
vung
/«include<>
Trang 13Chuang 2-T6ng quan ve he th6ng thong tin dia Iy Trang 4
2.2 Ban d6:
2.2.1 Cac Io~i ban d6:
Lich SUClla h~ th6ng thong tin dia Iy b~t dAutil thS gi&i Clla han d6.MQt band6 Ia mQt S\l thS hi~n mQt cach tf\lC quan, dan gian tdt ca mQi S\l v~t til thSgi&i th\lc.Cac ban d6 co thS mo ta thS gi&i th\lc h~ng nhieu cach
Contour
Choropleth
Real world
Hinh 3:Cac IQai ban d6
MQt ban d6 Topographic biSu diSn cac d~c diSm clla be m~t v~t Iy, vi d\l: caccon duang, cac dong song, cac toa nha,
MQt ban d6 Contour biSu diSn nhfrng duang thAng n6i cac diSm 0 nhfrng vi trirna mQt thuQc tinh nao do co cung gia tri, vi d\l: dQ cao tren m\lc nu&c biSn,cac duang dAng ap biSu diSn ap sudt khong khi
MQt ban d6 Choropleth biSu diSn cac vung duQ'c mo ta boi mQt vai d~c diSmchung ph6 biSn, vi d\l: cac Io~i cay tr6ng nong nghi~p
Trang 14Chuang 2-T6ng quan v~ he th3ng thong tin dia Ii'
2.2.2 Cae d~e di~m ella ban dB:
Di~m (Vd: mQt ddu th~p bi~u dien mQt nha tho)
Duang (Vd: mQt duang mau vang bieu dien mQt con duang)
Vung (Vd: mQt viIng mau xanh bieu dien mQt eai hB)
Van ban (Vd: ten ella mQt toa nha)
Hinh 4:Cae d~e di~m ella ban dB2.2.3 Thong tin tren ban dB:
Trang 5
H~ th3ng thong tin dia ly phai co th~ lUll tni cae thong tin v~:
Hinh hQe: hinh dang va vi tri ella cae d~i tUQ11~
Cae thuQe tinh: la cae thong tin mo ta ve cae doi tUQ11g,thuang duqe trinh bayb~ng cae bi~u tUQ11gva loi ehil thieh 0 tren ban dB.Vd: mQt con duang duqerno ta boi ten, ehi~u dai, dQ rQng,
Combe Road
4.52 Km long
6.2 m wide Tarmac surface
Hinh 5:Cae thong tin tren ban dB
Trang 15Chuang 2-T6ng quan vS he thfmg thong tin dia Iy
2.3 Gi6i thi~u vS Raster va Vector:
2.3.1 Bi~u di~n ban dB bfulg cac bit tren may tinh:
Dinh nghia dfr li~u Vector:
Dfr li~u Vector Ia mQt day cac gia tri s6, thuang duQ'c bi~u di~n du6i d~gdiem, duang va vimg
MQt diem duQ'c dinh nghia boi mQt c~p t<;>adQ x, y
MQt duang thfulg duQ'c dinh nghia boi mQt day cac c~p tQa dQ x, y cua cacdiem t~o nen duang th~ng
MQt vung duQ'c dinh nghia tuang tv nhu duang th~ng v6i diem dAu va diemcu6i n6i I~i v6i nhau de t~o nen mQt hinh khep kin
Hinh 7:dfr li~u Vector
Trang 16Chuang 2-T6ng guan v~ he th6ng thong tin dia ly Trang 7
Trong vi d\l atren, ban dB mlY the hi~n mQt toa nha nhu mQt hinh chir nh~tmau do, vi tri va hinh dang Clla toa nha duQ'c luu trir oou mQt day cac c~p tQa
dQ x, y clla 4 diem; de tai t:;10l:;1itoa nha nay trong h~ th6ng thong tin dia ly,may tiOOdQc cac gia tri nay va ve mQt duang n6i cac diem l:;1iv&i OOau
2.3.3 Dir li~u Raster(Raster Data):
DiOOnghia dir li~u Raster:
Dft li~u Raster OOumQt rna tr~n gBm OOi~u0, m6i 0 co mQt gia tri s6
Dir li~u Raster duQ'c dung de luu trir cac hinh aOO,cac gia tri clla cac 0 lienquan d~n mau clla cac diem t:;10nen hinh aOO
Hinh 8:dir li~u Raster
Trong vi d\l tren, ban dB duQ'c chia thanh cac 0 r~t nho, cac gia tri s6 duQ'c luutrir trong cac 0 la tr~ng, ho~c xanh, ho~c do De tai t:;10l:;1ihinh aOO,may tiOOdQc cac gia tri s6 trong cac 0 va ap d\lng chung d6i v&i cac diem tren manhinh
2.4 Topology:
DiOOnghia Topology:
Topology la t~t ca cac m6i quan h~ giira cac d6i tugng
Vd: Cong vien Hyde aLondon co hB Serpentine nAma ben trong
Trang 17Chuong 2-T6ng quan vS he th6ng thong tin dia IV Trang 8
n n
Hinh 9:m6i quan h~ giiia cong vien Hyde va h6 Serpentine
2.5 Dii li~u dia 1y ( Geographical Data, Geospatia1 Data):
Dinh nghia dii li~u dia 1y:
Dii li~u dia 1y lUll trii cac thong tin vS vi tri, hinh dang va cac thuQc tinh cllacac d6i tUQ11gtrong th8 gi6i th\lc
2.6 Dinh nghia h~ th6ng thong tin dia 1y (Geographical Information GIS):
Systems-H~ th6ng thong tin dia 1y 1amQt h~ th6ng bao g6m con nguai, cac phdn mSm,phdn ctmg may tinh va mQt co so dii 1i~u d~ lUll trii cac dii li~u dia 1y; co cacchuc nang thu th~p, biSu diSn dii 1i~udia 1y mQt cach tIV'c quan tren may tinh
va co th~ c~p nh~t, phan tich, xu 1y, quim tri dii 1i~u dia 1y mQt cach hi~u qua,gop phdn giai quy8t cac bai toan tmg d\lng lien quan t6i vi tri dia 1y tren bSm~t trai dAt
2.7 Thu th~p cac ngu6n dii 1i~uclla h~ th6ng thong tin dia 1y:
D~ thu th~p cac ngu6n dii 1i~uClla h~ th6ng thong tin dia 1y, nguai ta su d\lngcac phuong phap khac nhau nhu do d~c tIV'Cti8p tren cac vung dAt cdn khaosat, chuySn d6i tit ban d6 giAy sang hinh thuc lUll trii Clla ban d6 di~n tu. Cohai phuong phap thuang duQ'c su d\lng do hi:
2.7.1 Phuong phap quet ( Scanning ):
Day 1a ky thu~t thong d\lng rna l~i it t6n kern, co th~ duQ'Cth\lc hi~n tren cacmay tinh ca nhan hay clla cong ty May quet se lUll trii l~i cac hinh anh Cllaban d6 giAy du6i hinh thuc s6 va hi~n thi chung tra l~i man hinh Vi~c quethinh anh tit ban d6 giAy tuong d6i don gian va nhanh chong, tuy nhien
Trang 18Chuong 2- T6ng guan v@he th6ng thong tin dia IV Trang 9
phuong phap mlY khong thS cung c~p thuQc tiOOcua cac d6i tUQ11gt\1'OOiennhu dia chi cua mQt toa nhil Ou li~u co duqc tir OOUngphuong phap naythuOng duai d~ng Raster cho kich thuac r~t Ian
2.7.2 Phuong phap s6 hoa (Oigitising):
Ky thu~t nay doi hoi phai cung c~p cac thiSt bi chuyen nganh Ban dB nguBn
se duqc trai b@m~t ngang, mQt con tro se xac diOOtQa dQ cac diSm t~o nenhinh d~g ban dB, sau qua trinh s6 hoa, thuQc tiOO cua cac d6i tUQ11gmaiduqc them vao Phuong phap nay doi hoi nhi@uthai gian va nguBn du li~u coduqc tir ky thu~t nay duai hinh thuc Vector
2.7.3 Phuong phap vector hoa (Vectorisation ):
MQt vai h~ th6ng may tinh chuyen nghi~p co thS chuySn d6i du li~u Rastersang d~ng du li~u Vector Phuong phap na>,cho t6c dQ nhanh do tinh tv dQngOOung I~i kern chinh xac hon so vai vi~c so hoa thu congo
Cac kY thu~t tren d@ud\1'avao nguBn du li~u ban dB gi~y co s~n Tren th\1'ctS,nguai ta con d\1'avao cac nganh IIOOV\1'Ckhac OOu:GPS, phan tich aOO dSthu th~p nguBn du li~u cho h~ th6ng thong tin dia Iy
2.8 Cac lIng d1;1ngcua h~ th6ng thong tin dia Iy trong cUQcs6ng:
2.8.1 S\1'nguy hiSm cua nuac tri@ulen:
H~ th6ng thong tin dia ly co thS cho biSt cac thong tin quan trQng OOum\1'cnuac hi~n thai la bao nhieu, nhUng vimg nao bi anh hu6ng khi nuac dang len,
• Water level rls ng by 5 m Impact on lIdjacenl urb lIrelis
Hinh 10:S\1'nguy hiSm cua nuac tri@ulen
Trang 19Chuong 2-Tang quan v~ he th6ng thong tin dia ly
2.8.2 Cae dieh V\lkh~n e~p:
Trang 10
Bfutgeach su d\lng h~ th6ng thong tin dia ly, nguai ki~m soat cae phuong ti~n cimh sat va e~p eUuco th~ ngay l~p tue gQidSn mQtnai 0 tren ban da ella khu Y\lexung quanh nai xay ra sg vi~e.BAngeach theo d5i cae phuong ti~n theo thai gian thge va su d\lng cae ehue nang tim duang ella h~ th6ng thong tin dia
ly, nguai ki~m soat co th~ nh~n ra phuong ti~n t6t nh~t d~ co m~t 0 nai xay ra
sg vi~e va chi ra duang di nhanh nh~t dSn nai do.
Hinh 11:Cae dieh V\lkh~ e~p 2.8.3 Sg 0 nhiSm tiSng an 0 san bay:
TiSng an ella may bay tlilisan bay lam anh huang dSn nhiing nguai s6ng 0 gAnsan bay H~ th6ng thong tin dia ly co th~ eho biSt cae mue dQella tiSng an ella may bay, nh,iin~kh~ vge bi anh huang boi tiSng an ella may bay d~ tir do tim each hlilnehe tieng on ella may bay 0 mue eho phep.
>!5QIIOOO
Hinh 12:Sgo nhiSm tiSng an 0 san bay
Trang 20Hinh 13:MQt vi d\l dan gian cua vi~c phan tich m~ng la chQn hai diem atrenm~ng va su d\lng h~ th6ng thong tin dia ly de tinh dUCmgdi ngfuI nhfit giiiachung.
DiSu khien xe:
Hinh 14:DiSu khien xe
Trang 21Chuang 2-TAng quan vB he th6ng thong tin dia IV
Hinh 15:Web Gis
H~ th6ng thong tin dia ly duQ'c (rng dl)ng tren di~n tho~i di dQng, nguai sudl)ng di~n tho~i di dQng co thS bi~t duQ'c duang di d~n khach s~n, r~p chi~uphim, tr~ xe bus, nha ga gAnnhdt,
Find Route•••
Hinh 16:Mobile Gis
Trang 22Chuang 2-T6ng guan vS he th6ng thong tin dia ly
2.9 KSt lu~n:
Trang 13
H~ th6ng thong tin dja ly dfl giup giai quySt cae bai toan ilng d\mg lien quandSn vj tri dja ly tren bS ffi~t trai d~t ffiQteach hi~u qua va ngay cling phat trien,holin thi~n, tra thanh S\Tl\Ta ch<;mcho S\Tthlinh cong cua ffiQinguai, ffiQi t6chile, qu6c gia
Trang 23Chuang 3-T6ng guan vS thuat to{mtao lucri tam giac Trang 14
CHUONG 3-TONG QUAN VE THU~T ToAN T~O LUm TAM GIAC
3.1 Mo til Thu~t toan chinh:
3.1.1 Dinh Nghia:
V cri mQt t~p hQ'P cac t9a dQ diSm bftt ky ban dfiu, ta xay d\ffig mQt lucri tamgiac th6a diSu ki~n clla Delone, ta g9i do la lucri tam giac Delone
3.1.2 DiSu Ki~n:
MQt Lucri tam giac th6a diSu ki~n clla Delone khi va chi khi:
+V cri m6i tam giac trong Lucri thi dUOng tron ngo~i tiSp clla tam giac dokhong chua bftt ky mQt diSm nao khac, ngo~i trir ba dinh clla tam giac dangxet
MQt C?P 2 tam giac kS nhau trong mQt Lucri tam giac th6a diSu ki~n DelonenSu 2 tam giac nay dSu th6a diSu ki~n clla Delone
DS dan giiin, thay vi phiii xet tUng tam giac trong Lucri theo dUOng tron ng9aitiSp Cllano xem co th6a diSu ki~n Delone hay khong ? Tu mQt tam giac ta xettUng C?P kS nhau cua chinh tam giac do vcri 3 tam giac Ian c~n(nSu co) XemC?P tam giac kS nhau do la mQt tu giac, va xet dQ dai 2 dUOng cheo cua tugiac do (hai tam giac kS nhau qua mQt c~nh thi c~nh do la mQt trong 2 dUOngcheo clla tu giac )
DU<mg Cheo I
Hinh 17:Tu giac dugc t~o thanh til tam giac 1& 2
Trang 24Chuong 3-TAng quan v@thuat to{mtao lum tam giac Trang 15
N@udUOng cheo la c~nh k@clla 2 tam giac (duOng cheo 1) co dQ dai nho hondUOng cheo con l~i (duOng cheo 2) thi C?P tam giac nay thoa di@u ki~nDelone.(hinh 17)
NguQ'c l~i khi mQt C?P tam giac khong thoa di@u ki~n clla luai tam giacDelone, ta co th~ xu 1;' b~ng cach d?t l~i dUOngcheo Clla C?Ptam giac do.3.1.3 Vi d\l:
Gia su ta co tam giac 1 va cac tam giac k@vai no la 2-3-4 Ta xet til giac doC?Ptam giac 1& 2 t~o thanh, ta nh~n thfiy hai tam giac nay khong thoa di@uki~n Delone (do dUOng cheo la c~nh n6i gifra hai tam giac 1& 2) co chi@udaiIan hon dUOng cheo con l~i clla ill giac dang xet) D~ cho C?P tam giac naythoa di@uki~n Delone, ta phai sua l~i dUOng cheo clla til giac sao cho no cochi@udai ng~n hon chi@udai Clla dUOng cheo hi~n t~i (3.1.3.1)
-Hinh 18:Hi~u chinh hai tam giac 1& 2 thoa di@uki~n Delone
3.1.4 Thu~t toan Delone:
Thu~t toan Delone duQ'c ti@nhanh qua 3 buac sau:
Buac 1 : Tim bao 16i
Buac 2 : T~o luac TIN ban d~u
Buac 3 : T~o luai TIN hoan chinh
Trang 25Chuang 3-Tang quan vS thuat tmln tao lucri tam giac Trang 16
: User :'Int~ce :Triangulation FrrstTnangulatlOnO: Tao tuOlTIN ban dau.
~ 2: ReadFile~iteName, m_arrPbint)
3: FindConvexAreaO
I I I
I I I
i" J: DisJ1IayOn Scre~
I
Hinh 19:Thu?t toan t~o lucri tam giac3.2 Cac cftu truc dfr li~u dugc su dVng:
3.2.1 Ma hinh topology:
NhUng khai ni~m da:dugc su dVng trong rna hinh tapa:
Start Node: Nut b~t d~u clla c~nh.
End Node: Nut kSt thuc Clla c~nh.
Right Edge: C~nh d~u tien g~p khi di chuySn ngugc chiSu kim d6ng h6 quanh
nut kSt thuc Clla c~nh hi~n t~i
Left Edge: C~nh d~u tien g~p khi di chuySn ngugc chiSu kim d6ng h6 quanh
nut b~t d~u clla c~nh hi~n t~i
Trang 26Chuang 3-T6ng quan vS thuat tmln tao lucri tam giac Trang 17
~ Ngu'<;1cchieu kim dong ho
Hinh 20:MQt sf, khai ni~m co bfm trong rna hinh tapa
Left Face: M~t a ben trai cua c(;lnhkhi di chuySn tir nut b~t dfiu dSn nut kStthuc
Right Face: M~t aben phai cua C(;lnhkhi di chuySn tir nut b~t dfiu dSn nut kStthuc
3.2.2 Xay d\ffig cac cAutruc:
+Ta cfin phai co mQt mang dS chua cac diSm ban dfiu
Khai bao: CArrayPointerLeveI2<MyPoint> m_ arrPoint
trong do x,y,z la tQa dQ cua diSm;
+MQt mang chua chi sf, cac diSm thuQc bao 16i:
Khai bao : CArrayPointerLevel1 <int> m arrConvex;
+MQt mang chua chi sf, cac diSm n~m trong bao 16i(la nhfrng diSm con l(;lingoai nhfrng diSm thuQc bao 16iatren):
Khai bao : CArrayPointerLevell <int> m_arrlnsideConvex;
+MQt mang chua cac Face(la nhfrng tam giac thuQc Lucri Tin)
Khai bao : CArrayPointerLeveI2<Face> m_ arrFace;
Trang 27Chuang 3-T6ng qUail vS thuat tmln tao lu6i tam giac Trang 18
V6i Face khai bao nhu sau:
+id:la chi sf>clla Face;
+m_arridEdge[] la mfmg chua chi sf>3 c~ t~o nen Face nay;
+MQt mfmg chua cac Edge(chua nhfmg c~nh trong Lu6i Tin)
Khai bao : CArrayPointerLeveI2<Edge> m_ arrEdge;
V 6i c~u truc Edge la dung mo hinh Topo tuy nhien LeftEdge va RightEdgechung ta khong dua vao:
~edef struct tagEdge
+StartNode la chi sf>diSm b~t dfiu;
+EndNode la chi sf>diSm kSt thuc;
+RightFace la chi sf>Face ben phai Clla c~nh nay nSu khong co Face kS bennay thi no mang gia tri la -1 ;
+LeftFace Ia chi sf>Face ben trai Clla c~nh nay nSu khong co Face kS ben naythi no mang gia tri la -1;
+MQt mang chua chi sf>cac diSm thuQc bao 16i:
Khai bao : CArrayPointerLevell <int> m_arrConvex;
+MQt mang chua chi sf>cac diSm n~m ben trong boi 16i:
Khai bao : CArrayPointerLevell<int> m_arrlnsideConvex;
+Bang Bam dS thu~n 19i cho tim kiSm:
Khai bao : CMatrix<int> m_HashTable;
+Nhfmg lOp xay d\ffig them:
- CArray PointerLevell <class T> : dS t~o mang con tro c~p mQt;
- CarrayPointerLevel2<class T> : dS t~o mang con tro c~p hai;
- CMatrix<class T>: dS t~o mQt rna tr~n, dugc sir d\mg lam bang Bam cho quatrinh tim kiSm
Trang 283.3 K@tlu~n:
Nhu da trinh bay atren thi chung ta th~y r~ng h~ th6ng thong tin dja ly r~t laquan tr<;mgtrong nhi~u lInh vgc, cho nen vi~c gifli quy@tt6i uu bai toan t~olucri tam giac ling d\mg d~ gifli cac bai toan trong h~ th6ng thong tin dja ly lah@t suc quan tn;mg 0 Chuang ti@ptheo sau day chung ta se trinh bay cacphuang phap t6i uu bai toan t~o lucri tam giac
Trang 29Chuong 4-Hien thuc thuat toan
CHUONG 4 - HI~N THlfC THU~T ToAN
4.1 Tim bao 16i:
4.1.1 Dinh nghla:
Trang 20
Bao l6i la mQt da giac rna diOOClla no bao g6m mQts6 di@mn~m trong mangdi@mban d~u, trong do da giac nay se bao quaOO t~t ca nhfrng di@mcon l~i(ngo~i trir OOfrngdi@mn~m tren da giac do)
4.1.2 Phuong phap tim bao l6i:
4.1.2.1 Vet c~n (ban d~u):
4.1.2.1.1 Phuong phap:
Taco:
In la t~p hgp n di@mban d~u
Out la t~p con clla In g6m m di@mt~o nen bao 16i
Ymin la di@mco gia tri y 006 nh~t va 6 ngoai cling phia ben trai
Kh6i t~o: In co n di@m;Out la t~p r6ng, m = O
Buac 1: xac diOO di@mYmin va them di@m Ymin vao Out: Out = Out +Ymin, m++
Buac 2: Tir di@mYmin tinh goc Anpha dSn t~t ca cac di@mPi con l~i (Pi khacYmin) va xac dinh di@mPi co goc Anpha nh6 OO~t,them Pi vao Out: Out =
Out + Pi, m++; vai Anpha la goc gifra dUOng th~ng (Ymin Pi) va trvc Ox, nSucac di@mPi co cling s6 do goc Anpha thi l~y di@mPi co khoang cach tir Pi dSnYmin 100 nh~t
Buac 3: GQi Pi, Pj l~n lugt la cac di@m6 cac vi trl m-l, m-2 Clla Out: Pi =
Out[m-l]; Pj =Out[m-2] Tir Pi, Pj tiOOgoc Beta dSn t~t ca cac di@mPk con l~i(Pk khac Pi, Pj; Pk thuQc In nhung khong thuQc Out) va xac diOOdi@mPk cogoc Beta nh6 nh~t, them Pk vao Out: Out = Out + Pk, m++; vai Beta la gocngoai clla tam giac Pj Pi Pk, nSu cac di@mPk co cling s6 do goc Beta thi l~ydi@mPk co khoang cach tir Pk dSn Pi 100 OO~t
Buac 4: Th\l'c hi~n l~ibuac 3 cho dSn khi Pk triIng vai di@md~u tien clla Outthi dirng: Pk = Out[O] -> dirng
KSt qua: cac di@mthuQc Out t~o ben bao l6i c~n tim
Trang 30Chuang 4-Hien thuc thuat toan
Phuang phap tioo khoeing cach tir diSm Start dSn diSm End:
D =sqrt( pow(End.x-Start.x, 2) +pow(End.y-Start.y, 2) );
Trang 21
Phuang phap tioo goc Anpha:
Goc Anpha co gia tri Cos( Anpha ) dmg IOn thi s6 do goc Anpha dmg nho vanguQ"cl:;ti.Do do, ta chi cgn tiOOgia tri Cos( Anpha):
Canh huySn H = sqrt( pow(K, 2) +pow(H, 2) );
Phuang phap tinh goc Beta:
TruOng hQ"PBeta la goc OO(;m:
Trang 31Chuong 4-Hien thuc thuat tmin
Hinh 22:Goc Beta nhQn
Ta co phuong trinh cac dUOngth~ng:
(PIP2): Alx + Bly + CI =0
(P2P3): A2x + B2y + C2 =0
(D) vuong goc v6'i (PIP2) : BIx - Aly + ill =0; v6'i P2 thuQc (D) ta tiOOduQ'c
ill.
GQi Phi la goc gifra hai dUOng th~ng (PIP2) va (P2P3), ta co:
Cos Phi = fabs(AI *A2 + BI *B2)/sqrt((pow(AI, 2)+pow(BI, 2)) *((pow(A2,2) +pow(B2, 2))));
TI =BI *Pl.x - Al *Pl.y +ill
T3 =BI *P3.x - Al *P3.y + ill
NSu TI *T3 < 0 thi P3, PI thuQc hai phia d6i v6'i (D), suy ra: goc Beta la gocnhQn, ta co:
Beta =Phi = acos( Cos Phi);
TruOng hQ'PBeta la goc til:
Trang 32Chuong 4-Hien thuc thuat toan
Hinh 23:Goc Beta tu
Ta co phuong trinh cac dUOng th~ng:
(PIP2): Alx + Bly + CI =0
(P2P3): A2x + B2y + C2 =0
(D) vuong goc v6i (PIP2) : Bix - Aly + m =0; v6i P2 thuQc (D) ta tinh duqcm
GQi Phi la goc giua hai dUOng th~ng (PIP2) va (P2P3), ta co:
Cos Phi =fabs(AI *A2 + Bl *B2)/sqrt((pow(AI, 2)+pow(Bl, 2)) *((pow(A2,2) + pow(B2, 2))));
Tl = Bl *Pl.x - Al *Pl.y + m
T3 =Bl *P3.x - Al *P3.y + m
NSu Tl *T3 >= 0 thi P3, PI thuQc cung mQt phia d6i v6i (D), suy ra: goc Beta
la goc tu, ta co:
Phi =acos( Cos Phi)
Beta =Pi - Phi
4.1.2.1.2 Vi d\l:
In g6m 25 diSm nhu hinh ve sau:
Trang 33Chuang 4-Hien thuc thuat tocln Trang 24
Hinh 24:Phuang phap tim baa 16i vet c~m(ban d~u)
Buac 1: Ymin = 15; Out = {IS}, m = 1
Trang 34Chuang 4-Hien thuc thuat tmln Trang 25
Buac 2: Pi= 20, Out = {15, 20}, m = 2 (Cae diSm 15,22,20 co cung s6 dogoc Anpha, diSm 20 co khoang each d8n diSm 15 Ian nhfit nen ch<;mdiSm 20.)
Hinh 26: Phuang phap tim bao I6i vet qm (ban dau)
Buac 3: Pi= Out[m-l] =20; Pj = Out[m-2] = 15; Pk = 24; Out = {15, 20, 24},
m = 3.(Cac diSm 23, 21, 24 co cung s6 do goc Beta, diSm 24 co khoang eachd8n diSm 20 Ian nhfit nen chQn diSm 24.)
Trang 35Chuong 4-Hien thuc thuat toan Trang 26
Trang 36Chuong 4-Hien thuc thuat toan Trang 27
Pi = Out[m-l] = 17; Pj = Out[m-2] = 24; Pk = 14; Out = {IS, 20, 24, 17, 14},m=5
Hinh 29: Phuong phap tim bao 16ivet c~n (ban dfiu)
Pi = Out[m-l] = 14; Pj = Out[m-2] = 17; Pk = 12; Out = {IS, 20, 24,17,14,12},m=6
Trang 38Chuong 4-Hien thuc thuat toan Trang 29
Hinh 31 : Phuong phap tim bao 16i vet c~m(ban d~u)
Pi = Out[m-l] = 13; Pj = Out[m-2] = 12; Pk = 16; Out = {IS, 20, 24,17,14,12,13, 16}, m =8
Trang 39Chuang 4-Hien thuc thuat tocin
Trang 40Chuong 4-Hien thuc thuat toan Trang 31
Hinh 33: Phuong phap tim bao 16i vet qm (ban d~u)
Pi= Out[m-l] = 11; Pj =Out[m-2] = 16; Pk= 15; Pk =Out[O]= 15 ->dirng