function  [Ref,centromassa]=DH_Cima(manip_C,Angulos,n_inc,inc,cmassa,Ref,centromassa);
n_elos=size(manip_C,1);                                                 % numero de elos deste "manipulador"
inicio=18;                                                              % posiçao "deste manipulador" (pernas) no "manipulador global" (robot)
manip_C(:,1)=manip_C(:,1)+Angulos(inicio:n_elos+inicio-1,1)+(Angulos(inicio:n_elos+inicio-1,2)-Angulos(inicio:n_elos+inicio-1,1))*inc/(n_inc+1);
centromassa_C(1:4,1:n_elos)=0;                                          % centros de massa locais
                                                                        %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% CALCULO DE TODO O MANIPULADOR
Ref_C(:,:,1)=Ref(:,:,8);                                                % o referencial inicial ´e o ponto medio da anca
for i=1:n_elos;                                                         % determino DH para todos os elos (i->numero do elo)
	        theta=manip_C(i,1);                                         %   "
	        alfa=manip_C(i,2);                                          %   "
	        l=manip_C(i,3);                                             %   "
	        d=manip_C(i,4);                                             %   "
	        DH_C(1,1,i)=cos(theta);                                     %   "
        	DH_C(1,2,i)=-sin(theta)*cos(alfa);                          %   "
        	DH_C(1,3,i)=sin(theta)*sin(alfa);                           %   "
        	DH_C(1,4,i)=l*cos(theta);                                   %   "
        	DH_C(2,1,i)=sin(theta);                                     %   "
        	DH_C(2,2,i)=cos(theta)*cos(alfa);                           %   "
        	DH_C(2,3,i)=-cos(theta)*sin(alfa);                          %   "
        	DH_C(2,4,i)=l*sin(theta);                                   %   "
        	DH_C(3,1,i)=0;                                              %   "
        	DH_C(3,2,i)=sin(alfa);                                      %   "
        	DH_C(3,3,i)=cos(alfa);                                      %   "
        	DH_C(3,4,i)=d;                                              %   "
        	DH_C(4,1,i)=0;                                              %   "
        	DH_C(4,2,i)=0;                                              %   "
        	DH_C(4,3,i)=0;                                              %   "
        	DH_C(4,4,i)=1;                                              %   "
            Ref_C(:,:,i+1)=Ref_C(:,:,i)*DH_C(:,:,i);                    % Obtenho o referencial seguinte
            centromassa_C(:,i)=Ref_C(:,:,i+1)*cmassa(:,i+inicio-1);     % centros de massas locais
end;                                                                    %   
                                                                        %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% DESENHO DE MANIPULADOR 
        Camara=Ref_C(:,:,n_elos+1)*[0 0 0;0 -30 0;-10 0 10;1 1 1];      % Camara (configuraçao)
        fill3(Camara(1,:),Camara(2,:),Camara(3,:),'y');                 % desenha Camara
        aux(:,:)=Ref_C(:,4,:);                                          % auxiliar para desenho
        plot3(aux(1,:),aux(2,:),aux(3,:));                              % desenho os elos
        plot3(aux(1,2:n_elos),aux(2,2:n_elos),aux(3,2:n_elos),'bo');    % desenha juntas
        plot3(centromassa_C(1,1:n_elos),centromassa_C(2,1:n_elos),centromassa_C(3,1:n_elos),'rx'); %desenha centros de massa (locais)
                                                                        %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% VALORES DE SAIDA                                                                           
Ref(:,:,inicio:inicio-1+n_elos)=Ref_C(:,:,2:n_elos+1);                  % Referenciais
centromassa(:,inicio:inicio-1+n_elos)=centromassa_C(:,1:n_elos);        % Centros de massa