コード例 #1
0
    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));
    }
コード例 #2
0
    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);
    }
コード例 #3
0
ファイル: FileIO.cs プロジェクト: benmsisson/neural-swarm
 public JSONChrom(ForceDNA.Chromosome cr)
 {
     this.constant = cr.Constant;
     this.exponent = cr.Exponent;
     this.distance = cr.Distance;
 }