mathe 发表于 2016-10-16 08:26:26

忘了考虑所有同方向面有两个,某个方向奇数次相当于落在对面,所以必须每个方向偶数次

wayne 发表于 2016-10-16 08:38:16

那就可以确定8个点的只有1:1:2这种情况了。对于10个点才有两个解1:1:3,1:2:2

wayne 发表于 2016-10-16 08:55:08

2n个点的回路解,退化成考虑n的正整数拆分了,拆成三个整数之和,且这三个数无序。

拆分完后,只需根据空间对称性, 对这三个数构成的集合做操作,就可以模拟光在立方体内的反射场景。
比如,对其中一个数添加一个负号,就相当于该方向的直线被平面反射回去后的方向。
比如,对调一下两数位置,就相当于在另一个数所代表的法平面对该直线做旋转变换

wayne 发表于 2016-10-16 10:52:58

现在重新洗牌,从数据增量的角度来认识一下 光线回路问题。有望只需从这个角度出发,不需要大量的计算,就可以分析出光线回路的所有解(解的个数,回路的每个数据的参数,初始点的坐标约束以及射出的方向),:)。
有15#的计算得知,坐标为${x_0,y_0,z_0}$的点,沿着斜率为${n,p,k}$的直线经过六个面的接触后,其坐标值的增量是
对于面$x=0$,坐标增量是 $\Delta P_1 =-x_0/n{n,p,k}$
对于面$x=1$,坐标增量是 $\Delta P_2 ={1-x_0}/n{n,p,k}$
对于面$y=0$,坐标增量是 $\Delta P_3 =-y_0/p{n,p,k}$
对于面$y=1$,坐标增量是 $\Delta P_4 ={1-y_0}/p{n,p,k}$
对于面$z=0$,坐标增量是 $\Delta P_5 =-z_0/k{n,p,k}$
对于面$z=1$,坐标增量是 $\Delta P_6 ={1-z_0}/k{n,p,k}$
所以,光线回路问题就是这些$\Delta P$的线性组合。每增加一次,判断其是否在区域内,形成约束条件。
---------------------------------------------------------------------------------------------------------------------------------
以上是针对单个直线的分析。现在来看路径的衔接,即分析反射后的坐标增量的计算。
反射直线的斜率跟入射直线的斜率非常接近,只在一个坐标分量上发生一次符号的翻转。如斜率为${n,p,k}$的入射直线,经过$x=0$的平面反射出去后的斜率就是 ${-n,p,k}$

zeroieme 发表于 2016-10-16 15:31:32

套句这几天流行的歌词。
那答案啊,在风中飘
页: 1 2 [3]
查看完整版本: 正方体内的反射闭合光路