java 三维矩阵

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 三维矩阵相关的知识,希望对你有一定的参考价值。

在Java里定义了一组三维矩阵ctrlpoints[4][4][3],而有一个引用的方法中只接受一维数组 在C++中可以改成&ctrlpoints[0][0][0]让其接受,请教在Java中如何改?

参考技术A  
 
 
C/C++ 的多维数组其实就是用一维数组实现的,而且不管维数多大,所有数组都可以用指向数组第一个元素的指针进行传递,即 C/C++ 的指针机制允许我们把不同维数的数组当作同一类型的数据。

Java 中最接近的机制是对象数组(Object[])。你把该方法的参数类型改成 Object[] 后,该方法即能接受 ctrlpoints[4][4][3](当然不管 ctrlpoints 的类型是什么)。但必须一提的是,如果要传入的数组的类型是原始(primitive)类型,该数组的维数必须大于一,因为任何一维的原始类型数组都不能被转型为 Object[] 。
 
 
 
参考技术B public class RandomTest
public static void main(String[] args)
int tt1[] = 1,2,3;
int tt2[] = 4,5,6;
int tt3[] = 7,8,9;
int ttt1[][] = tt1,tt2,tt3;
int ttt2[][] = tt3,tt1,tt2;
int ttt3[][] = tt2,tt3,tt1;
int ttt4[][] = tt1,tt3,tt2;
int ctrlpoints[][][] = ttt1,ttt2,ttt3,ttt4;
display(ctrlpoints[2][2]); //这里是传的一维数组过去了
System.out.println(ctrlpoints[1][2][2]); //看一下这个数是多少

public static void display(int[] arr)
for(int i=0;i<arr.length;i++)
System.out.println(arr[i]);



本回答被提问者采纳
参考技术C ctrlpoints[0][0][0] = ...//你的值
这样就直接可能操作了
参考技术D ctrlpoints[][][] 第5个回答  2008-11-30 jnnkgfkj!

参考资料:资料

以上是关于java 三维矩阵的主要内容,如果未能解决你的问题,请参考以下文章

matlab怎么用三维矩阵画三维图

旋转矩阵的三维空间

matlab 如何把三维矩阵拼接

matlab矩阵的三维可视化问题

将长二维矩阵拆分为第三维

三维坐标旋转矩阵