The answer is way different since it's pretty customized to my problem ( Field Of View).
def updatevalues(self,array,elementsCount): 
    counter =0
    R1 =Agent.GetCenterCoords(array.shape)[0]
    C1 = array.shape[1]-1
    coords = {'R1':R1,'R2':R1,'C1':C1,'C2':C1,'Phase':1}
    array[coords['R1'],coords['C1']] = True
    while counter<elementsCount:
        counter +=2
        self.Phases[coords['Phase']](array,coords)
def Phase1(self,array,coords):
    '''
    Phase 1.
    During this phase we start from the max column(C1,C2) and middle Row (R1,R2) 
    and start moving up and down till  
    minimum row (R1 ) , max Row (R2) then we move to phase 2
    '''
    coords['R1'] -=1
    coords['R2'] +=1
    array[coords['R1'],coords['C1']] = True
    array[coords['R2'],coords['C2']] = True
    if coords['R1']==0 or coords['R2'] == array.shape[0]-1:
        coords['Phase']=2
def Phase2(self,array,coords):
    '''
    Phase 2.
    During this phase we start from the max column (C1,C2) and Min,Max Rows (R1,R2) 
    and start changing (C1,C2 to minimum) till
    C1,C2 ==0 then we move to phase 3
    '''
    coords['C1'] -=1
    coords['C2'] -=1
    array[coords['R1'],coords['C1']] = True
    array[coords['R2'],coords['C2']] = True
    if coords['C1']==0 or coords['C2'] ==0:
        coords['Phase']=3
def Phase3(self,array,coords):
    '''
    Phase 3.
    During this phase we start from the minimum columns (C1,C2) and Min,Max Rows (R1,R2) 
    and start changing (R1,R2) toward center till R1==R2 then we break (all border got covered)
    '''
    coords['R1'] +=1
    coords['R2'] -=1
    array[coords['R1'],coords['C1']] = True
    array[coords['R2'],coords['C2']] = True
    if coords['R1']==coords['R2']:
        coords['Phase']=4
@staticmethod
def GetCenterCoords(shape):
    return (shape[0]-1)/2 , (shape[1]-1)/2
the solution depends on how many values we want to change on the border starting from the max row, middle column to the right then start moving in two directions simultaneously. 
Sorry for the complex solution but as I told you @Ophir it's pretty customized solution for my problem. (when I put the question I used a very general forum to simplify it.)
hope this help others one day.