EG/plugins/user/swarm_intelligence/examples/example_scenarios.py
2025-12-12 16:16:15 +08:00

104 lines
3.6 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

"""
群体智能插件完整示例
演示各种群体行为和配置选项
"""
def basic_example():
"""
基础使用示例
"""
print("=== 群体智能插件基础示例 ===")
print("1. 启用插件后将自动创建一个包含20个成员的群体")
print("2. 群体成员会根据Boids算法进行移动")
print("3. 按F1键可以暂停/继续群体模拟")
print("4. 通过控制面板可以调节群体行为参数")
print()
def advanced_example():
"""
高级使用示例
"""
print("=== 群体智能插件高级示例 ===")
print("1. 可以通过配置文件自定义群体参数")
print("2. 支持动态添加/删除群体成员")
print("3. 可以与场景中的其他对象进行交互")
print("4. 支持自定义群体行为规则")
print()
def scenario_examples():
"""
场景示例说明
"""
print("=== 场景示例 ===")
print("1. 鸟类群体:模拟鸟类飞行行为")
print("2. 鱼群:模拟水下鱼群行为")
print("3. 昆虫群体:模拟昆虫飞行行为")
print("4. V字形队形模拟候鸟迁徙队形")
print("5. 圆形队形:模拟环形群体行为")
print("6. 路径跟随:群体沿着预设路径移动")
print("7. 捕猎场景:群体躲避捕食者")
print("8. 避障场景:群体避开障碍物")
print()
def configuration_examples():
"""
配置示例说明
"""
print("=== 配置示例 ===")
print("1. cohesion_weight: 聚集权重,控制群体成员向中心聚集的趋势")
print("2. separation_weight: 分离权重,控制群体成员避免碰撞的趋势")
print("3. alignment_weight: 对齐权重,控制群体成员速度方向对齐的趋势")
print("4. max_speed: 最大速度,限制群体成员的移动速度")
print("5. perception_radius: 感知半径,决定群体成员能感知到邻居的距离")
print("6. obstacle_weight: 避障权重,控制避开障碍物的力量")
print("7. wander_weight: 游走权重,控制随机移动的力量")
print("8. formation_weight: 队形权重,控制保持队形的力量")
print()
def usage_guide():
"""
使用指南
"""
print("=== 使用指南 ===")
print("1. 在主程序中启用群体智能插件")
print("2. 通过控制面板调节参数观察不同效果")
print("3. 尝试不同的群体类型和行为组合")
print("4. 使用示例函数快速创建特定场景")
print("5. 通过配置管理功能保存和加载参数设置")
print()
def api_examples():
"""
API使用示例
"""
print("=== API使用示例 ===")
print("# 创建群体管理器")
print("swarm_manager = SwarmManager(world)")
print()
print("# 设置群体参数")
print("swarm_manager.config.set('cohesion_weight', 1.5)")
print("swarm_manager.config.set('separation_weight', 2.0)")
print()
print("# 创建示例群体")
print("swarm_manager.create_example_swarm()")
print()
print("# 添加障碍物")
print("swarm_manager.create_obstacle(Vec3(10, 10, 5), 3.0)")
print()
print("# 添加捕食者")
print("swarm_manager.create_predator(Vec3(-10, -10, 8))")
print()
print("# 设置目标")
print("swarm_manager.set_target(Vec3(20, 20, 10))")
print()
print("# 切换暂停状态")
print("swarm_manager.toggle_pause()")
print()
if __name__ == "__main__":
basic_example()
advanced_example()
scenario_examples()
configuration_examples()
usage_guide()
api_examples()