Apr 10
Apr 8
在一个大圆中,四个半径为大圆一半的小圆过圆心分布在坐标轴的x,y轴正负半轴上,如图:
证明小圆两两相交的面积之和(红色区域)和小圆没有覆盖的面积(绿色区域)相等?
先看一个外国人怎么证明的:
证明:先考虑上面图形的1/8,并给各个面积标上a,b,c,d等,如下图:
设R是大圆的半径,我们可以得到:
a+b+c+d=PI*R*R/8;
b+c+d+e=PI*R*R/8;
这样就得到a=e=d;8a=8d,这样就证明了。
Mar 14
Mar 14
Mar 5
Mathematica真的是很强大的工具,你一定见过用各种图片拼起来的马赛克图片,现在你用Mathematica就能实现了。
imagePool = Map[With[{i = Import[#]}, {i, Mean[Flatten[N[i[[1, 1]]], 1]]}] &, FileNames["Pool/*.jpg"]];
closeMatch[c_] := RandomChoice[Take[SortBy[imagePool, Norm[c - #[[2]]] &], 20]][[1]];
Grid[Reverse[Map[closeMatch, Import["MasterImage.tif"][[1, 1]], {2}]], Spacings -> {0, 0}]
closeMatch[c_] := RandomChoice[Take[SortBy[imagePool, Norm[c - #[[2]]] &], 20]][[1]];
Grid[Reverse[Map[closeMatch, Import["MasterImage.tif"][[1, 1]], {2}]], Spacings -> {0, 0}]
Pool/*.jpg是你图库里的所有jpg图片,imagePool是载入所有这些图片,然后算出他们的平均RGB值。所以我先把我的图片都用PS做成了25*25,并调成灰度显示。closeMatch会把把你的图片的每一个像素从颜色最接近20张图片中的随机选一个代替。所以我把我的照片裁剪后压成 35*40的。最后Grid会输出我的马赛克拼图了。