Input: multimedia sensor node , interested target set , sensing radius , FoV vertex angel , sensing direction |

Output: , TSET as covered goal set after node self-direction opitimization |

Define RotateDirection;* *//* *rotated direction of node, value as CLOCKWISE or ANTICLOCKWISE |

Define RotateAngle; // rotated angel of node |

Const *N*; //number of interested target |

Let ; // for angel between node sensing direction to all targets in target set |

Let ; // two-dimensional array, for difference among elements in some limit or not. |

Let ; |

FOR each |

* *Calculate ; // angel between sensing direction to interested target |

* * |

END |

; |

Sorting TSC from minimal to maximal; |

Calculate the difference absolute value between every two elements in . If the difference |

absolute value less than or equal to , then set corresponding element as 1; |

All elements, which numerical of every line is 1 in top triangle of Matrix , constitute the set |

with absolute value less than or equal to ; |

Chose the line with maximal numerical equal to 1 in top triangle of Matrix and put |

corresponding nodes into set ; |

Form subset corresponding to set based on the covered target set ; |

Calculate the mean of maximum and minimum in and recorded as |

IF THEN |

* *RotateDirection = anticlockwise; |

* *RotateAngle = ; |

END |

IF THEN |

* *RotateDirection = clockwise; |

* *RotateAngle = ; |

END |

ROTATE(, RotateDirection, RotateAngle); |

; |

RETURN |