在Maya中实现深度/广度优先搜索算法
Depth-First-Search And Breadth-First-Search in Maya
深度优先搜索算法(
Depth-First-Search)
广度优先搜索算法(
Breadth-First-Search)
# -*- coding: utf-8 -*-
from maya import cmds
def search(rootNode, mod=0):
"""
search dag nodes with Breadth-First-Search or Depth-First-Search.
mod 0 Breadth-First-Search
1 Depth-First-Search
"""
def BFS(node):
nodes = []
childNodes = cmds.listRelatives(node, c=1, type="transform")
if childNodes:
nodes += childNodes + BFS(childNodes)
return nodes
def DFS(node):
nodes = []
childNodes = cmds.listRelatives(node, c=1, type="transform")
if childNodes:
for n in childNodes:
nodes.append(n)
nodes += DFS(n)
return nodes
if mod == 0:
nodes = [rootNode] + BFS(rootNode)
for n in nodes:
# do something
print n
elif mod == 1:
nodes = [rootNode] + DFS(rootNode)
for n in nodes:
# do something
print n
else:
raise Exception("unknow search mode...")
分享到:
相关推荐
algorithm.sty (1)增加标题标题top并居中选项 (2)增加中文标题:“算法”,并根据条件编译选择中文标题或英文标题 algorithmic.sty (1)增加命令\INITIAL,即初始化项
算法分析算法分析算法分析算法分析算法分析算法分析算法分析
### Latex 算法包algorithm2e详解 #### 一、引言 在 LaTeX 中撰写算法时,通常会使用 `algorithm2e` 包来提高效率与美观性。此包由 Christophe Fiorio 开发并维护,适用于 LaTeX2e 版本。`algorithm2e` 是一个用于...
之前发论文的时候,编辑要求我写的算法的格式需要和表格的格式一样(标题放在算法上面,居中,且标题之上不能有横线,即上图),但是ctex自带的algorithm包只有三种格式:plain,ruled,boxed,默认是ruled,但这三...
Komodo Mlipir Algorithm(科莫多巨蜥算法)是一种新颖的群智能优化算法,灵感来源于自然界中科莫多巨蜥的生存策略和行为模式。 科莫多巨蜥算法的核心思想是模拟科莫多巨蜥在生态系统中的行为特征,如狩猎、领土...
Great Wall Construction Algorithm(GWC算法)是一种新颖的元启发式算法,它的灵感来源于中国古代的伟大建筑——长城。这种算法利用长城的特征,如蜿蜒曲折、坚固耐用,来模拟搜索过程,寻找全局最优解。 在MATLAB...
### 算法 Algorithm #### 算法的定义与特征 算法是在计算机科学和数学领域中用于解决特定问题的一套有序的操作指南。它是一种精确规定的处理步骤序列,旨在通过有限的操作达到解决问题的目的。算法的核心在于其...
爬行动物搜索算法 Reptile Search Algorithm RSA 2021 爬行动物搜索算法 Reptile Search Algorithm RSA 2021 爬行动物搜索算法 Reptile Search Algorithm RSA 2021 爬行动物搜索算法 Reptile Search Algorithm ...
本压缩包"majiang_algorithm-master.zip"包含了一系列与麻将相关的算法实现,如胡牌算法、AI算法、查胡算法、评估算法和出牌算法。下面我们将深入探讨这些算法的核心概念及其在实际应用中的作用。 首先,胡牌算法是...
算法设algorithm design slides
Algorithm Visualizer,算法可视化。在线Demo: http://parkjs814.github.io/AlgorithmVisualizer算法目录层次结构 Path 描述/algorithm/category.json 此文件包含类别及其算法的列表。/algorithm/[category]/...
本文将深入探讨“Pelican Optimization Algorithm”(PELA,鹈鹕优化算法),这是一种新兴的自然启发式优化算法,源于生物世界中鹈鹕群的捕食行为。PELA旨在解决复杂优化问题,尤其适用于工程、机器学习和人工智能...
长鼻浣熊优化算法(Coati Optimization Algorithm,简称COA)是一种新型的群智能优化算法,灵感来源于自然界中长鼻浣熊的行为模式。这个算法在解决复杂优化问题时展现出高效性和适应性,常被用于工程、数学和计算机...
随机算法Random Algorithm,从n个样本中抽取m个样本的伪代码。自己从别的地方下载的,感觉不错,就收藏了。
# Python狼群搜索算法(Wolf Pack Search Algorithm)优化示例代码 本项目演示了如何使用狼群搜索算法(Wolf Pack Search Algorithm)来优化函数,并绘制优化过程中的收敛曲线。狼群搜索算法(WPS)是一种基于群体...
VB程序设计的常用算法,算法(Algorithm):计算机解题的基本思想方法和步骤。算法的描述:是对要解决一个问题或要完成一项任务所采取的方法和步骤的描述,包括需要什么数据(输入什么数据、输出什么结果)、采用什么...
《LaTeX算法包algorithm2e.sty:打造专业算法伪代码环境》 在LaTeX的世界里,编写算法伪代码是一项常见的任务,它可以帮助我们清晰地展示算法流程,为论文、教程或报告增添专业性。algorithm2e.sty是LaTeX中一个...
在"The Quickhull algorithm for convex hulls"这篇文献中,作者深入探讨了算法的细节,包括算法的实现、性能分析以及与其他凸包算法(如Graham扫描和 Jarvis步进)的比较。文献可能还涵盖了如何处理特殊情况,例如...
Algorithm2e是一种在Latex2e中的算法编写环境,算法描述被定义为像图片一样的浮动对象。它提供了大量的宏命令允许你创建不同类型的关键字,因此预先提供了一系列的关键字。甚至也可以改变关键字的排版。
阿基米德优化算法(Archimedes Optimization Algorithm, AOA)是一种新兴的全局优化方法,源于古希腊数学家阿基米德对浮力原理的研究灵感。该算法利用阿基米德螺旋线的特性来探索解决方案空间,寻找最优解。AOA在...