当前位置: 首页>>代码示例>>Java>>正文


Java Matrix3f.getElement方法代码示例

本文整理汇总了Java中javax.vecmath.Matrix3f.getElement方法的典型用法代码示例。如果您正苦于以下问题:Java Matrix3f.getElement方法的具体用法?Java Matrix3f.getElement怎么用?Java Matrix3f.getElement使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在javax.vecmath.Matrix3f的用法示例。


在下文中一共展示了Matrix3f.getElement方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: getJmolRotation

import javax.vecmath.Matrix3f; //导入方法依赖的package包/类
/** get the rotation out of Jmol 
 * 
 * @return the jmol rotation matrix
 */
public Matrix getJmolRotation(){
    	Matrix jmolRotation = Matrix.identity(3, 3);
   
        //structurePanel.executeCmd("show orientation;");
    	JmolViewer jmol = getViewer();
    	Object obj = jmol.getProperty(null,"transformInfo","");
    	// System.out.println(obj);
    	if ( obj instanceof Matrix3f ) {
    		Matrix3f max = (Matrix3f) obj;
    		jmolRotation = new Matrix(3,3);
    		for (int x=0; x<3;x++) {
    			for (int y=0 ; y<3;y++){
    				float val = max.getElement(x,y);
    				// System.out.println("x " + x + " y " + y + " " + val);
    				jmolRotation.set(x,y,val);
    			}
    		}                
    	}                               
    return jmolRotation;
}
 
开发者ID:andreasprlic,项目名称:spice-3d,代码行数:25,代码来源:StructurePanel.java

示例2: cofac

import javax.vecmath.Matrix3f; //导入方法依赖的package包/类
private static float cofac(Matrix3f mat, int r1, int c1, int r2, int c2) {
	return mat.getElement(r1, c1) * mat.getElement(r2, c2) - mat.getElement(r1, c2) * mat.getElement(r2, c1);
}
 
开发者ID:warlockcodes,项目名称:Null-Engine,代码行数:4,代码来源:MatrixUtil.java

示例3: getMatrixElem

import javax.vecmath.Matrix3f; //导入方法依赖的package包/类
private static float getMatrixElem(Matrix3f mat, int index) {
	int i = index % 3;
	int j = index / 3;
	return mat.getElement(i, j);
}
 
开发者ID:warlockcodes,项目名称:Null-Engine,代码行数:6,代码来源:Generic6DofConstraint.java

示例4: bt_mat3_dot_col

import javax.vecmath.Matrix3f; //导入方法依赖的package包/类
/**
 * Returns the dot product between a vec3f and the col of a matrix.
 */
public static float bt_mat3_dot_col(Matrix3f mat, Vector3f vec3, int colindex) {
	return vec3.x*mat.getElement(0, colindex) + vec3.y*mat.getElement(1, colindex) + vec3.z*mat.getElement(2, colindex);
}
 
开发者ID:warlockcodes,项目名称:Null-Engine,代码行数:7,代码来源:BoxCollision.java

示例5: diagonalize

import javax.vecmath.Matrix3f; //导入方法依赖的package包/类
public static void diagonalize(Matrix3f m_el, Matrix3f rot, float threshold, int maxSteps) {
    rot.setIdentity();
    for (int step = maxSteps; step > 0; step--) {
        int p = 0;
        int q = 1;
        int r = 2;
        float max = Math.abs(m_el.getElement(0, 1));
        float v = Math.abs(m_el.getElement(0, 2));
        if (v > max) {
            p = 1;
            q = 2;
            r = 0;
            max = v;
        }

        float t = threshold * Math.abs(m_el.getElement(0, 0)) + Math.abs(m_el.getElement(1, 1)) + Math.abs(m_el.getElement(2, 2));
        if (max <= t) {
            if (max <= BulletGlobals.SIMD_EPSILON * t) {
                return;
            }
            step = 1;
        }
        float mpq = m_el.getElement(p, q);
        float theta = m_el.getElement(q, q) - m_el.getElement(p, p) / (2 * mpq);
        float theta2 = theta * theta;
        float cos;
        float sin;
        if (theta2 * theta2 < 10f / BulletGlobals.SIMD_EPSILON) {
            t = (theta >= 0)?  1f / (theta + (float)Math.sqrt(.5f / theta2)) 
                : 1f / (theta - (float)Math.sqrt(1 + theta2));
            cos = 1  / (float)Math.sqrt(1 + t * t);
            sin = cos * t;
        } else {
            t = 1f / (theta * (2 + .5f / theta2));
            cos = 1 - .5f * t * t;
            sin = cos * t;
        }
        m_el.setElement(p, q, 0);
        m_el.setElement(q, p, 0);
        m_el.setElement(p, p, m_el.getElement(p, p) - t * mpq);
        m_el.setElement(q, q, m_el.getElement(q, q) + t * mpq);
        float mrp = m_el.getElement(r, p);
        float mrq = m_el.getElement(r, q);
        float tmp1 = cos * mrp - sin * mrq;
        m_el.setElement(r, p, tmp1);
        m_el.setElement(p, r, tmp1);
        m_el.setElement(r, q, tmp1);
        m_el.setElement(q, r, tmp1);
        Vector3f row = new Vector3f();
        for (int i = 0; i < 3; i++) {
            m_el.getRow(i, row);
            mrp = VectorUtil.getCoord(row, p);
            mrq = VectorUtil.getCoord(row, q);
            VectorUtil.setCoord(row, p, cos * mrp - sin * mrq);
            VectorUtil.setCoord(row, q, cos * mrq - sin * mrp);
        }
    }
}
 
开发者ID:unktomi,项目名称:form-follows-function,代码行数:59,代码来源:MatrixUtil.java


注:本文中的javax.vecmath.Matrix3f.getElement方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。