我有一个球,并且正朝着这样的角度移动它:
with s as (select '<root><node><a>text1a</a><b>text1b</b></node><node><a>text2a</a><b>text2b</b></node></root>' c from dual)
select x.node node_xml, x.node.getclobval() node_clob
from s,
xmltable(
'/root/node'
passing xmltype(s.c)
columns
node xmltype path '.'
) x;
NODE_XML NODE_CLOB
------------------------------------------ ------------------------------------------
<node><a>text1a</a><b>text1b</b></node> <node><a>text1a</a><b>text1b</b></node>
<node><a>text2a</a><b>text2b</b></node> <node><a>text2a</a><b>text2b</b></node>
当球与墙碰撞时,如何计算反射角?(水平或垂直)
类似this
答案 0 :(得分:1)
对于具有法线向量e_n
的任何墙,具有初始速度向量v_i
的球在反射后具有速度向量v_f
v_f = v_i - 2 dot( v_i, e_n) e_n
,
其中dot
是矢量点积。
说明:
v_i
在e_n
上的投影为dot( v_i, e_n )
。这是朝向墙壁的速度,这是反射时反转的部分。分量p = dot( v_i, e_n )
产生向量p e_n
。可以通过叉积或简单地v_s = v_i - p e_n
来计算剩余分量。最终速度是不变的分量加上反向投影的分量,即v_s - p e_n = v_i - 2 p e_n = v_i - 2 dot( v_i, e_n) e_n