45 lines
2.1 KiB
Matlab
Executable File
45 lines
2.1 KiB
Matlab
Executable File
function [Y_PCLHR,Z_PCLHR,asseY_PCLHR,asseZ_PCLHR,AlfaX_PCLHR,AlfaY_PCLHR] = ...
|
|
CalcoloBiax_PCLHR(SpePCLHR,ii,jj,ax,ay,asseY_PCLHR,asseZ_PCLHR,asseY_Rif_PCLHR,...
|
|
asseZ_Rif_PCLHR,Y_PCLHR,Z_PCLHR,AlfaX_PCLHR,AlfaY_PCLHR,elab_option,rPCLHR)
|
|
|
|
if elab_option == 1 % Punto fisso a fondo foro
|
|
% calcolo il coseno dell'angolo di inclinazione
|
|
Yi = -1*SpePCLHR(ii)*cos(ax(ii,jj)); % -1 per adattare il segno di CosBeta. le progressive sono da fare a ritroso
|
|
% Spostamento lungo l'asse Z registrato dal nodo i
|
|
Zi = -1*SpePCLHR(ii)*sin(ax(ii,jj)); % -1 per adattare il segno
|
|
% Rollio
|
|
AlfaX_PCLHR(ii,jj) = ay(ii,jj)./0.01745329251994329576923690768489; % Ritorno in gradi
|
|
% Inclinazione
|
|
AlfaY_PCLHR(ii,jj) = ax(ii,jj)./0.01745329251994329576923690768489;
|
|
% Matrici singoli spostamenti
|
|
asseY_PCLHR(ii,jj) = -asseY_Rif_PCLHR(ii,1)+Yi;
|
|
asseZ_PCLHR(ii,jj) = -asseZ_Rif_PCLHR(ii,1)+Zi;
|
|
if ii==1
|
|
Y_PCLHR (ii,jj) = Yi;
|
|
Z_PCLHR (ii,jj) = asseZ_PCLHR(ii,jj);
|
|
else
|
|
Y_PCLHR(ii,jj) = Y_PCLHR(ii-1,jj) + Yi;
|
|
Z_PCLHR(ii,jj) = Z_PCLHR(ii-1,jj) + asseZ_PCLHR(ii,jj);
|
|
end
|
|
elseif elab_option == -1 % Punto fisso nella sezione
|
|
Yi = SpePCLHR(rPCLHR-ii+1)*cos(ax(ii,jj)); % -1 per adattare il segno di CosBeta. le progressive sono da fare a ritroso
|
|
% Spostamento lungo l'asse Z registrato dal nodo i
|
|
Zi = SpePCLHR(rPCLHR-ii+1)*sin(ax(ii,jj));
|
|
% Rollio
|
|
AlfaX_PCLHR(ii,jj) = ay(ii,jj)./0.01745329251994329576923690768489; % Ritorno in gradi
|
|
% Inclinazione
|
|
AlfaY_PCLHR(ii,jj) = ax(ii,jj)./0.01745329251994329576923690768489;
|
|
% Matrici singoli spostamenti
|
|
asseY_PCLHR(rPCLHR-ii+1,jj) = asseY_Rif_PCLHR(rPCLHR-ii+1,1)+Yi;
|
|
asseZ_PCLHR(rPCLHR-ii+1,jj) = asseZ_Rif_PCLHR(ii,1)+Zi;
|
|
if ii==1
|
|
Y_PCLHR (rPCLHR-ii+1,jj) = Yi;
|
|
Z_PCLHR (rPCLHR-ii+1,jj) = asseZ_PCLHR(rPCLHR-ii+1,jj);
|
|
else
|
|
Y_PCLHR(rPCLHR-ii+1,jj) = Y_PCLHR(rPCLHR-ii+2,jj) + Yi;
|
|
Z_PCLHR(rPCLHR-ii+1,jj) = Z_PCLHR(rPCLHR-ii+2,jj) + asseZ_PCLHR(rPCLHR-ii+1,jj);
|
|
end
|
|
end
|
|
|
|
end
|