main/src/georegression/transform/se/SePointOps_F64.java
public static Point3D_F64 transform(Se3_F64 se, Point4D_F64 origPt, Point3D_F64 tranPt ) {
		if( tranPt == null )
			tranPt = new Point3D_F64();

		DMatrixRMaj R = se.getR();
		Vector3D_F64 T = se.getT();

		double P11 = R.data[0], P12 = R.data[1], P13 = R.data[2], P14 = T.x;
		double P21 = R.data[3], P22 = R.data[4], P23 = R.data[5], P24 = T.y;
		double P31 = R.data[6], P32 = R.data[7], P33 = R.data[8], P34 = T.z;

		tranPt.x = P11*origPt.x + P12*origPt.y + P13*origPt.z + P14*origPt.w;
		tranPt.y = P21*origPt.x + P22*origPt.y + P23*origPt.z + P24*origPt.w;
		tranPt.z = P31*origPt.x + P32*origPt.y + P33*origPt.z + P34*origPt.w;

		return tranPt;
	}
public static Point3D_F64 transform(Se3_F64 se, Point4D_F64 origPt, Point3D_F64 tranPt ) {
		if( tranPt == null )
			tranPt = new Point3D_F64();

		DMatrixRMaj R = se.getR();
		Vector3D_F64 T = se.getT();

		double P11 = R.data[0], P12 = R.data[1], P13 = R.data[2], P14 = T.x;
		double P21 = R.data[3], P22 = R.data[4], P23 = R.data[5], P24 = T.y;
		double P31 = R.data[6], P32 = R.data[7], P33 = R.data[8], P34 = T.z;

		tranPt.x = P11*origPt.x + P12*origPt.y + P13*origPt.z + P14*origPt.w;
		tranPt.y = P21*origPt.x + P22*origPt.y + P23*origPt.z + P24*origPt.w;
		tranPt.z = P31*origPt.x + P32*origPt.y + P33*origPt.z + P34*origPt.w;

		return tranPt;
	}
public static Point3D_F64 transform ( Se3_F64 se , Point4D_F64 origPt , Point3D_F64 tranPt ) { if ( tranPt == null ) tranPt = new Point3D_F64 ( ) ; DMatrixRMaj R = se . getR ( ) ; Vector3D_F64 T = se . getT ( ) ; double P11 = R . data [ 0 ] , P12 = R . data [ 1 ] , P13 = R . data [ 2 ] , P14 = T . x ; double P21 = R . data [ 3 ] , P22 = R . data [ 4 ] , P23 = R . data [ 5 ] , P24 = T . y ; double P31 = R . data [ 6 ] , P32 = R . data [ 7 ] , P33 = R . data [ 8 ] , P34 = T . z ; tranPt . x = P11 * origPt . x + P12 * origPt . y + P13 * origPt . z + P14 * origPt . w ; tranPt . y = P21 * origPt . x + P22 * origPt . y + P23 * origPt . z + P24 * origPt . w ; tranPt . z = P31 * origPt . x + P32 * origPt . y + P33 * origPt . z + P34 * origPt . w ; return tranPt ; }
<p>.
Applies the transform specified by SpecialEuclidean to a homogenous point.<br>
<br>
p' = [R t]*p
</p>
<p>
Both origPt and tranPt can be the same instance.
</p>

@param se	 SpecialEuclidean transform. Not modified.
@param origPt Original coordinate of the point. Not modified.
@param tranPt Storage for transformed coordinate of the point. Point declared if null.  Modified.
@return Transformed point.
<p > . Applies the transform specified by SpecialEuclidean to a homogenous point . <br > <br > p = [ R t ] * p < / p > <p > Both origPt and tranPt can be the same instance . < / p >