Research Article
Visibility Detection of 3D Objects and Visual K-Nearest Neighbor Query Based on Convex Hull Model
| Input: query point q, candidate set Obj, obstacle set ObsSet; | | Output: True/False; | (1) | BEGIN | (2) | for each obs in ObsSet do | (3) | pToObs←Add(q); | (4) | Concave←BuildConcave (pToObs); | (5) | Ridge←GetRidge(Concave); | (6) | Fac←GetFac(Concave); | (7) | for each ridge in Ridge do | (8) | for each fac in Fac do | (9) | if (ridge.id ! = fac.id) then | (10) | num←IntSegTri (ridge, fac); | (11) | end if | (12) | end for | (13) | end for | (14) | if num.Contains(1) then | (15) | Lis_Obs.Add(ObsSet [ridge.id]); | (16) | end if | (17) | end for | (18) | mulObs←MulJud (q, Obs, Lis_Obs); | (19) | TorF←OneJudVisible(q, Obj, mulObs); | (20) | if TorF = = false | (21) | Return True; | (22) | else | (23) | Return False; | (24) | end if | (25) | END |
|