function [Ref,Rcm,centromassa,junta]=Parte_inferior(n_elos,cmassa,mi,Pe,O,manipulador,Oi);             %

        Ref(:,:,1)=eye(4,4);                                    %matriz identidade 4*4 (especie de referencial para cada elo)
        junta(:,1)=[0;0;0;1];                                   %primeira junta
        centromassa(1:4,1:n_elos)=0;                            %centros de massa locais
        Rcm(1:3,1)=0;                                           %centro de massa global
        for i=1:n_elos;                                         %determino DH para todos os elos (i->numero do elo)
		    manipulador(i,1)=Oi(i);                             %actualiza-se o manipulador
	        theta=manipulador(i,1);                             %   "
	        alfa=manipulador(i,2);                              %   "
	        l=manipulador(i,3);                                 %   "
	        d=manipulador(i,4);                                 %   "
	        DH(1,1,i)=cos(theta);                               %   "
        	DH(1,2,i)=-sin(theta)*cos(alfa);                    %   "
        	DH(1,3,i)=sin(theta)*sin(alfa);                     %   "
        	DH(1,4,i)=l*cos(theta);                             %   "
        	DH(2,1,i)=sin(theta);                               %   "
        	DH(2,2,i)=cos(theta)*cos(alfa);                     %   "
        	DH(2,3,i)=-cos(theta)*sin(alfa);                    %   "
        	DH(2,4,i)=l*sin(theta);                             %   "
        	DH(3,1,i)=0;                                        %   "
        	DH(3,2,i)=sin(alfa);                                %   "
        	DH(3,3,i)=cos(alfa);                                %   "
        	DH(3,4,i)=d;                                        %   "
        	DH(4,1,i)=0;                                        %   "
        	DH(4,2,i)=0;                                        %   "
        	DH(4,3,i)=0;                                        %   "
        	DH(4,4,i)=1;                                        %   "
            Ref(:,:,i+1)=Ref(:,:,i)*DH(:,:,i);                  %   "
			junta(:,i+1)=Ref(:,:,i+1)*junta(:,1);               %determino nova junta (acrescento-a a matriz junta)            
            centromassa(:,i)=Ref(:,:,i+1)*cmassa(:,i);          %centros de massas locais
            Rcm=Rcm+centromassa(1:3,i)*mi(i);                   %centro de massa global
        end;                                                    %
        Rcm=Rcm/(sum(mi));                                      %correcçao do centro de massa
        PeA=O*Pe;                                               %origem do pe de apoio
        fill3(PeA(1,:),PeA(2,:),PeA(3,:),'y');                  %desenha PE de apoio
        PeS=Ref(:,:,i+1)*Pe;                                    %PE solto (nova posicao)
        PeS=O*PeS;                                              %pe solto (tendo em consideraçao a nova origem
        fill3(PeS(1,:),PeS(2,:),PeS(3,:),'y');                  %desenha PE solto
        j_aux=O*junta;                                          %junta auxiliar (para desenho)
        plot3(j_aux(1,:),j_aux(2,:),j_aux(3,:));                %desenho os elos
        plot3(j_aux(1,2:n_elos),j_aux(2,2:n_elos),j_aux(3,2:n_elos),'bo');  %desenha juntas
        cm_aux=O*centromassa;                                   %centros de massa auxiliares (para desenho)
        plot3(cm_aux(1,1:n_elos),cm_aux(2,1:n_elos),cm_aux(3,1:n_elos),'rx'); %desenha centros de massa (locais)
