Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
brlcad / usr / brlcad / share / doc / matrix.txt
Size: Mime:
SGI style: rowvec * matrix		GED style: matrix * colvec

[0][0]	[0][1]	[0][2]	[0][3]		0	1	2	3
[1][0]	[1][1]	[1][2]	[1][3]		4	5	6	7
[2][0]	[2][1]	[2][2]	[2][3]		8	9	10	11
[3][0]	[3][1]	[3][2]	[3][3]		12	13	14	15

r1	r2	r3	.		r1	r4	r7	tx
r4	r5	r6	.		r2	r5	r8	ty
r7	r8	r9	.		r3	r6	r9	tz
tx	ty	tz	1/s		.	.	.	1/s

Rot +X					Rot +X
1	0	0			1	0	0
0	cos	sin			0	cos	-sin
0	-sin	cos			0	sin	cos

Rot +Y					Rot +Y
cos	0	-sin			cos	0	sin
0	1	0			0	1	0
sin	0	cos			-sin	0	cos

Rot +Z					Rot +Z
cos	sin	0			cos	-sin	0
-sin	cos	0			sin	cos	0
0	0	1			0	0	1


For Negative rotations, the signs of the sine terms change.
The LIBRT mat_ae( m, az, el ) azimuth, elevation routine does
a +Z (az) followed by a -Y (-el) rotation.  This results in
a GED matrix of:

	cosAcosE	-sinA		-cosAsinE
	sinAcosE	cosA		-sinAsinE
	sinE		0		cosE

------------------------
SGI:
multmatrix inserts here
		    |
		   \|/
	rowvec * Newmatix * matrix  [World_Coords]

i.e. it premultiplies the matrix stack.
rot(); trans();  looks like:

	rowvec * Trans * Rot  [World_Coords]

-----------------------