private Vector2 calcForce(Vector2 delta, ForceDNA.Chromosome cr) { float dist = delta.magnitude; Vector2 norm = Vector2.zero; if (dist != 0) { // We will throw a divide by zero error here on purpose norm = delta / dist; } return(calcForce(norm, dist, cr)); }
private Vector2 calcForce(Vector2 norm, float dist, ForceDNA.Chromosome cr) { float f = 0; if (dist == 0) { f = MAX_FORCE; } else { f = Mathf.Min(cr.Constant / Mathf.Pow(dist, cr.Exponent), MAX_FORCE); } return(norm * f); }
public JSONChrom(ForceDNA.Chromosome cr) { this.constant = cr.Constant; this.exponent = cr.Exponent; this.distance = cr.Distance; }