找回密码
 欢迎注册
楼主: hujunhua

[分享] 正方体内的反射闭合光路

[复制链接]
发表于 2016-10-15 12:27:18 | 显示全部楼层
另外我们还可以得出如果不限定每个面都反射一次,而是要求一个周期内所有面反射次数相同,方向也是唯一的
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2016-10-15 12:53:37 | 显示全部楼层
接7楼

做了个2维的反射图
未标题-1.png
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2016-10-15 14:58:26 | 显示全部楼层
mathe 发表于 2016-10-15 11:17
出发点我们总可以假设左平面,那么第二个点可以分为两种
i)右平面, 于是第三个点上下前后任意一个都类似 ...


沿用mathe的方法,不妨做一下标记。立方体的左平面标记为1,上前下后依次标记为2,3,4,5,右平面标记为6.
那么我们可以枚举一下所有的情况。

回路起点从1号开始。2,3,4,5是环形对称的,6是独特的,所以我们根据6的位置进行分类。
1)6在第二个,第六个位置的,需要将2345拆分成0+4的形式,对称性在4个面中展开,路径有 162345 162435 162354,123456  123546 124356  六种
2)6在第三个,第五个位置的,需要将2345拆分成1+3的形式,对称性在3个面中展开,所以 有 126345 126435,134562 143562 四种
3)6在第四个位置的,需要将2345拆分成2+2的形式,考虑对面和邻面。所以有 123645 132645 124635 三种

所以,总共有 6+4+3 = 13 种非平凡情况。比mathe的要少,mathe 帮忙核实一下,


毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2016-10-15 15:13:32 | 显示全部楼层
另外,根据计算得知,反射直线的切线向量 只是根据反射平面的特点取的相反值,其他分量不变。
建立坐标系,设前面是XOY第一象限。x向上取正,y向右取正,z向后取正。 则 正方体1号面的方程是 $x =0$ ,2号面的方程是 $z =1$ ,3号面的方程是 $z =0$ ,4号面的方程是 $y =0$ ,5号面的方程是 $y =1$ ,6号面的方程是 $x =1$
计算得出 入射直线的切向量是${n, p, k}$,经过点 ${x0, y0, z0}$,则入射直线与六个面相交后的反射直线的切向量和反射点坐标 如下图
(六个平面已经按照标号排序,第一个向量表示平面的法向量,第二个表示该平面上的一点)
1.png

可以看得出来,反射点的坐标是非常简洁的表达式,接下来,我们只需要随意选取楼上的一个路径进行迭代计算,然后带入边界条件计算即可。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2016-10-15 16:27:44 | 显示全部楼层
枚举一下前面提及的13个非平凡路径,计算得知只有一个解,124635.

解的一般条件是 入射直线在起点1号平面的交点的坐标${x_0,y_0,z_0}$,切线向量是${n,p,k}$
则$ 0 < z_0 < 1, 1 - z_0 < y_0 < 1,  n:p:k = 1:-1:1$
光线路径分别经过的反射点是$ {0, y_0, z_0}, {1 - z_0, y_0 + z_0-1, 1}, {y_0, 0, 2 - y_0 - z_0}, {1, 1 - y_0, 1 - z_0}, {z_0, 2 - y_0 - z_0, 0}, {1 - y_0, 1,  y_0 + z_0-1}, {0, y_0, z_0}}$
计算得知,每一个顶点处的夹角余弦是$1/3$

