Einzelnen Beitrag anzeigen

Bjoerk

Registriert seit: 28. Feb 2011
Ort: Mannheim
1.384 Beiträge
 
Delphi 10.4 Sydney
 
#1

Matrix 90 Grad um Z-Achse drehen

  Alt 14. Jan 2016, 12:45
Ich hab eine Matrix, die sieht so aus. Diese Matrix ist bezüglich dieses KOO definiert.
Code:
 Z
 |     Y
 |   .
 | .
-|------ X
Delphi-Quellcode:
function TZzBeamTools.BeamSmLc(const E, G, Iy, It, x1, y1, x2, y2: double): TZzFloatMat1212;
var
  I, J: integer;
  S, SS, SSS, EIy, GIt : double;
begin
  GIt := G * It;
  EIy := E * Iy;

  S := Sqrt(Sqr(x2 - x1) + Sqr(y2 - y1)); // z1 = z2 = 0;
  SS := S * S;
  SSS := SS * S;

  for I := 1 to 12 do
    for J := 1 to 12 do
      Result[I, J] := 0;

  // Result[I, J] = Schnittkraft Si infolge Vj;
  // Si: Q = Querkraft, M = Moment;
  // Vj: V = Verschiebung, Phi = Verdrehung;

  Result[3, 3] := 12 * EIy / SSS; // S3(= Q.Z.L) infolge V3(= V.Z.L) = 1;
  Result[3, 5] := -6 * EIy / SS; // S3(= Q.Z.L) infolge V5(= Phi.Y.L) = 1;
  Result[3, 9] := -12 * EIy / SSS; // S3(= Q.Z.L) infolge V9(= V.Z.R) = 1;
  Result[3, 11] := -6 * EIy / SS; // S3(= Q.Z.L) infolge V11(= Phi.Y.R) = 1;

  Result[4, 4] := GIt / S; // S4(= M.X.L) infolge V4(= Phi.X.L) = 1;
  Result[4, 10] := -GIt / S; // S4(= M.X.L) infolge V10(= Phi.X.R) = 1;

  Result[5, 5] := 4 * EIy / S; // S5(= M.Y.L) infolge V5(= Phi.Y.L) = 1;
  Result[5, 9] := 6 * EIy / SS; // S5(= M.Y.L) infolge V9(= V.Z.R) = 1;
  Result[5, 11] := 2 * EIy / S; // S5(= M.Y.L) infolge V11(= Phi.Y.R) = 1;

  Result[9, 9] := 12 * EIy / SSS; // S9(= Q.Z.R) infolge V9(= V.Z.R) = 1;
  Result[9, 11] := 6 * EIy / SS; // S9(= Q.Z.R) infolge V11(= Phi.Y.R) = 1;

  Result[10, 10] := GIt / S; // S10(= M.X.R) infolge V10(= Phi.X.R) = 1;

  Result[11, 11] := 4 * EIy / S; // S11(= M.Y.R) infolge V11(= Phi.Y.R) = 1;

  for I := 1 to 11 do
    for J := I + 1 to 12 do
      Result[J, I] := Result[I, J]; // Symmetrisch ergänzen;
end;
Damit ich diese Matrix weiterverarbeiten kann, brauche ich sie bezüglich dieses KOO-Systems.
Code:
       Z
       |     X
       |   .
       | .
Y -----|-
Nun wollte ich die Matrix 90 Grad um die Z-Achse drehen. Weiß jemand wie das geht?
  Mit Zitat antworten Zitat