Llamar una matriz desde otra clase
Publicado por Javier (3 intervenciones) el 14/05/2013 16:01:07
Hola amigos. Soy nuevo en el tema de Java, y llevo días tratando de resolver un problema.
He creado una clase que llena una matriz, de la forma (omito las importaciones ):
luego he creado otra clase, de la siguiente forma (solo muestro una parte de la programacion):
Lo que quiero hacer es que, cuando llame a DH.setDenavit_Hartenberg((L[0][0]),(L[0][1]),(L[0][2]),(L[0][3])), los datos de la matriz A, correspondientes al método de la clase Denavit_Hartenberg, se traspasen por ejemplo, en la matriz A12 de la clase CinematicaDirecta.
Alguien sabe como puedo hacer eso?
Agradezco desde ya su respuesta.
He creado una clase que llena una matriz, de la forma (omito las importaciones ):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public float[][] setDenavit_Hartenberg(float theta, float d, float a, float alpha){
DecimalFormat cuatroDigitos=new DecimalFormat("0.0000");
A[0][0]=(float) Math.cos(theta);
A[0][1]=(float) (-Math.cos(alpha)*Math.sin(theta));
A[0][2]=(float) (Math.sin(alpha)*Math.sin(theta));
A[0][3]=(float) (a*(Math.cos(theta)));
A[1][0]=(float) (Math.sin(theta));
A[1][1]=(float) (Math.cos(alpha)*Math.cos(theta));
A[1][2]=(float) (-Math.sin(alpha)*Math.cos(theta));
A[1][3]=(float) (a*(Math.sin(theta)));
A[2][0]=(float) 0;
A[2][1]=(float)(Math.sin(alpha));
A[2][2]=(float)(Math.cos(alpha));
A[2][3]=(float) d;
A[3][0]=(float) 0;
A[3][1]=(float) 0;
A[3][2]=(float) 0;
A[3][3]=(float) 0;
}
luego he creado otra clase, de la siguiente forma (solo muestro una parte de la programacion):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
public class CinematicaDirecta extends Denavit_Hartenberg {
public CinematicaDirecta(){}
public void setCinematicaDirecta(float Q1,float Q2,float Q3,float Q4,float Q5){
Denavit_Hartenberg DH=new Denavit_Hartenberg();
float[][] L={{75,275,0,90},//Q1,275,0,90
{Q2,0,200,0},
{Q3,0,130,0},
{Q4+90,0,0,90},
{Q5,130,0,0}};
//String salida = null;
DH.setDenavit_Hartenberg((L[0][0]),(L[0][1]),(L[0][2]),(L[0][3]));
float[][] A12=new float[4][4];
float[] A23=new float [4];
float[] A34=new float [4];
float[] A45=new float [4];
}
}
Lo que quiero hacer es que, cuando llame a DH.setDenavit_Hartenberg((L[0][0]),(L[0][1]),(L[0][2]),(L[0][3])), los datos de la matriz A, correspondientes al método de la clase Denavit_Hartenberg, se traspasen por ejemplo, en la matriz A12 de la clase CinematicaDirecta.
Alguien sabe como puedo hacer eso?
Agradezco desde ya su respuesta.
Valora esta pregunta


0