Compare commits

..

No commits in common. "4eb66370623875a6bb635c2cab75be8f920f7dfa" and "476866780391975ad30bcb2da1bcee3ccfe82355" have entirely different histories.

2 changed files with 6 additions and 18 deletions

View File

@ -132,7 +132,7 @@ class Brownian extends Behavior<IBrownianBehaviorParameter, IBrownianBehaviorEve
const vLen = individual.vectorLength(individual.velocity); const vLen = individual.vectorLength(individual.velocity);
// 随机旋转算法 // 随机旋转算法
if (vLen > 0) { if (vLen !== 0) {
randomDir = this.randomFocusRange( randomDir = this.randomFocusRange(
[ [
individual.velocity[0] / vLen, individual.velocity[0] / vLen,
@ -141,10 +141,6 @@ class Brownian extends Behavior<IBrownianBehaviorParameter, IBrownianBehaviorEve
], ],
this.parameter.angle / 2 this.parameter.angle / 2
); );
if (isNaN(randomDir[0]) || isNaN(randomDir[1]) || isNaN(randomDir[2])) {
randomDir = this.randomFocus360()
}
} }
else { else {
@ -157,12 +153,10 @@ class Brownian extends Behavior<IBrownianBehaviorParameter, IBrownianBehaviorEve
randomDir = this.randomFocus360() randomDir = this.randomFocus360()
} }
const randomLength = minStrength + Math.random() * (maxStrength - minStrength);
individual.applyForce( individual.applyForce(
randomDir[0] * randomLength, minStrength + randomDir[0] * (maxStrength - minStrength),
randomDir[1] * randomLength, minStrength + randomDir[1] * (maxStrength - minStrength),
randomDir[2] * randomLength minStrength + randomDir[2] * (maxStrength - minStrength)
); );
nextTime = minFrequency + Math.random() * (maxFrequency - minFrequency); nextTime = minFrequency + Math.random() * (maxFrequency - minFrequency);

View File

@ -5,7 +5,6 @@ import { Model } from "@Model/Model";
type ISampleTrackingBehaviorParameter = { type ISampleTrackingBehaviorParameter = {
target: "CLG", target: "CLG",
key: "string",
strength: "number", strength: "number",
range: "number", range: "number",
angle: "number", angle: "number",
@ -28,7 +27,6 @@ class SampleTracking extends Behavior<ISampleTrackingBehaviorParameter, ISampleT
public override parameterOption = { public override parameterOption = {
target: { type: "CLG", name: "$Target" }, target: { type: "CLG", name: "$Target" },
key: { type: "string", name: "$Key"},
range: { type: "number", name: "$Range", defaultValue: 4, numberMin: 0, numberStep: .1 }, range: { type: "number", name: "$Range", defaultValue: 4, numberMin: 0, numberStep: .1 },
angle: { type: "number", name: "$Angle", defaultValue: 180, numberMin: 0, numberMax: 360, numberStep: 5 }, angle: { type: "number", name: "$Angle", defaultValue: 180, numberMin: 0, numberMax: 360, numberStep: 5 },
strength: { type: "number", name: "$Strength", defaultValue: 1, numberMin: 0, numberStep: .1 }, strength: { type: "number", name: "$Strength", defaultValue: 1, numberMin: 0, numberStep: .1 },
@ -83,7 +81,7 @@ class SampleTracking extends Behavior<ISampleTrackingBehaviorParameter, ISampleT
dirArr[i][0] += targetDir[0]; dirArr[i][0] += targetDir[0];
dirArr[i][1] += targetDir[1]; dirArr[i][1] += targetDir[1];
dirArr[i][2] += targetDir[2]; dirArr[i][2] += targetDir[2];
valArr[i] += targetIndividual.getData(this.parameter.key) ?? 0; valArr[i] += targetIndividual.getData("Wastage.Pheromone") ?? 0;
isFindNest = true; isFindNest = true;
} }
} }
@ -92,7 +90,7 @@ class SampleTracking extends Behavior<ISampleTrackingBehaviorParameter, ISampleT
// 保存 // 保存
dirArr.push(targetDir); dirArr.push(targetDir);
valArr.push(targetIndividual.getData(this.parameter.key) ?? 0); valArr.push(targetIndividual.getData("Wastage.Pheromone") ?? 0);
} }
} }
}); });
@ -126,10 +124,6 @@ class SampleTracking extends Behavior<ISampleTrackingBehaviorParameter, ISampleT
"ZH_CN": "追踪目标", "ZH_CN": "追踪目标",
"EN_US": "Tracking target" "EN_US": "Tracking target"
}, },
"$Key": {
"ZH_CN": "计算键值",
"EN_US": "Calculate key value"
},
"$Accuracy": { "$Accuracy": {
"ZH_CN": "采样精度", "ZH_CN": "采样精度",
"EN_US": "Sampling accuracy" "EN_US": "Sampling accuracy"