private FuzzyNumber SlowSpeed(Vector3 velocity) { double speed = Math.Sqrt(Math.Pow(velocity.X, 2) + Math.Pow(velocity.Z, 2)); return(FuzzyUtil.SigMF(speed, 1.5, 2)); }
private FuzzyNumber FarToFlock(float distance) { return(FuzzyUtil.SigMF(distance, 20, -0.3)); }
private FuzzyNumber FarToEnemy(float distance) { return(FuzzyUtil.SigMF(distance, 100, -0.3)); }
// Distance to flock private FuzzyNumber CloseToFlock(float distance) { return(FuzzyUtil.SigMF(distance, 10, 0.3)); }
// Distance to enemy private FuzzyNumber CloseToEnemy(float distance) { return(FuzzyUtil.SigMF(distance, 20, 0.3)); }