Research Article

Visibility Detection of 3D Objects and Visual K-Nearest Neighbor Query Based on Convex Hull Model

Algorithm 5

kNN algorithm.
Input: query point q, date set O, value k;
Output: result set Visual;
(1) BEGIN
(2) ddl←Sort(O, q);
(3) for each Obj in ddl do
(4)  qToObj←Add(q);
(5)  for each Obs in ddl do
(6)   if Obs.address < Obj.address then
(7)    TorF←GJK(qToObj, Obs);
(8)   end if
(9)   if (TorF = = true) then
(10)    ObsSet.Add(Obs);
(11)   end if
(12)   if ObsSet.Count = = 0 then
(13)    Visiual.Add(qToObj);
(14)   else
(15)    if(Occlusion(q, Obj, ObsSet)) then
(16)     Visiual.Add(Obj);
(17)    end if
(18)   end if
(19)  end for
(20) end for
(21) Return Visiual;
(22)END