由于枚举的是全集, 所以说 不存在对边不相等的回路了。


  1. GetReflectedLine[{{lineVector_,linePoint_},{surfaceVector_,surfacePoint_}}]:=Module[{p0=linePoint(*入射直线的决定点*),v0=lineVector(*入射直线的决定向量,即切向量*),p1=surfacePoint(*反射面的决定点*),v1=surfaceVector(*反射面的决定向量,即法向量*),X,Y,Z,P(*辅助计算的变量*),tmp},P={X,Y,Z};tmp=Solve[Flatten[{Dot[P-p1,v1]==0,Map[#==0&,Cross[P-p0,v0],1]}],P][[1,All,2]];{Solve[{Dot[P,v1]+Dot[v0,v1]==0,Cross[v0,-v1]==Cross[v1,P]},P][[1,All,2]],tmp}];
  2. paths={162345,162435,162354,123456,123546,124356,126345,126435,134562,143562,123645,132645,124635};
  3. faces={{{1,0,0},{0,0,0}},{{0,0,1},{0,0,1}},{{0,0,1},{0,0,0}},{{0,1,0},{0,0,0}},{{0,1,0},{0,1,0}},{{1,0,0},{1,0,0}}};p0={x0,y0,z0};ans=Table[{j,paths[[j]],IncidentLine={{n,p,k},p0};data=Table[{i,IncidentLine=GetReflectedLine[{IncidentLine,faces[[i]]}]},{i,RotateLeft[IntegerDigits[paths[[j]]]]}];Reduce[Flatten[{Map[Less[0,#,1]&,Drop[Union[Flatten[data[[All,2,2]]]],2]],Thread[data[[-1,2,2]]==p0],Map[Less[0,#,1]&,Rest[p0]]}]/.List->And],data},{j,Length[paths]}];ans[[All,1;;3]]
复制代码
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2016-10-15 22:34:22 | 显示全部楼层
代码稍微修改了下。 暴力枚举了下 光线经过5,7个点回到原路的。均无解。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2016-10-15 23:48:13 | 显示全部楼层
光线回路 8个点有很多暴力枚举出来有24个,这24个的切向量都是$1:1:2$的各种变种。有可能是一个解。
{12346235,12356234,12436253,12456345,12536243,12546354,13246325,13256324,13426352,13456245,13526342,13546254,14236523,14256435,14326532,14356425,14526453,14536452,15236423,15246534,15326432,15346524,15426543,15436542}
入射直线在起点1号平面的交点的坐标${x_0,y_0,z_0}$,切线向量是${n,p,k}$

比如 路径 123462351:条件是 $x0=0, 1/2 < y0 < 1 , 2 - 2 y0 <= z0 < 1,  n:p:k= 1:-1:2$
${{0,y0,z0},{(1-z0)/2,1/2 (-1+2 y0+z0),1},{(2-z0)/2,1/2 (-2+2 y0+z0),0},{y0,0,-2+2 y0+z0},{1,1-y0,z0},{(1+z0)/2,1/2 (3-2 y0-z0),1},{z0/2,1/2 (4-2 y0-z0),0},{1-y0,1,-2+2 y0+z0},{0,y0,z0}}$
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2016-10-16 07:15:11 来自手机 | 显示全部楼层
更多次反射同样可以用类似魔方上的方法作更简单.
我们可以考虑展开直线光线和三个方向平面交点数目。比如我们原题中解决的是2:2:2问题
而对于8次相交一般情况,我们可以要求每个方向至少相交一次,不然就转化为退化的二维问题了。
由此,可以有
6:1:1
5:2:1
4:3:1
4:2:2
3:3:2
这五种
其中只有4:2:2这种每个方向都相交偶数次,所以对应其实面和目标面上点的位置是相同的。(wanye说的光线方向是(1,1,2)应该就是4:2:2模式)
而对于其它几种,目标面上的点的位置不同(某个方向是奇数次相交,那么点需要相对这个方向对称变换一次即可)
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2016-10-16 08:26:26 来自手机 | 显示全部楼层
忘了考虑所有同方向面有两个,某个方向奇数次相当于落在对面,所以必须每个方向偶数次

点评

是不是意味着对边相等的规律对于更多次的情况也是恒满足的  发表于 2016-10-16 08:43
很有道理  发表于 2016-10-16 08:36
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2016-10-16 08:38:16 | 显示全部楼层
那就可以确定8个点的只有1:1:2这种情况了。对于10个点才有两个解1:1:3,1:2:2
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

小黑屋|手机版|数学研发网 ( 苏ICP备07505100号 )

GMT+8, 2024-11-22 14:52 , Processed in 0.025945 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表