我正在尝试使用 android 的“Matrix”类中存在的静态方法 multiplyMV 与向量进行基本的矩阵乘法。以下是一小段代码:
// packaged included
import java.lang.Object;
import android.opengl.Matrix;
public class Example extends Thread
{
float[] R = new float[] {1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,0};
float[] inVector = new float[] {1,0,0,0};
public void run()
{
inVector[4] = 2; // edited here // Line 09
Matrix.multiplyMV(inVector , 0, R, 0, inVector , 0); // Line 10
}
}
我不确定自己在做什么错误,但是这段代码会导致未捕获的异常。我试图查看代码中的什么时候出现此异常。如果我在第 10 行设置一个断点,则执行将在前一行停止,如果我随后给出一个 step-into 命令,我再次以异常结束。所以该方法的使用导致了这个异常,但我不知道为什么。我错过了一些包裹吗?我什至无法捕捉到这个异常并打印堆栈跟踪以查看发生了什么。任何帮助深表感谢!
代码的上下文是它必须执行向量从一个坐标系到另一个坐标系的转换。
编辑:发现异常:第 09 行的 IndexOutOfBounds