Sync from remote server: 2025-10-12 18:56:41
This commit is contained in:
56
ATD/CalcoloBiax_TuL.m
Executable file
56
ATD/CalcoloBiax_TuL.m
Executable file
@@ -0,0 +1,56 @@
|
||||
function [X_TuL,Y_TuL,Z_TuL,asseX_TuL,asseY_TuL,asseZ_TuL,Xstar_TuL,Ystar_TuL,...
|
||||
Zstar_TuL,asseXstar_TuL,asseYstar_TuL,asseZstar_TuL] = CalcoloBiax_TuL(SpeTuL,...
|
||||
ii,jj,ax,ay,az,asseX_TuL,asseY_TuL,asseZ_TuL,X_TuL,Y_TuL,Z_TuL,...
|
||||
asseXstar_TuL,asseYstar_TuL,asseZstar_TuL,Xstar_TuL,Ystar_TuL,Zstar_TuL,...
|
||||
Nnodi,PosIniEnd,indiceX,indiceZ,rTuL,FileName)
|
||||
|
||||
%% Calcolo Orario
|
||||
% Spostamento lungo l'asse X registrato dal nodo i; uso -1 per adattarlo al sistema di riferimento scelto
|
||||
Xi = SpeTuL(ii,1) * ay(ii,jj); % ay rappresenta il seno dell'angolo % giusto
|
||||
Zi = -1 * SpeTuL(ii,1) *(ax(ii,jj)); % ax rappresenta il seno dell'angolo di quell'asse rispetto all'orizzontale
|
||||
if jj==1
|
||||
Yi = -1 * Zi * az(ii,jj);
|
||||
else
|
||||
Yi = -1 * asseZ_TuL(ii,jj-1) * az(ii,jj);
|
||||
end
|
||||
|
||||
%% Calcolo antiorario (a partire dall'ultimo nodo!)
|
||||
XiStar = -1*SpeTuL(Nnodi+1-ii,1) * ay(Nnodi+1-ii,jj);
|
||||
% XiStar = SpeTuL(Nnodi+1-ii,1) * ay(Nnodi+1-ii,jj); % da canc
|
||||
ZiStar = SpeTuL(Nnodi+1-ii,1) * ax(Nnodi+1-ii,jj);
|
||||
% ZiStar = -1*SpeTuL(Nnodi+1-ii,1) * ax(Nnodi+1-ii,jj); % da canc
|
||||
if jj==1
|
||||
YiStar = ZiStar * az(Nnodi+1-ii,jj);
|
||||
else
|
||||
YiStar = asseZstar_TuL(ii,jj-1) * az(Nnodi+1-ii,jj);
|
||||
end
|
||||
|
||||
%% Correzione per nodi con segno sbagliato (montati male)
|
||||
[Xi,Zi,Yi,XiStar,ZiStar,YiStar] = corrTuL(indiceX,indiceZ,Xi,Zi,Yi,...
|
||||
XiStar,ZiStar,YiStar,ii,rTuL,FileName);
|
||||
|
||||
% Matrici singoli spostamenti
|
||||
asseX_TuL(ii,jj) = Xi;
|
||||
asseY_TuL(ii,jj) = Yi;
|
||||
asseZ_TuL(ii,jj) = Zi;
|
||||
asseXstar_TuL(ii,jj) = XiStar;
|
||||
asseYstar_TuL(ii,jj) = YiStar;
|
||||
asseZstar_TuL(ii,jj) = ZiStar;
|
||||
|
||||
if ii==1
|
||||
X_TuL(ii,jj) = asseX_TuL(ii,jj) + PosIniEnd(1,1);
|
||||
Y_TuL(ii,jj) = asseY_TuL(ii,jj) + PosIniEnd(1,2);
|
||||
Z_TuL(ii,jj) = asseZ_TuL(ii,jj) + PosIniEnd(1,3);
|
||||
Xstar_TuL(ii,jj) = PosIniEnd(2,1) + asseXstar_TuL(ii,jj);
|
||||
Ystar_TuL(ii,jj) = PosIniEnd(2,2) + asseYstar_TuL(ii,jj);
|
||||
Zstar_TuL(ii,jj) = PosIniEnd(2,3) + asseZstar_TuL(ii,jj);
|
||||
else
|
||||
X_TuL(ii,jj) = X_TuL(ii-1,jj) + asseX_TuL(ii,jj); % Matrici cumulate
|
||||
Y_TuL(ii,jj) = Y_TuL(ii-1,jj) + asseY_TuL(ii,jj);
|
||||
Z_TuL(ii,jj) = Z_TuL(ii-1,jj) + asseZ_TuL(ii,jj);
|
||||
Xstar_TuL(ii,jj) = Xstar_TuL(ii-1,jj) + asseXstar_TuL(ii,jj); % Matrici cumulate antiorarie
|
||||
Ystar_TuL(ii,jj) = Ystar_TuL(ii-1,jj) + asseYstar_TuL(ii,jj);
|
||||
Zstar_TuL(ii,jj) = Zstar_TuL(ii-1,jj) + asseZstar_TuL(ii,jj);
|
||||
end
|
||||
|
||||
end
|
||||
Reference in New Issue
Block a user