参数化破碎的波的实时渲染的制作方法

文档序号:6569800阅读:179来源:国知局
专利名称:参数化破碎的波的实时渲染的制作方法
参数化破碎的波的实时渲染
背景技术
视频系统中的波的渲染可能是视频图形的重要部分。在渲染海浪的"深 水"实现时,采用各种方程来对深水波特性建模。通常可以将"深水"定 义为下述水,即,其中水的平均表面与诸如海底等水底之间的距离大于或 等于水的表面处的波的波长的一半,尽管还可以使用其它距离。
然而,"浅水"中的波显示的特性不同于深水中的波,因此在试图渲染 浅水波时,会变得复杂。通常可以将"浅水"定义为下述水,即,其中波 的平均表面与水底之间的距离小于水的表面处的波的波长的一半,尽管还 可以使用其它距离。
此外,"破碎"的波显示的特性既不同于深水波也不同于浅水波,从而 在试图渲染"破碎的波"时,会变得更加复杂。"破碎的波"通常指的是波 发生巻曲,并且"破碎的波"会在波接近岸边时出现。破碎的波也可以根 据波的波长与水的平均表面和水底间的距离的比较结果而出现,尽管还可 以使用其它距离。


图1是与海底有关的深水和浅水的图; 图2是产生仿真波的流程图3和图4是至少根据液体的平均深度和液体底部间的距离与波的波 长的比较结果来产生仿真波的流程图5是用于产生表示浅液体中的至少一个波的信号的系统; 图6示出了通过使用吸引子和吸引子线对"破碎的"波的修改; 图7示出了具有长度和宽度属性的波的漩涡;
图8示出了一种使用吸引子和吸引子线来产生用于表示破碎的波的信 号的方法;
图9示出了一种用于产生表示至少一个破碎的波的信号的系统;图io示出了对于浅水或破碎的波而插入新点时所使用的浅水波或破碎
的波的部分;
图11-13示出了根据漩涡的不同变量的各种波的漩涡特性;以及 图14示出了用于显示渲染的浅或破碎的波的视频系统。
具体实施例方式
对于本申请中的各个例子而言,本文所述的几个实施例仅被用于示意 的目的。 一些实施例可以包括本文所述的元件的任何当前或将来公知的形 式。因此,本领域技术人员根据本说明书应该意识到,在进行各种修改和 改变的情况下,可以实施其它实施例。
图l示出了在仿真环境("环境")100中的多个波112、 114和116-119。 多个波112、 114和116-119中的每一个的特性都可以是各种变量的结果, 例如液体的平均液面和液体的底部之间的距离(即,液体的"深度")、以 及每个波112-119的波长等。在一些实施例中,为了便于说明,液体指的是 水,如海水,尽管也可以采用其它液体。
环境100具有平均液面110和液体的底部120 (如,海底)。环境100 具有距离125,即,平均液面110和液体底部120的深度。为了便于说明, 在拐点143之前,将距离125表示为保持基本不变,而在拐点143之后, 当液体的底部120开始接近平均液面110时,距离125开始减小。
每个波112-119都具有相应的波长X。在深水140中,波112和114每 个都具有基本相似的人。在一些实施例中,当距离125小于波112、 114的
时,出现浅水触发点145,尽管其它触发标准也是可行的,如距离125 的其它比例,或所选择的到岸边的距离(未示出)。在浅水150中,在撞击 到浅水触发点145后,对于每个波116-119, X变得越来越小,并且X可以 是减小的距离125的函数,将对此进行更具体的描述。然后,改变每个波 116-119的人还改变了波116-119的相关振幅以及这些波的其它特征,以下 将对此进行更具体的描述。
通常,将波渲染为沿水平轴前进,如波116-119所示。 一旦波(例如波 119)撞击到破碎触发点160,那么诸如波120等波就开始破碎或"巻曲", 这将在下文参考图6-13进行更具体的解释。在一些实施例中,在距离125小于或等于深水140的波116-119的A/7时,出现破碎触发点160,尽管其 它触发标准也是可行的,例如X的其它比例,或所选择的到岸边的距离(未 示出)。
图2示出了根据一些实施例的用于产生表示浅水150中的波的信号的 方法200。
在210,产生正弦信号,用于表示处于液体的平均液面(如,平均液面 110)处的波。
然后,在220,确定在平均液面110和液体底部120之间的距离125。 这可以是在浅水150中。
然后,在230,至少根据距离125,来调整用于表示波的正弦信号的特征。
在一些实施例中,待调整的特性是波116-119的X,下文将对此进行更 具体的描述。在一些实施例中,待调整的特征是波116-119的速度,下文将 对此进行更具体的描述。在一些实施例中,待调整的特征是波116-119的高 度,下文将对此进行更具体的描述。在一些实施例中,产生第二正弦信号, 其具有表示波的已调整正弦信号的特征。
图3示出了一种方法300,其用于产生正弦信号来仿真浅水150中的波 的特性。根据一些实施例,图3可以更具体地示出210-230的各个方面。
在310中,产生用于表示波的第一正弦信号("FSS")。在一些实施例 中,FSS由下式表示
方程1A: f(x,t)=Amplitudemultiplier*[{sin(cox+t(p)+l}/2]s^pness
在方程1A中,Amplitudemu卿ier可以作为初始常量给出,并且它用于计 算FSS的振幅。Amplitudemu,t一r也可以是深水140中的波112、 114在它们
的最高点计算出的振幅。
在方程1A中,Steepness (陡度)是用于计算FSS的波116-119的值的 指数因子,并且它可以是例如距离125、盐度和风的函数。对于深水140中 的波112、 114,在一些实施例中,steepness因子的值可以是"1"。为了便 于解释,可以将可用在深水120中的方程1A的初始steepness因子表示为 Steepnessfirst。
FSS具有第一波长(Xfost),它可以等于2兀/co。因此,FSS可以由下式表尔
方程IB: f(x,t)= Amplitudemultiplier*[{sin([27ix/ Xfirst]+t(p)+lV2p,ess
FSS还具有第一波速Sfiret,它通常可以表示为水平速度,波以该水平速 度沿"x"方向(即"x"参数)例如朝向岸边传播经过水平面110。 FSS还 具有称为相位速度的特征"cp",其可以是S^乘以2tt/X (例如2兀/ ^t)的 函数。在方程IB中,"t"可以是时间参数。
对于深水140 (即,在调整浅水150的深度125前)
方程1C: q> =Sfirst*27i/ Xfirst
在方程1C中,(cp)的单位是弧度/秒。(p通过乘以"t"而用于FSS中, 以获得相位移"cpt"。
在320中,对于波,确定液体的平均表面与液体底部之间的距离。在 一些实施例中,该距离是距离125,液体的顶部是平均液面110,而底部是 液体底部120。
在330,判断液体的平均表面与液体底部之间的距离是否等于或小于 FSS的波长的所选比例。例如,在330中,对于给定的波,判断距离125 是否小于或等于波114的^^/2。换句话说,在一些实施例中,在波传播经 过平均液面110时,判断波112、 114、 116是否己经到达了浅水触发点145。 如果距离125小于或等于波114的^irst/2,那么320进行到330。否则,针 对另一个波重新执行320,所述另一个波可以位于液体表面(例如平均液面 110)上的其它地方。在其它实施例中,波还可以沿待重新计算的"x"方 向传播经过平均液面110。
在340中,至少根据FSS的^first以及液体平均表面与液体底部之间的
距离来确定第二正弦信号(SSS)的第二波长(^see。nd)。在一些实施例中,
平均表面是平均液面110,液体底部是海底120,而距离是距离125。在一
些实施例中,^ec。nd是^m和^rst/2之间的值。为了便于说明,将X^。nd表示 为"b ^st",采用"b"作为与^rst相乘的值,以便更清晰地说明^rst和、咖d
之间的关系,该值例如从1到1/2。然而,在其它实施例中,可以采用"b"
的其它值。
在一些实施例中,"b"的值是距离125的线性函数。在一些实施例中, "b"的值可以由[{(距离125-、st)/(距离125+^rst》+常数]来计算。那么,在340中,SSS可以初始表示为
方程2: f(x,t)= Amplitudemultiplier*[{Sin([27tx/(bVlrst)] +t(p)+l}/2严印鹏
在350中,SSS的波速Ssec。。d可以根据^,d (即,/ (bXfirst))来计算。
在一些实施例中,cp在方程l和2之间应该保持不变,即使它们各自的波长
(即,^irst;和^謹d, ase咖d还可以表示为bXfirst))是不同的。因此,
方禾呈3b: Ssecond= (Sfirst氺2兀A^s)/(27lA3 )或 方禾王3c: SseCond= (Sfirst* ^second /^first)或 方禾呈3d: Ssecond= Sfirst*bb
换句话说,在一些实施例中,随着距离125减小这些波的(Sfct和Ssec。nd), 每个波的波速("S")按比例减小。
在360中,计算SSS的波定义域值(wave domain value, WDV)。通常, WDV是正弦定义域中的计算值。在一些实施例中,这可以由计算 [(sin([27ix/(b ^t)]+t(p)+lV2]来表示。如上所述,SSS的WDV至少是、咖d (即,bA^st)的函数。在一些实施例中,时间"t"也被用于计算SSS的 WDV。在一些实施例中,时间"t"作为波定义域值中的变量而保留。
在370中,以一 steepness值作为SSS的WDV的指数,以便产生以 steepness调整后的波定义域值。在一些实施例中,steepness值可以是 steepnesssecondil。例如,steepnessse咖d可以是1至U 10之间的值。steepnesssecond 可以是距离125、波116-119与岸边(未示出)的距离以及其它因数的函数。 方程4a:
以steepness调整后的波定义域值=[{sin([27cx/(b^iret)]+t(())+l}/
steepness_second
在一些实施例中,在380中,然后,将由steepnesssec。nd产生的以steepness 调整后的波定义域值乘以Amplitudemultiplier,以便产生具有第二波长的波的 振幅。在一些实施例中,具有第二波长的波的振幅可以表示为 方程4b:
f(X,t)=Amplitudemultiplier*[{Sin([27rx/(b w)]+t(p)+l}/2]steepness-sec。nd 然后,在382中,确定具有第二波长的波的振幅与液体底部之间的幅 值差,例如距离125。为了便于解释,将具有第二波长的波的振幅与液体底部之间的幅值差称为具有第二波长的波的振幅距离。
在384中,根据在382中所确定的具有第二波长的波的振幅与液体底 部之间的幅值差来调整具有第二波长的波的振幅,以便生成经过高度调整 的具有第二波长的波的振幅。
例如,在一些实施例中,根据具有第二波长的波的振幅与距离125之 间的幅值差来调整波(例如,浅水区140中的波116-119)的振幅的高度。
在384的一些实施例中
方程5:如果距离125〈具有第二波长的波的振幅(f(x,t》,贝U: 经过高度调整的f(x,t)= f(X,t)+[f(X,t)-RfirSt]
换句话说,如果距离125小于方程4b中的具有第二波长的波的振幅, 那么就将方程4b中的具有第二波长的波的振幅与液体底部之间的幅值差加 到第二个波的所计算的振幅值上,以便生成经过高度调整的具有第二波长 的波的振幅。
然后,在386中,判断液体表面与液体底部之间的距离(如,平均液
面110与海底120间的距离)是否小于诸如Xfira或^sec。nd等波长的第二所选
比例。如果它不小于波长的第二所选比例,那么386进行到390。否则,386 进行到388。
在388中,计算破碎的波,以下将参照图6-9和图11对此进行更具体 的描述。
在390中,在一些实施例中,减小液体顶部与液体底部之间的距离(例 如,平均液面110与液体底部120间的距离125)。在一些实施例中,该距 离根据波116-119与岸边之间的距离而减小。在一些实施例中,减小该距离
可以表示波在水平方向上的传播。
图5示出了用于确定正弦波的特征的系统500。在一些实施例中,可以
同时产生多个(例如,四个)正弦波。而且,虽然在一些实施例中方法200 和300可以在系统500中执行,但是也可以由系统500的其它实施例来执 行其它方法。为了便于说明,将参照方法300来描述系统500的一些方面。 然而,在一些实施例中,也可以与方法300或200相结合地使用系统500 的其它方面。
在第一存储器510接收第一信号。第一存储器510用于存储第一信号,该第一信号表示例如可以在310中确定的液体顶部和液体底部之间的距离。 存储器510耦合到阈值检测器570、第二波长确定器575和髙度调整器597。
在第一正弦信号发生器520接收第一波长(^iret)。同样,在第一正弦 信号发生器520还接收波速Sfirst。 ste印nessf,rst同样由第一正弦信号发生器 520接收。在一些实施例中,在第一正弦信号发生器,还接收波在"x"方 向上的位移和相位,如时间"t"和相位速度"cp"。发生器520耦合到第二 存储器530,用于存储由第一正弦信号信号发生器产生的第一正弦信号的 Virst,这例如可以在310进行。
在一些实施例中,节点正弦信号发生器540到560也耦合到第二存储 器530。这些可被用于产生其它正弦信号。可将这些信号加入到第一正弦信 号中,用以产生聚合的具有第二波长的波的振幅。
阈值检测器570将来自第一存储器510的第一信号与Vw的某个比例 进行比较,这例如可以在330中进行。如果来自第一存储器510的第一信 号与^firet的所选比例进行比较,并且第一信号等于或小于该比例,那么阈 值检测器570对耦合的第二波长确定器575的计算进行初始化/触发。
然后,第二波长确定器575根据第一信号和?Wst来确定第二波长,这
例如可以在340中进行。然后,第二波长确定器575将、e。nd传递给第二正
弦信号发生器580。
第二正弦信号发生器580接收来自第二波长确定器574和第一正弦信 号发生器520两者的输入,用以产生可以由方程2表示的SSS。在一些实 施例中,在第二正弦信号发生器580中进行340。 SSS被传送给波定义域值 计算器584。
波定义域值计算器584至少根据 w^d (即,bViret)来计算SSS的波定 义域值。在一些实施例中,在波定义域值计算器584中进行340。将波定义 域值传送给波速计算器588。在一些实施例中,波定义域值计算器采用提供 给第一正弦信号发生器520的输入,例如"x"和"t"。
波速计算器588至少根据C()和^ee。nd两者来生成Ssee。nd。在一些实施例
中,在波速计算器588中进行340。将计算器580的输出传送给陡度调整器 590。
陡度调整器590产生steepnesssec加d。在一些实施例中,可以在590中进行370。在一些实施例中,陡度调整器590根据 w。nd来产生steepnesss,d。 在一些实施例中,陡度调整器590还可以使用其它因数,例如到岸边的距 离和风速等,来产生steepnesssee。nd。陡度调整器590可以利用steepnesssec。nd 来产生经过steepness调整的波定义域值。将经过steepness调整的波定义域 值传送给输入振幅倍增器595。
输入振幅倍增器595接收作为输入的amplitudeinitial。输入振幅倍增器 595将经过steepness调整的波定义域值乘以amplitudeinitial,用以产生具有第 二波长的波的振幅。在一些实施例中,振幅倍增器595执行380。输入振幅 倍增器595将具有第二波长的波的振幅传送给高度调整器597。
高度调整器597耦合到第一存储器510和输入振幅倍增器595。高度调 整器597根据波的振幅值与液体底部之间的幅值差来调整具有第二波长的 波的振幅,用以产生经过高度调整的第二波长的波的振幅。这个经过高度 调整的波的振幅值可以表示在平均水面高度上的最终的波的高度。在一些 实施例中,在高度调整器597中进行386。在一些实施例中,在高度调整器 597中还进行390。然后,在一些实施例中,通过显示输出端口 598传送经 过高度调整的具有第二波长的波的振幅。然后,显示输出端口 598传送经 过高度调整的具有第二波长的波的振幅,来进行渲染。
图6示出了一个仿真环境600,其用于对使得在破碎的波的仿真605中 的波发生巻曲的情况进行建模。示出了多个波610、 630、 650和670。对于 每个波610、 630、 650和670而言,随着距离125变得越来越短,每个波 也将随之变得越来越巻曲。每个波610、 630、 650和670都具有对应的吸 引子620、 640、 660和680,其用于对在波上的点("波浪点")的特性进行 建模,例如波浪点617、 618和619,以下将对此进行更具体的描述。每个 波610、 630、 650和670都表示沿"X"轴在平均液面110上传播的波的巻 曲的不同阶段。巻曲可以是接近岸边的波、该波的距离125或其它因数的 函数。在仿真的波到达破碎触发点160后,可以开始巻曲。
通常,在波浪点(如,波浪点617)和"吸引子"(如,吸引子球620) 之间绘制线("吸引子线"),例如吸引子线612。吸引子线612表示诸如617、 618和619等波浪点与吸引子球620之间的最短距离。在一些实施例中,吸 引子线612与波浪点617和吸引子球620两者相接触。
15然后,在仿真环境600中,将波浪点(如,波浪点617)限制成在某个 方向上移动,和/或限制成以某个速度移动,该速度是它的对应吸引子线(如, 吸引子线612)的函数。例如,可以将波浪点637限制成在该方向上移动, 和/或限制成以某个速度移动,该速度是它的对应吸引子线(如,吸引子线 632)的函数,该吸引子线可以是长度和方向上发生改变的吸引子线612。
在一些实施例中,吸引子线限制了波浪点可以例示的方向。换句话说, 当第一个波610变为第二个波630时,第一个波的波浪点617可以出现在 具有吸引子线612的点上。然后,波浪点617变为波630的波浪点637。在 例如仿真环境600的其它实施例中,吸引子线(例如,吸引子线612)是将 仿真力施加给它的对应波浪点(如,波浪点617)的方向,但是波浪点仍然 具有来自波610的先前渲染的仿真惯量。在另外的其它实施例中,波浪点
具有速度S^。nd和从该波浪点的仿真惯量开始的先前矢量,但是该力是吸引
子线的长度的函数。在另外的其它实施例中,波浪点的速度可以是吸引子 线612的弹力的函数。
从波浪点614到吸引子球620的距离可以随着时间而变化,以下将对 此进行描述,并且吸引子球620、 640、 660、 680的速度和对应的波长610-670
也可以是S^。nd的函数。注意在波沿"X"方向(如图6所示)移动的情 况下,波浪点看起来像被控制的鹅卵石那样向前移动,围绕着吸引子球旋 转。
在一些实施例中,随着变量(例如,距离125或仿真波与岸边间的距 离)发生变化,吸引子球620、 640、 660或680收縮。在一些实施例中, 该收縮可以改变它的吸引子线的矢量方向,其接着又可以改变施加给波浪 点的仿真力。通常,随着吸引子球620-680继续收縮,其对应的波的巻曲将 变得更加显著。
图7示出了波的漩涡。该漩涡具有宽度"w"、长度"1"和角度"e"。 这代表吸引子的一个实施例。在一些实施例中,吸引子可以被渲染成吸引 子球。"W"、 "L"和角度"e"可以是地理、水温等因素。宽度"W"和长 度"L"之间的比例变化的例子,例如可以从长宽比1.6的比例变为3.1。尽 管在其它实施例中吸引子被建模成在水平面上出现的球,其中W: L为l: 1,但是可以使用其它形状和布置来确定吸引子线的长度和方向。图8示出了一种用于使波巻曲的方法700。在一些实施例中,在破碎的 水中,进行方法800。
在710中,产生用于表示液体表面处的波的信号。这可以是平均液面 110处的波610。
在720中,选择波的第一波浪点。例如,选择波浪点618。
在730中,产生用于该波浪点的吸引子,例如吸引子球620。吸引子球 可以是球形,或者可以是其它实施例中的其它形状的吸引子。吸引子的半 径可以是距离125、到岸边的距离或者其它因数的函数。吸引子可以位于沿 x轴的所选点上。在一些实施例中,可以将吸引子放置成使得平均液面110 将吸引子分成两半、或者使得吸引子在该吸引子之上或之下进行正切,或 者采用其它放置方式。
在740中,在一些实施例中,确定吸引子的速度。其可以是先前吸引 子的速度的函数,或者可以作为输入来接收。例如,吸引子640的速度可 以至少部分地是吸引子球620的速度的函数。
在750中,产生吸引子线,例如吸引子线612,其表示波浪点(如,波 浪点617)与吸引子球640之间的最短距离。在一些实施例中,吸引子线可
以表示为
方禾呈6: (V2-V!) *t
其中,W是第波浪点的位置,V2是吸引子上的位置,(吸引子上的最 接近的点),而"t"是随着风、到岸边的距离、盐度等而改变的参数。
在760中,确定第一波浪点的速度。其可以是使用前面的吸引子线的
结果,或者可以作为初始输入来接收。在一些实施例中,还可以确定波浪 点的矢量方向。
在770中,至少根据在上面具体所述的750中所计算的吸引子线来计 算第二波浪点位置,例如630。例如,波浪点617可以变为波浪点637。在 一些实施例中,对于多个波浪点,例如614到618,重复执行780,从而产 生破碎的波的仿真前沿。
在780中,在一些实施例中,还计算第三波浪点,第二波浪点是第三 波浪点所在的同一个波的一部分上的成员。至少根据第二波浪点655的位 置来计算第三波浪点(如,第三波浪点659)。在一些实施例中,第三波浪点659是插入的波浪点,并且该第三波浪点659可能并不位于破碎的波的 前沿上。在一些实施例中,然后,将第二波浪点看作是第一波浪点。
在785中,判断所产生的吸引子是否是最后的吸引子。例如,波是否 会继续巻曲?如果是,方法700结束。否则,785进行到790。
在790中,在一些实施例中,吸引子收縮以产生更小的吸引子,例如 吸引子球640。收縮可以是到岸边的新距离的变化、新距离125或其它因数 的函数。
在792中,然后,将该更小的吸引子放置在一个新的位置。该新位置 可以是该吸引子的速度的函数。792跳转回730。
图9示出了用于渲染如图6所示的波的巻曲的系统800的一个实施例。 虽然可以参照方法700来描述系统800,但是在其它实施例中可以在系统 800中采用其它方法。
使用第一存储器810来存储用于表示从水平面到液体底部之间的距离
(如距离125)的信号。将第二波长(X^。nd)和Ssee。nd作为"X"和"t"输
入到第一波发生器820中。将第一波发生器820(例如在710中)输出的、用 于表示液体表面处的波的信号(即,输出)输入到第一波浪点选择器830 中。然后,将所选择的波浪点传送给吸引子发生器850,如在720中所示。 在一些实施例中,还使用第一节点信号发生器842、第二节点信号发生 器844和第三节点信号发生器846来产生其它破碎的波,并且它们也关联
于第二波长(Second)禾口 Ssecond°
吸引子发生器850接收输入数据,例如吸引子的类型(球形、非球形) 和大小来作为输入,以便帮助产生吸引子。在一些实施例中,吸引子发生 器850执行过程700的730。可以将吸引子放置成由平均液面截成两半、在 波的底部与液体相切、在平均液面下相切。吸引子发生器850还接收吸引 子的速度,如在740中,该速度用于在以后沿着轴经过液体的表面移动吸 引子,如图6所示,以及如在792中所示。
然后,吸引子线发生器860接收来自第一波浪点选择器830的第一点 和来自吸引子发生器850的吸引子。吸引子线发生器850可以产生吸引子 线。如上所述,吸引子线表示波浪点与吸引子间的最短距离。在一些实施 例中,然后,将吸引子线存储在双倍速率数据存取存储器870中。吸引子收縮器875接收来自吸引子发生器850的吸引子,并且该吸引 子收縮器875既可以沿水平轴移动吸引子,又可以同时收縮吸引子以产生 更小的吸引子,如在790中所示。可以根据第一信号、吸引子到岸边的距 离、第二波长或其它因数来收縮吸引子。在其它实施例中,在收縮吸引子 后,吸引子线发生器870产生吸引子线。
用于第二波浪点的计算器("计算器")880使用由吸引子线发生器850 所产生的吸引子线和由第一波浪点选择器830所选择的第一波浪点来确定 第二波浪点的位置。在一些实施例中,首先,计算器880选择第一波浪点 的速度,如在760中所示。然后,如780所示,计算第二波浪点的位置。 然后,将该值输出,作为第二波浪点输出。
备选地,在一些实施例中,还使用用于第三波浪点(例如,波浪点659) 的内插器890。通常,内插器890观察第二波浪点的速度和方向数据,并且 使第三波浪点的速度和方向以该数据为基础。例如,在波的后部上的振幅 与第二波浪点相同的波浪点可以以与第一波浪点相同的速度和相同的方向 移动。然后,将其输出,作为第三波浪点输出。
图IO示出了二维浅水波的漩涡的位置。在图10中,波具有底部、前
部、顶部和后部。然后,图lO中的波内的每个波浪点都根据Sse,d沿X方
向移动。然而,每个波浪点然后根据例如吸引子线,在吸引子(未示出) 周围巻曲。在图10中,在一些实施例中,可以根据对应的前部波浪点的速 度和它们自身的速度,计算/内插得到后部波浪点。
图11-13示出了根据吸引子线到吸引子球的相对长度的各个波的各种 巻曲。每个单独的巻曲的波(1110、 1120、 1130、 1140等)实时表示在它 巻曲时的波的形状。如所说明的那样,通常,吸引子线到吸引子球的长度 越小,巻曲就越显著。
图14示出了视频平台1200的一个实施例,在该视频平台1200中,可 以使用系统500和系统800。在视频平台1200中,计算平台1210耦合到视 频屏幕1220。计算平台1210还耦合到用户界面1220。计算平台1210还耦 合到系统500和系统800。通常,在一些实施例中,计算平台1210可以协 调1120、 1230、 1240和1250间的相互作用。
在视频平台1200的一些实施例中,系统500可以以存储介质中的代码的方式来实现,例如存储在计算平台1210的存储器中的代码。例如,存储 介质可以具有用于第一存储器510的代码,用以存储表示液体表面与液体 底部间的距离的第一信号。存储介质还可以具有用于第一正弦信号发生器 520的代码,用以产生表示液体表面处的波的第一正弦信号。存储介质还可 以具有用于第二存储器530的代码,用以存储正弦信号的第一波长,并且 可以具有用于阈值检测器570的代码,用以在由第一信号表示的液体表面 与液体底部之间的距离小于存储在第二存储器中的第一波长的所选比例的 情况下进行触发。存储介质可以具有用于第二波长确定器575的代码,用 以在阈值检测器570进行触发后,至少根据第一波长和液体表面与液体底 部之间的距离来确定第二波长。存储介质还具有用于第二正弦信号发生器 580的代码,用以至少根据第二波长来产生第二正弦信号。存储介质还可以 具有用于输入振幅倍增器595的代码,用以计算第二正弦信号的具有第二 波长的波的振幅。
权利要求
1、一种方法,包括产生用于表示在液体的平均表面处的波的正弦信号;确定所述液体的所述平均表面和所述液体的底部之间的距离;以及根据所述距离来调整所述正弦信号的特征。
2、 如权利要求1所述的方法,进一步包括产生用于表示在所述液体的所述平均表面处的至少一个波的第一正弦 信号,所述第一正弦信号具有第一波长;接收所述液体的所述平均表面与所述液体的所述底部之间的距离; 如果所述接收的距离小于所述第一波长的所选比例a. 至少根据所述第一波长和所述距离两者来确定第二波长;以及b. 至少根据所述第二波长来计算第二正弦信号中的至少一个波的 具有第二波长的波的振幅。
3、 如权利要求2所述的方法,其中,所述第二波长是介于所述第一波 长和所述第一波长的值的一半之间的值。
4、 如权利要求2所述的方法,其中,所述第一正弦信号至少是经过所 述液体的所述表面的物理位移参数、时间参数或者这两者的函数。
5、 如权利要求2所述的方法,其中,所述第二正弦信号是经调整的第 一正弦信号。
6、 如权利要求2所述的方法,其中,产生所述具有第二波长的波的振幅的步骤进一步包括计算所述第二正弦信号的波的波定义域值;将一陡度值作为所述第二正弦信号的所述波定义域值的指数,用以产 生以陡度进行调整的波定义域值;以及将所述以陡度进行调整的波定义域值乘以初始振幅值,用以产生所述 具有第二波长的波的振幅。
7、 如权利要求6所述的方法,其中,所述陡度值包括第一陡度值和第二陡度值,其中,产生所述具有第二波长的波的振幅的步骤进一步包括至少根据所述液体的所述表面与所述液体的所述底部之间的距离来产生所述第二陡度值;以及将所述第二陡度值作为所述第二正弦信号的所述波定义域值的指数,用以产生所述以陡度进行调整的波定义域值。
8、 如权利要求2所述的方法,进一步包括组合多个具有第二波长的波 的振幅,用以产生聚合的具有第二波长的波的振幅,其中,每个具有第二 波长的波的振幅都得自对应的第二正弦信号。
9、 如权利要求2所述的方法,进一步包括 至少根据所述第二波长来产生所述第二正弦信号的波速。
10、 如权利要求9所述的方法,其中,所述产生所述第二正弦信号的 波速的步骤进一步包括接收所述第一正弦信号的波的波速;计算所述第二正弦信号的波的所述波速,使得第二波速基本等于 所述第一正弦信号的所述波的所述波速乘以以下运算的结果该结果 是所述第二波长除以所述第一波长所得到的值。
11、 如权利要求2所述的方法,进一步包括确定所述具有第二波长的波的振幅与所述液体的所述底部之间的幅值 差;以及根据所述具有第二波长的波的振幅与所述液体的所述底部之间的所述 幅值差,来产生经过高度调整的具有第二波长的波的振幅。
12、 如权利要求ll所述的方法,其中,产生所述经过高度调整的具有第二波长的波的振幅的步骤进一步包括将所述具有第二波长的波的振幅 与所述液体的所述底部之间的所述幅值差加到所述具有第二波长的波的振 幅上,用以产生所述经过高度调整的具有第二波长的波的振幅。
13、 如权利要求2所述的方法,进一步包括减小所述液体的所述平均表面与所述液体的所述底部之间的所述距 离;以及a. 至少根据所述第一波长和所述距离两者来确定第二波长;以及b. 至少根据所述第二波长来计算第二正弦信号的至少一个波的具有第二波长的波的振幅。
14、 如权利要求2所述的方法,进一步包括如果所述液体的所述平均表面与所述液体的所述底部之间的所述距离小于波长的所选比例,则计 算破碎的波,其中,所述波长从包括所述第一波长和所述第二波长的组中 选择。
15、 一种方法,包括产生用于表示在液体的表面处的至少一个波的信号;选择所述至少一个波的第一波浪点;产生用于所述第一波浪点的吸引子;产生用于表示所述第一波浪点与所述吸引子之间的最短距离的吸引子 线;以及至少根据所述吸引子线来计算第二波浪点的位置。
16、 如权利要求15所述的方法,其中,根据所述第一波浪点在所述吸 引子线的矢量方向上的加速度来计算所述第二波浪点的所述位置。
17、 如权利要求15所述的方法,其中,产生用于所述第一波浪点的所 述吸引子的步骤进一步包括-确定所述吸引子的速度;收縮所述吸引子,用以产生更小的吸引子,其在一定位移处产生,该 位移至少是所述吸引子的所述速度的函数;以及至少根据所述吸引子的所述速度和所述吸引子的大小来产生第二吸引子。
18、 如权利要求17所述的方法,其中,产生吸引子线的步骤进一步包括确定所述第一波浪点的位置;以及至少根据所述更小的吸引子的所述速度和所述第一波浪点的所述位置 来产生第二吸引子线。
19、 如权利要求18所述的方法,进一步包括根据所述第一波浪点和 所述第二吸引子线来产生新的第二波浪点。
20、 如权利要求15所述的方法,其中,所述更小的吸引子的大小至少 是从由下列内容构成的组中所选出的项的函数所述液体的所述表面与所 述液体的所述底部之间的所述距离、所述吸引子到岸边的距离、以及这两 者。
21、 如权利要求15所述的方法,进一步包括根据所述第二波浪点来 计算第三波浪点的位置,其中,所述第二波浪点位于所述波的前部。
22、 如权利要求15所述的方法,其中,所述吸引子是球形吸引子。
23、 一种系统,包括第一存储器,用于存储表示液体的表面与所述液体的底部之间的距离的第一信号;第一正弦信号发生器,用于产生表示在所述液体的所述表面处的波的 第一正弦信号;第二存储器,用于存储所述正弦信号的第一波长;阈值检测器,用于在所述第一信号所表示的、所述液体的所述表面与 所述液体的所述底部之间的所述距离小于存储在所述第二存储器中的所述 第一波长的所选比例的情况下进行触发;第二波长确定器,用于在所述阈值检测器进行触发之后,至少根据所 述第一波长和所述液体的所述表面与所述液体的所述底部之间的所述距离 来确定第二波长;第二正弦信号发生器,用于至少根据所述第二波长来产生第二正弦信号;输入振幅倍增器,用于计算所述第二正弦信号的具有第二波长的波的 振幅;以及数字显示输出端口,用于显示所述第二正弦信号的所述具有第二波长 的波的振幅。
24、 如权利要求23所述的系统,进一步包括 耦合到所述计算器和所述第二正弦信号发生器的陡度调整器。
25、 介质存储代码,包括用于第一存储器的代码,该第一存储器用于存储表示液体的表面与所述液体的底部之间的距离的第一信号;用于第一正弦信号发生器的代码,该第一正弦信号发生器用于产生表 示在所述液体的所述表面处的波的第一正弦信号;用于第二存储器的代码,该第二存储器用于存储所述正弦信号的第一 波长;用于阈值检测器的代码,该阈值检测器用于在由所述第一信号所表示 的、所述液体的所述表面与所述液体的所述底部之间的所述距离小于存储 在所述第二存储器中的所述第一波长的所选比例的情况下进行触发;用于第二波长确定器的代码,该第二波长确定器用于在所述阈值检 测器进行触发之后,至少根据所述第一波长和所述液体的所述表面与所述 液体的所述底部之间的所述距离来确定第二波长;用于第二正弦信号发生器的代码,该第二正弦信号发生器用于至少根 据所述第二波长来产生第二正弦信号;用于输入振幅倍增器的代码,该输入振幅倍增器用于计算所述第二正 弦信号的具有第二波长的波的振幅。
26、如权利要求25所述的介质存储代码,其中,将由所述吸引子线发 生器所产生的吸引子线存储在双倍速率数据存取存储器中。
全文摘要
产生用于表示在液体的平均表面处的波的正弦信号。确定液体的平均表面与液体的底部之间的距离。根据距离来调整正弦信号的特征。
文档编号G06T15/70GK101317198SQ200680044390
公开日2008年12月3日 申请日期2006年12月14日 优先权日2005年12月30日
发明者A·T·莱克 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1