В классе ИИ у нас есть робот, у которого есть рука с 7 суставами. Каждый сустав может вращаться в другом направлении. Мне нужно знать, где будет самый конец. Я пытался сделать 3D матричное умножение, и оно работает для одного соединения, но как только я добавляю в другое, оно не совпадает с моделью, которую я сделал, используя API Java3D. Вот так я пытаюсь вычислить положение второго сустава.
double[][] b = {{0, 0, 0, 1}};
// Joint 1
b = HercMatrix.MatMul(b, HercMatrix.getTranslation(0, 0, -110));
b = HercMatrix.MatMul(b, HercMatrix.getRotation(0, arm.getJointAngle(0), 0));
// Joint 2
b = HercMatrix.MatMul(b, HercMatrix.getTranslation(0, 0, -250));
b = HercMatrix.MatMul(b, HercMatrix.getRotation(arm.getJointAngle(1), 0, 0));
System.out.println("Matrix: " + b[0][0] + ", " + b[0][1] + ", " + b[0][2]);
Я предполагаю, что они применяют умножения. Я точно знаю, что это не мой код создания матемулы или матрицы, я все это проверял по отдельности.
второй перевод, который у меня есть, должен быть на относительной оси х угла первого сустава. Но я понятия не имею, так ли я это делаю ...
Любая помощь или идеи с благодарностью.