注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

豆芽兵的生存探索

因,记录。留下历史,看到未来...

 
 
 

日志

 
 

022_012_Graphs_Variables(变量)  

2013-08-17 23:17:08|  分类: RF2013中文帮助 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

022_012_Graphs_Variables(变量)

变量是一种用来替代"值"的点位符。好消息是变量不关心你输入的是什么,它可以是任何各类:数字,复杂语句,位置,名称甚至不同种元素的组合。坏消息是你必须要设置一个正确的变量。如果一个结点或函数需要的是整数,如64,那么你就不能输入字符,比如说是输入"density"。当你是一种程序员,不知道哪种数据类型(整型,矢量,字符型等等),你得要快速看一下软件的开发包(SDKSoftware Development Kit.这处参考包含了所有带有说明的命令集:

1.命令的功能和意思

2.输入值的数据类型

3.输出值的数据类型

RealFlow"Graph"结点也有类似的参考,每一个结点也有相应说明,你可以在有需要时看到。在输入或输出端口(pin)上右击菜单选择"Description(说明)":

 022_012_Graphs_Variables(变量) - 豆芽兵 - 豆芽兵的生存探索

Local and Global Variables(局部和全局变量)

这些变量类型的不同,对编程新手来说是有一点难理解的,但要理解它非常容易。例如:我们想在模拟开始定义一个初始环境温度:"T_ambient"。然后在每一帧结束,"T_ambient"将合并SPH发射器的气态粒子(gaseous),计算出混合的温度。这个计算就像典型的"Simulation Graph"任务。请看一下"Simulation Flow"窗口:有事件树(event tree).每一个分支代表特定的模拟事件:SimulationPre(模拟前),StepPre(步长前)或SimulationPost(模拟后)。如前所述,"T_ambient"需要定义在模拟开始然后使用在每一帧的结束。意思是我们得要找到一种方式来从"SimulatonPre"传递"T_ambient"到"FramePost"事件,来合并粒子的温度。

如果"T_ambient"是局部的,我们就不能在"FramesPost"设置正确的值,因为局部变量会在每帧模拟结束移除掉,然后模拟开始时再重新计算。如果"T_ambient"声明为全局变量,这个值就会被保留到内存中直到整个模拟结束,甚至你开始另一个模拟这个值如果没有被移除或是覆盖它还是会存在。

默认的变量总是被声明为Local.如果你想要使用Global变量,得要使用相应的结点。

Variable Names(变量名)

"Hello World! II" 那个结点图中,你重命名过 "String"结点名称。如果使用默认的名称如:

String_01 = "Hello World!"

在这样一个简单的脚本或结点图中,这样做是完全可以的。但想像一下,如果在一个Graph中有一长串String变量,那就很难从像"String_01", "String_02", "String_03"这样的名称中识别出它到底是代表哪个变量。因此取一个有意义的名称是非常重要的。比如说,你想使用一个Graph输出模拟中某一个确定的物理量参数:

Temperature Change(温度更改) = "Temperature has changed!"(温度已经更改)

Viscosity Change (粘度更改)= "Surface Tension has changed!"(表面张力已经更改)

在这个例子,需要两个 "String" 结点::

String_01 > right-click > Rename > Temperature Change (右击>重命名>Temperatur Change

String_02 > right-click > Rename > Viscosity Change(右击>重命名> Viscosity Change)

当然这个规则不仅仅适用于"String"结点,所有类型的结点都要取一个有意义的名称。严谨有意义的结点变量名称,会让你的结点图容易理解易读,与编程中的注释一样重要,不光为了别人更为了未来的自己。

变量名称必须要是唯一的,不可能同一个名称给两个或是多个结点使用,甚至是不同的数据类型也不能这样。如果你想让一个特定的名称多次使用,可以添加前缀或后缀,例如: "TemperatureChange_01", "TemperatureChange_02" 等等。

Correct Naming(合法名称)

这一小节非常重要,因为一些国家的字符集包含有特定的字符如:?, ü, ?.这些字符不能使用,因为它不是常用可理解,编译器不能正确你输入的代码。来避免这些不合法字符,是使用下面的字符集:

  • A – Z
  • a – z
  • 0 – 9
  • - (连词符)
  • _ (下划线)

另一个编程规则是字符有大小写之分. 意思是 "Density" "density" 就是完全不一样的东西。因为在结点图中你不需要调用不同的变量(在这,变量只是简单的连接),这个规则或多或少没那么重要 ,但你最好谨记在心。万一有一天你想使用Python 脚本呢,最好把这个规则刻在心中。在Python中变量的调用是这样的:

text = "Hello World!"

scene.message( text )

  评论这张
 
阅读(430)| 评论(0)
推荐

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018