void dVector3Scale(DVector3 a,double nScale) { a.scale(nScale); // a.v[0] *= nScale ; // a.v[1] *= nScale ; // a.v[2] *= nScale ; }
/** * In matlab syntax: a(1:n) = a(1:n) .* d(1:n) * @param a a * @param d d */ public static void dVectorScale (DVector3 a, DVector3C d) { a.scale(d); }
static void dVector3Inv(DVector3 a) { // a.v[0] = -a.v[0]; // a.v[1] = -a.v[1]; // a.v[2] = -a.v[2]; a.scale(-1); }
static void dVector3Inv(DVector3 a) { // a.v[0] = -a.v[0]; // a.v[1] = -a.v[1]; // a.v[2] = -a.v[2]; a.scale(-1); }
/** * In matlab syntax: a(1:n) = a(1:n) .* d(1:n) * @param a a * @param d d */ public static void dVectorScale (DVector3 a, DVector3C d) { a.scale(d); }
void dVector3Scale(DVector3 a,double nScale) { a.scale(nScale); // a.v[0] *= nScale ; // a.v[1] *= nScale ; // a.v[2] *= nScale ; }
void Vector3Negate( DVector3C in, DVector3 out ) { // out[0] = -in[0]; // out[1] = -in[1]; // out[2] = -in[2]; // out[3] = REAL(0.0); out.set(in).scale(-1); }
/** * Returns a new vector which equals (this)*d. * @param d d * @return new vector */ @Override public final DVector3 reScale(double d) { return new DVector3(this).scale(d); }
void Vector3Multiply( DVector3C in, double scalar, DVector3 out ) { // out[0] = in[0] * scalar; // out[1] = in[1] * scalar; // out[2] = in[2] * scalar; // out[3] = REAL(0.0); out.set(in).scale(scalar); }
void Vector3Multiply( DVector3C in, double scalar, DVector3 out ) { // out[0] = in[0] * scalar; // out[1] = in[1] * scalar; // out[2] = in[2] * scalar; // out[3] = REAL(0.0); out.set(in).scale(scalar); }
/** * Returns a new vector which equals (this)*d. * @param d d * @return new vector */ @Override public final DVector3 reScale(double d) { return new DVector3(this).scale(d); }
void Vector3Negate( DVector3C in, DVector3 out ) { // out[0] = -in[0]; // out[1] = -in[1]; // out[2] = -in[2]; // out[3] = REAL(0.0); out.set(in).scale(-1); }
private DVector3 scaleAndOffset(DVector3 anchor) { return new DVector3(anchor).scale(scale).add(offset); }
private void addSpringForce (double ks) { DVector3C p1 = body[0].getPosition(); DVector3C p2 = body[1].getPosition(); DVector3 tmp = new DVector3(); //dBodyAddForce (body[0],ks*(p2.v[0]-p1.v[0]),ks*(p2.v[1]-p1.v[1]),ks*(p2.v[2]-p1.v[2])); tmp.eqDiff(p2, p1).scale(ks); body[0].addForce(tmp); //dBodyAddForce (body[1],ks*(p1.v[0]-p2.v[0]),ks*(p1.v[1]-p2.v[1]),ks*(p1.v[2]-p2.v[2])); tmp.eqDiff(p1, p2).scale(ks); body[1].addForce(tmp); }
private void addSpringForce (double ks) { DVector3C p1 = dBodyGetPosition (body[0]); DVector3C p2 = dBodyGetPosition (body[1]); DVector3 tmp = new DVector3(); //dBodyAddForce (body[0],ks*(p2.v[0]-p1.v[0]),ks*(p2.v[1]-p1.v[1]),ks*(p2.v[2]-p1.v[2])); tmp.eqDiff(p2, p1).scale(ks); body[0].addForce(tmp); //dBodyAddForce (body[1],ks*(p1.v[0]-p2.v[0]),ks*(p1.v[1]-p2.v[1]),ks*(p1.v[2]-p2.v[2])); tmp.eqDiff(p1, p2).scale(ks); body[1].addForce(tmp); }
private DVector3 getDragTorque(double density, DBody odeBody, double area) { DVector3 dragTorque = new DVector3(odeBody.getAngularVel()); double avel = dragTorque.length(); dragTorque.safeNormalize(); dragTorque.scale(-0.5 * density * area * avel * avel * 0.5); return dragTorque; }
private DVector3 getDragForce(double density, DBody odeBody, double area) { DVector3 dragForce = new DVector3(odeBody.getLinearVel()); double lvel = dragForce.length(); dragForce.safeNormalize(); dragForce.scale(-0.5 * density * area * lvel * lvel * 0.5); return dragForce; }
void dJointAddHingeTorque( double torque ) { DVector3 axis = new DVector3(); if ( isFlagsReverse() ) torque = -torque; getAxis( axis, _axis1 ); // axis.v[0] *= torque; // axis.v[1] *= torque; // axis.v[2] *= torque; axis.scale(torque); if ( node[0].body != null ) node[0].body.dBodyAddTorque( axis ); if ( node[1].body != null ) node[1].body.dBodyAddTorque( axis.reScale(-1) ); }
public void dMassAdd (DMassC b) { //dAASSERT (b); double denom = dRecip (_mass + b.getMass()); //for (i=0; i<3; i++) a._c.v[i] = (a._c.v[i]*a._mass + b._c.v[i]*b._mass)*denom; _c.eqSum( _c, _mass, b.getC(), b.getMass() ).scale( denom ); _mass += b.getMass(); //for (i=0; i<12; i++) a._I.v[i] += b._I.v[i]; _I.add(b.getI()); }
public void dMassAdd (DMassC b) { //dAASSERT (b); double denom = dRecip (_mass + b.getMass()); //for (i=0; i<3; i++) a._c.v[i] = (a._c.v[i]*a._mass + b._c.v[i]*b._mass)*denom; _c.eqSum( _c, _mass, b.getC(), b.getMass() ).scale( denom ); _mass += b.getMass(); //for (i=0; i<12; i++) a._I.v[i] += b._I.v[i]; _I.add(b.getI()); }