maar ik heb nu dit onderstaande, voor het verschuiven...
en als ik als orgineel 100,100,100 mee geef... en ik doe een z move van 0.1
krijg ik 100,100,100.1 terug...
dus volgens mij gaat het wel goed.... moet er ook gewoon weer ff inkomen... :-)
ik doe ook alles met te veel tussen pauzes.... heb ik trouwens met alles hoor...
Ik maak tegenwoordig ook word documenten voor mezelf....
want ik had iedere keer dat ik alles half half vergeten was.... dus documentje over PCB-frezen... of over een foto laseren... enz enz
want dan had ik het aardig voor elkaar..... maar als ik het dan weken later nog eens wilde doen, was ik alles weer kwijt natuurlijk.... :-)
Als ik er dan weer even mee bezig ben komt het wel weer terug, maar ja tis gewoon zonde van je tijd om het allemaal weer opnieuw uit te vinden....
ik verbaas me toch wel eens wat je toch allemaal kan onthouden.... pas bij een heel oud PLC verhaal van mezelf geweest, een pakket wat ik denk in 20 jaar niet gebruikt heb.... en terwijl je er mee bezig ben, komt het toch allemaal weer snel terug....
Code: Selecteer alles
void matrixTrans(int X, int Y , int Z , float MoveX , float MoveY, float MoveZ) {
// Vectoren/punten hebben 4 elementen ipv 3: [X Y Z 1]
// Origineel[3] := 1.0;
float Origineel[4] ;
float Getransformeerd[4];
float Matrix[4][4];
// 1 0 0 0
// 0 1 0 0
// 0 0 1 0
// Tx Ty Tz 1
Matrix[0][0] = 1.0;
Matrix[0][1] = 0.0;
Matrix[0][2] = 0.0;
Matrix[0][3] = 0.0;
Matrix[1][0] = 0.0;
Matrix[1][1] = 1.0;
Matrix[1][2] = 0.0;
Matrix[1][3] = 0.0;
Matrix[2][0] = 0.0;
Matrix[2][1] = 0.0;
Matrix[2][2] = 1.0;
Matrix[2][3] = 0.0;
Matrix[3][0] = MoveX;
Matrix[3][1] = MoveY;
Matrix[3][2] = MoveZ;
Matrix[3][3] = 1.0;
Origineel[0] = X;
Origineel[1] = Y;
Origineel[2] = Z;
Origineel[3] = 1.0;
for (int i = 0; i <= 3; i++)
{
Getransformeerd[i] = (Origineel[0] * Matrix[0][i]) + (Origineel[1] * Matrix[1][i]) + (Origineel[2] * Matrix[2][i]) + (Origineel[3] * Matrix[3][i]);
}
Getransformeerd[0] = Getransformeerd[0] / Getransformeerd[3];
Getransformeerd[1] = Getransformeerd[1] / Getransformeerd[3];
Getransformeerd[2] = Getransformeerd[2] / Getransformeerd[3];
SerialUSB.print(Getransformeerd[0] );
SerialUSB.print(" - ");
SerialUSB.print(Getransformeerd[1] );
SerialUSB.print(" - ");
SerialUSB.println(Getransformeerd[2] );
};