辛几何&李代数

巴克豪斯常数

巴克豪斯常数

让被定义为幂序列谁的这项有一个系数等于个素数, (1) (2) 函数有一零点(OEISa088751)。现在让被定义的 ... 阅读全文

 

巴克豪斯常数

巴克豪斯常数被定义为序列谁的巴克豪斯常数这项有一个系数等于巴克豪斯常数素数 巴克豪斯常数

巴克豪斯常数巴克豪斯常数巴克豪斯常数

(1)

巴克豪斯常数巴克豪斯常数巴克豪斯常数

(2)

函数有一零点巴克豪斯常数(OEISa088751)。现在让巴克豪斯常数被定义的

巴克豪斯常数巴克豪斯常数巴克豪斯常数

(3)

巴克豪斯常数巴克豪斯常数巴克豪斯常数

(4)

巴克豪斯常数巴克豪斯常数巴克豪斯常数

(5)

(OEISa030018)。

巴克豪斯常数

然后,巴克豪斯推测

巴克豪斯常数巴克豪斯常数巴克豪斯常数

(6)

巴克豪斯常数巴克豪斯常数巴克豪斯常数

(7)

(OEISa072508)。这一限制随后被证明由P. Flajolet存在。请注意,巴克豪斯常数,这 从收敛半径对 倒数幂级数。

这个连分数巴克豪斯的常数是[ 1,2,5,5,4,1,1,18,1,1,1,1,1,2,…](OEISa074269 ),这是一样的连分数也巴克豪斯常数除了 领先后者的0。

收起全文

辛几何&李代数

曲面扭结

曲面扭结

1、极小曲面(Minimal surface) 简而言之,极小曲面就是平均曲率为零的曲面。给定一条闭曲线,可以设想蒙在这条闭曲线上的所有曲面中,有一个面积最小者,这个具有最小面积的曲面正是极小曲面。平面是仅有的极小可展曲面。除平面外,旋转极小曲面都是悬链面,直纹极小曲面都是正螺面。下图,螺旋面(Gyroid)是典型的三重周期极小曲面,由Alan Schoen... 阅读全文

曲面扭结 

 

 

1、极小曲面(Minimal surface)

    简而言之,极小曲面就是平均曲率为零的曲面。给定一条闭曲线,可以设想蒙在这条闭曲线上的所有曲面中,有一个面积最小者,这个具有最小面积的曲面正是极小曲面。平面是仅有的极小可展曲面。除平面外,旋转极小曲面都是悬链面,直纹极小曲面都是正螺面。

下图,螺旋面(Gyroid)是典型的三重周期极小曲面,由Alan Schoen于1970年发现,它可近似定义为一个简单的等曲面方程cos(x)sin(y) + cos(y)sin(z) + cos(z)sin(x) = 0.

曲面扭结

Richmond的极小曲面(作者Paul Nylander)

曲面扭结

2、超复数分形(hypercomplex fractals)

    超复数类似于通常的二维复数,只不过它们扩充到三维空间甚至更高维空间。超复数分形就是n>=3维的分形,想必高维分形神奇得更令人惊叹吧。

   下图这个超复数分形基于Daniel White富有创造性的三维超复数(三重)公式,通过在球坐标系内作两次连续旋转而成。生成的图像,如星云一般。

曲面扭结

下图,是一个三维的Julia集,根据Daniel White的四维超复数开平方。

曲面扭结

下图为彩色的四维Julia集,即四元数分形。

曲面扭结

下图,采用逆Julia集方法。Dominic Rochon 采用寻找二重复数的平方根公式帮助作者绘制该图,该公式有四个根,所以在每次迭代后,点总数增加了四倍。

曲面扭结

 3、分形

克莱因1/15双尖群分形。一个异彩纷呈的多元宇宙大花园。

曲面扭结

克莱因1/15双尖群逆分形。

曲面扭结

 

 

 

 

 

 

 

 

 

 

 克莱因拟福克斯极限集(Kleinian Quasifuchsian Limit Set)。

曲面扭结

围绕十二面体的三维树分形。树木繁盛的生态星球。

曲面扭结

递归(7,3)庞加莱超双曲盘。圆盘内盛满更小的庞加莱双曲盘,盘内又有盘。小盘呈超双曲多边形,采用一种共形映射技术。

曲面扭结

周围镶嵌神马图的曼德布罗集(Mandelbrot Set Tessellation)。周围镶嵌的图案呈扭曲状,因为它不是超双曲瓷砖。

曲面扭结

黄金比螺旋轨道(Golden Ratio Spiral Orbit Trap )分形

曲面扭结

收起全文

辛几何&李代数

乐于分享并且有一些很不错的开源项目的个人和组织

乐于分享并且有一些很不错的开源项目的个人和组织

Follow大神,深挖大神的项目和following,你会发现很多。 一、个人 JakeWharton就职于Square,绝对牛逼的大神,项目主要集中在Android版本兼容,ViewPager及开发工具上Github地址:https://github.com/JakeWharton 代表作:ActionB... 阅读全文

Follow大神,深挖大神的项目和following,你会发现很多。

一、个人

  1. JakeWharton
    就职于Square,绝对牛逼的大神,项目主要集中在Android版本兼容,ViewPager及开发工具上
    Github地址:https://github.com/JakeWharton
    代表作:ActionBarSherlock,Android-ViewPagerIndicator,Nine Old Androids,SwipeToDismissNOA,hugo,butterknife,Android-DirectionalViewPager, scalpel
    pidcat另外对square及其他开源项目有很多贡献
    主页:http://jakewharton.com/

  2. Chris Banes
    Github地址:https://github.com/chrisbanes
    代表作:ActionBar-PullToRefresh,PhotoView,Android-BitmapCache,Android-PullToRefresh
    主页:http://chris.banes.me/

  3. Koushik Dutta
    就职于ClockworkMod
    Github地址:https://github.com/koush
    代表作:Superuser,AndroidAsync,UrlImageViewHelper,ion, 另外对https://github.com/CyanogenMod的开源项目有很多贡献
    主页:http://koush.com/

  4. Simon Vig
    Github地址:https://github.com/SimonVT
    代表作:android-menudrawer,MessageBar
    主页:http://simonvt.net/

  5. Manuel Peinado
    Github地址:https://github.com/ManuelPeinado
    代表作:FadingActionBar,GlassActionBar,RefreshActionItem,QuickReturnHeader

  6. Emil Sj?lander
    Github地址:https://github.com/emilsjolander
    代表作:StickyListHeaders,sprinkles,android-FlipView
    主页:http://emilsjolander.se/

  7. greenrobot
    Github地址:https://github.com/greenrobot
    代表作:greenDAO,EventBus
    主页:http://greenrobot.de/

  8. Jeff Gilfelt
    Github地址:https://github.com/jgilfelt
    代表作:android-mapviewballoons,android-viewbadger,android-actionbarstylegenerator,android-sqlite-asset-helper
    主页:http://jeffgilfelt.com

  9.  Romain GuyAndroid team成员(2013.10已离开Android team,仍在Google)

    Github地址github.com/romainguy代表作ViewServer
  10. sephiroth74
    就职于Aviary.com
    Github地址:https://github.com/sephiroth74
    代表作:ImageViewZoom,HorizontalVariableListView,AndroidWheel,purePDF
    主页:http://www.sephiroth.it/

  11. Cyril Mottier
    Google开发者专家认证,发布一些Android技巧及文章
    Github地址:https://github.com/cyrilmottier
    代表作:GreenDroid,Polaris
    主页:http://cyrilmottier.com/
    乐于分享并且有一些很不错的开源项目的个人和组织

二、组织

  1. Square
    有态度有良心的企业,很多不错的分享
    Github地址:https://github.com/square
    代表作:okhttp、fest-android,android-times-square、picasso、dagger、spoon等等
    主页:http://square.github.io/

  2. Inmite s.r.o.
    Github地址:https://github.com/inmite
    代表作:android-styled-dialogs,android-grid-wichterle,android-selector-chapek
    主页:http://www.inmite.eu/
    乐于分享并且有一些很不错的开源项目的个人和组织

三、博客

  1. Chet Haase
    Android framework UI team 成员
    主页:http://graphics-geek.blogspot.com/
    乐于分享并且有一些很不错的开源项目的个人和组织

License

        Copyright 2014 trinea.cn Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

收起全文

辛几何&李代数

免平方字符串

免平方字符串

字符串hello当中连续出现了两个l。字符串prototype当中连续出现了两个ot。字符串nonsense当中连续出现了两个nse。如果某个字符串中连续出现了两个相同的片段,换句话说这个字符串里面含有形如XX的模式(其中X代表一个子串),我们就说这个字符串中含有一个&平方&(square)。如果某个字符串中没有平方出现,我们就说这个字符串是&免平方&的(s... 阅读全文

字符串 hello 当中连续出现了两个 l 。字符串 prototype 当中连续出现了两个 ot 。字符串 nonsense 当中连续出现了两个 nse 。如果某个字符串中连续出现了两个相同的片段,换句话说这个字符串里面含有形如 XX 的模式(其中 X 代表一个子串),我们就说这个字符串中含有一个平方square)。如果某个字符串中没有平方出现,我们就说这个字符串是免平方的(square-free)。

如果只使用两种字符,比方说字符 0 和字符 1 的话,我们只能构造出一些长度非常有限的免平方字符串。事实上,我们只能构造出以下 6 个免平方字符串: 0 、 1 、 01 、 10 、 010 、 101。然而,如果允许使用三种字符,比方说字符 0 、 1 、 2 的话,我们不但能够构造出任意长的免平方字符串,还能构造出无限长的免平方字符串。在继续阅读下去之前,你不妨先自己试试看。

让我们先来看一个与刚才的讨论似乎毫不相关的问题。你能找出下面这个序列的规律吗?(考虑到字符串本质上就是一个字符序列,因此下面我们会经常混用字符串序列这两个概念。)

0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1 …

答案:它们分别表示 0, 1, 2, 3, 4, … 的二进制表达中有多少个数字 1 ,其中 0 代表有偶数个数字 1 , 1 代表有奇数个数字 1 。如果我还没说清楚的话,看看下表你应该就明白了。

十进制数

0

1

2

3

4

5

6

7

8

9

10

11

二进制数

0

1

10

11

100

101

110

111

1000

1001

1010

1011

1 的个数

偶数

奇数

奇数

偶数

奇数

偶数

偶数

奇数

奇数

偶数

偶数

奇数

序列

0

1

1

0

1

0

0

1

1

0

0

1

我们不妨把这个序列用 t 表示。序列 t 还有很多等价的定义,比方说,我们可以递归地定义,当n 为偶数时, t(n) = t(n/2) ,当 n 为奇数时,t(n) = 1 – t(n-1) ;最后再规定 a(0) = 0,整个序列就唯一地确定了。你会发现,定义方式虽然是新的,但是背后的实质仍然没变。如果 n是偶数,那么 n 的二进制表达的最后一位就是数字 0 ,除以 2 其实就相当于是去掉这个数字 0,数字 1 的个数的奇偶性显然没变。如果 n 是奇数,那么 n 的二进制表达的最后一位就是数字1,而 n – 1 的二进制表达的最后一位则是数字 0 ,这两个二进制数仅在最后一位有所不同,因此数字 1 的个数的奇偶性肯定是相反的。因而,不断这样递推下去,最后得到的序列与刚才的序列 t 一模一样。由于对于所有的偶数 n , t(n) = t(n/2) 始终成立,因此这个序列还有一个非常炫的性质:把序列中的 t(1), t(3), t(5), … 都去掉,仅保留 t(0), t(2), t(4), … ,由此得到了一个新的无穷序列,它和原来的序列完全相同!另外,由于对于所有的奇数 n , t(n) = 1 – t(n-1) = 1 – t((n-1)/2) 始终成立,你也可以选择去掉 t(0), t(2), t(4), … ,保留t(1), t(3), t(5), … ,由此得到一个新的无穷序列,它和原序列的每一项都正好相反。

在介绍序列 t 时,很多地方会采用另一种等价的定义方式:从 0 出发,不断执行取反并后置的操作,最终得到的序列就是序列 t 。所谓取反,就是把所有的 0 全部变成 1 ,把所有的 1 全部变成 0 ;所谓后置,就是把所得的字符串接在当前字符串的后面。从 0 出发,取反后得 1 ,把它加在 0 后面便得到 01 ; 01 取反后得 10 ,把它加在 01 后面便得到 0110; 0110 取反后得到 1001 ,把它加在 0110 后面便得到 01101001 ……不断这样下去,我们就会得到序列 t 。

 01  0110  01101001  0110100110010110  …

为什么?因为这种序列生成法的本质仍然是在统计二进制数的数字 1 的个数。我们不断地根据二进制数的规律,利用 t(0) 到 t(2n – 1) 的值,推出 t(2n) 到 t(2n+1 – 1) 的值。比方说,序列 t 的前 4 个数分别代表 00, 01, 10, 11 这 4 个二进制数中数字 1 的个数的奇偶性,那么序列 t 接下来的 4 个数就应该分别代表 100, 101, 110, 111 这 4 个二进制数中数字 1 的个数的奇偶性。前 4 个二进制数与后 4 个二进制数的区别仅仅在于最前面的那个数字 1 ,因而它们所含的数字 1 的个数的奇偶性应该正好相反。因此,如果序列 t 的前 4 个数分别是 0, 1, 1, 0,那么序列 t 接下来的 4 个数就应该完全反过来,分别是 1, 0, 0, 1 了。

 

从 1906 年到 1914 年,挪威数学家 Axel Thue 发表了一系列论文,第一次对这个序列进行了细致的研究,成为了 combinatorics on words 这个新的数学分支的开山之作。 1921 年,美国数学家 Marston Morse 把 Thue 提出的序列用在了微分拓扑上,因而这个序列最终被命名为了 Thue-Morse 序列。

Thue-Morse 序列有很多非常漂亮的性质。如果某个字符串中连续出现了两个相同的片段,但它们有一个字符的交叉,换句话说这个字符串当中出现了形如 aXaXa 的模式,其中 X 代表一个子串,a 代表一个字符,那么我们就说 aXa 在这个字符串当中发生了重叠overlap)。例如,单词banana 当中的 ana 就出现了重叠,单词 Mississippi 中的 issi 也出现了重叠。如果某个字符串中没有重叠出现,我们就说这个字符串是免重叠的(overlap-free)。下面我们就来证明Thue-Morse 序列的一个最为重要的性质:它是免重叠的。

我们采用反证法。假如 Thue-Morse 序列存在重叠子串,那么在所有的重叠子串中一定有一个最短的重叠子串。这意味着, Thue-Morse 序列将会包含 aXaXa 的模式,其中 X 表示某个子串, a表示某个字符,并且 X 的长度已经达到最小。首先我们证明, X 的长度不可能是奇数。否则,三个 a 的位置编号的奇偶性相同,因而如果我们从第一个 a 开始,间隔地读出各个字符,就会得到形如 aX’aX’a 的结果,其中 X’ 就是从 X 当中抽出的字符串,长度是 X 的一半(取下整)。然而,前面我们已经提到过 Thue-Morse 序列的性质了:间隔地抽取字符,得到的新字符串要么就是 Thue-Morse 序列,要么取反后就是 Thue-Morse 序列。这说明, aX’aX’a ,或者它取反后的结果,其实就是 Thue-Morse 序列的子串。因而, Thue-Morse 序列当中存在比 aXaXa 更短的重叠现象,这与 X 的长度的最小性矛盾。

接下来我们证明, X 的长度也不可能是偶数。首先注意到, 4n, 4n + 1, 4n + 2, 4n + 3 的二进制表达中,只有最后两位数字不一样,它们依次是 00, 01, 10, 11 。因此, t(4n), t(4n + 1), t(4n + 2), t(4n + 3) 的值要么依次是 0, 1, 1, 0 ,要么依次是 1, 0, 0, 1 。所以,如果我们把 Thue-Morse 序列四个数四个数地看作一组,你会发现 Thue-Morse 序列就是由一个一个的 (0, 1, 1, 0)  (1, 0, 0, 1) 组成的。

如果 X 的长度是大于等于 4 的偶数,那么不管 aXaXa 在 Thue-Morse 序列中的什么地方出现,前一个 aXa 里必然会包含某个四元组的中间两项,不妨假设这是 aXa 中的第 i 项和第 i + 1项。另外,别忘了 X 的长度是一个偶数,因此前一个 aXa 需要向右移动奇数个单位才能和后一个aXa 重合。这就矛盾了:向右移动奇数个单位后, aXa 的第 i 项和第 i + 1 项将会对应于另一个四元组的前面两项或者后面两项,于是前一个 aXa 的第 i 项和第 i + 1 项是两个相同的数字,后一个 aXa 中的第 i 项和第 i + 1 项是两个不同的数字,这显然是荒谬的。

免平方字符串

如果 X 的长度等于 2 , aXa 的长度会非常短,以至于会发生这样的情况:没有任何一个四元组的中间两项落在了前一个 aXa 的范围里,此时前面的推理就失效了。不过没关系,如果真的发生了这种情况, aXaXa 的位置只可能像下图这样,此时前一个 aXa 的第 1 项和第 2 项对应于某个四元组的后两项,但后一个 aXa 的第 1 项和第 2 项就会对应于下一个四元组的中间两项,矛盾依然存在。

免平方字符串

最后,如果 X 的长度为 0 呢?这就更不可能了。在 Thue-Morse 序列中,任意三个连续的字符都会涵盖到某个四元组的前面两项或者后面两项,因而包含两个不同的数字。因此,在 Thue-Morse序列中绝不可能有形如 aaa 的子串出现。

综上所述, Thue-Morse 序列中不可能包含形如 aXaXa 的子串,即 Thue-Morse 序列是免重叠的。

 

有了这个结论之后,我们就能解决本文最初提到的问题了。借助 Thue-Morse 序列,我们可以得到一个无限长的免平方字符串,其中只含 0 、 1 、 2 三种字符。方法很简单:只需要依次列出Thue-Morse 序列中相邻两个 0 之间有多少个 1 即可。在 Thue-Morse 序列中,第 1 个数字 0和第 2 个数字 0 之间夹着 2 个数字 1 ,第 2 个数字 0 和第 3 个数字 0 之间夹着 1 个数字1 ,第 3 个数字 0 和第 4 个数字 0 之间夹着 0 个数字 1 ,第 4 个数字 0 和第 5 个数字 0之间夹着 2 个数字 1 ……于是,我们就得到了一个以 2, 1, 0, 2 开头的无限字符串。注意,由于 Thue-Morse 序列中不可能出现三个或者三个以上的连续数字 1 ,因此所得字符串中不会出现大于等于 3 的数字,只有数字 0 、 1 和 2 。

Thue-Morse 序列: 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0…
新的序列:2, 1, 0, 2, 0, 1, 2, …

为什么由此得到的序列是免平方的呢?很简单。如果新的序列里面出现了某个平方,比如 a1a2a3…ana1a2a3…an ,这就意味着 Thue-Morse 序列里出现了 0 1a1 0 1a2 0 1a3 0 … 0 1an 0 1a1 0 1a20 1a3 0 … 0 1an 0 (其中 1a1 表示连续 a1 个数字 1 ,以此类推),于是形成了重叠子串,与Thue-Morse 序列的免重叠性矛盾。

 

从 Thue-Morse 序列的免重叠性出发,我们还能得出很多有趣的推论。例如, Thue-Morse 序列一定是免立方的,即 Thue-Morse 序列中不存在形如 XXX 的子串。原因很简单:不妨假设 X = aX’,那么 XXX 实际上就是 aX’aX’aX’ ,其中 aX’aX’a 形成了重叠子串,又与 Thue-Morse 序列的免重叠性矛盾了。由此可以进一步推出, Thue-Morse 序列永远不会发生循环。原因很简单:如果 Thue-Morse 序列从某处开始发生循环,这就直接与 Thue-Morse 序列的免立方性矛盾了。

同时, Thue-Morse 序列是一个复现序列recurrent sequence),意即 Thue-Morse 序列中的每一个子串都会出现无穷多次。这个事实背后的原因也很简单。比方说,我们在 Thue-Morse序列当中取出 t(6)  t(10) 这么一段,它们是 0, 1, 1, 0, 0 ,表示二进制数 0110, 0111, 1000, 1001, 1010 的数字 1 的个数的奇偶性。那么, 0, 1, 1, 0, 0 今后一定会出现无数多次。在数到二进制数 110110, 110111, 111000, 111001, 111010 时,我们会再一次得到 0, 1, 1, 0, 0 ;在数到二进制数 1010110, 1010111, 1011000, 1011001, 1011010 时,我们会再一次得到 0, 1, 1, 0, 0 。这样的机会显然还有无穷多,例如,在数到二进制数 1101001000110,1101001000111, 1101001001000, 1101001001001, 1101001001010 时,我们会再一次得到 0, 1, 1, 0, 0 

构造一个复现序列很简单,任何一个循环序列即满足要求,比如 0, 1, 0, 1, 0, 1, … 。而Thue-Morse 序列则告诉了我们:存在不是循环序列的复现序列。

 

最后,我们再不加证明地给出两个与 Thue-Morse 序列有关的神奇结论。对于哪些正整数 k ≥ 2,存在两个大小相等的整数集合 A = {a1, a2, a3, …, an B = {b1, b2, b3, …, bn,使得

a1 + a2 + a3 + … + an = b1 + b2 + b3 + … + bn
a12 + a22 + a32 + … + an2 = b12 + b22 + b32 + … + bn2
……
a1k + a2k + a3k + … + ank = b1k + b2k + b3k + … + bnk

即集合 A 里的所有数与集合 B 里的所有数从 1 次方和到 k 次方和全都相等?当然,集合 A 和集合 B 必须是两个不同的集合。答案是,对于所有的正整数 k ≥ 2 ,满足要求的解都是存在的。利用 Thue-Morse 序列,我们可以得出一种 n = 2^k 的构造解,方法如下:取出 Thue-Morse序列的前 2k+1 位,即 t(0), t(1), …, t(2^(k+1) – 1),如果 t(i) = 0 ,就把 i 放进集合 A里,如果 t(i) = 1 ,就把 i 放进集合 B 里。

i

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

t(i)

0

1

1

0

1

0

0

1

1

0

0

1

0

1

1

0

 k = 3 时,如上表所示,根据规则,我们应该把 0, 3, 5, 6, 9, 10, 12, 15 分为一组,把1, 2, 4, 7, 8, 11, 13, 14 分为另一组。神奇的事情出现了:下面三个等式真的是成立的!

0 + 3 + 5 + 6 + 9 + 10 + 12 + 15 = 1 + 2 + 4 + 7 + 8 + 11 + 13 + 14
02 + 32 + 52 + 62 + 92 + 102 + 122 + 152 = 12 + 22 + 42 + 72 + 82 + 112 + 132 + 142
03 + 33 + 53 + 63 + 93 + 103 + 123 + 153 = 13 + 23 + 43 + 73 + 83 + 113 + 133 + 143

Thue-Morse 序列还能帮忙构造幻方。 1977 年, Adler Allan 和 Shuo-Yen Robert Li 给出了一种算法,可以利用 Thue-Morse 序列构造 2^n × 2^n的幻方(其中 n ≥ 2 )。首先,从左至右从上至下地把 1 到 2^2n的数填入 2^n × 2^n的方格里。然后,如果 Thue-Morse 序列中的第 i个数是 0 (即 t(i – 1) = 0 ),就把 i 从方格里拿出来。最后,把所有拿出来的数倒序放回方格,我们就得到了一个幻方。下图所示的是 n = 2 时的例子。由于 Thue-Morse 序列中的第 1, 4, 6, 7, 10, 11, 13, 16 个数是 0 ,因而我们把这些数从 4 × 4 的方阵中取出来;把它们以相反的顺序放回去后,可以验证,方阵中的每一行、每一列和两条对角线上的数字之和都是 34 。

i

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

t(i – 1)

0

1

1

0

1

0

0

1

1

0

0

1

0

1

1

0

免平方字符串

收起全文

辛几何&李代数

全球最早计算机 比已知更古老

安提基特拉机械(希腊文:O μηχανισμός των Αντικυθήρων, O mēchanism&s tōn Antikythērōn,(英语发音:/ˌ&ntɨkɨˈθɪərə/ ant-i-ki-theer-ə or 英语发音:/ˌ&ntɨˈkɪθərə/ ant-i-kith-ə-rə,或译为安提基瑟拉、安提基西拉)是古希腊时期为了计算天体在天... 阅读全文

安提基特拉机械(希腊文:O μηχανισμός των Αντικυθήρων, O mēchanismós tōn Antikythērōn,(英语发音:/ˌæntɨkɨˈθɪərə/ ant-i-ki-theer-ə or 英语发音:/ˌæntɨˈkɪθərə/ ant-i-kith-ə-rə,或译为安提基瑟拉、安提基西拉)是古希腊时期为了计算天体在天空中的位置而设计的青铜机器,属于模拟计算机[1][2]。该机器是于1901年在希腊安提基特拉岛附近的安提基特拉沉船里发现的[3]。该机械的制造年代约在公元前150到100年之间[4],至今已有二千多年。类似的如此复杂工艺技术直到14世纪时欧洲制造了天文钟后才重新出现[5]。

法国海洋学家雅克-伊夫·库斯托最近一次探查该沉船是在1978年[6],但并未发现该机器其他相关的残骸。最近研究该机械的卡迪夫大学麦可·埃德蒙教授说:“该机器是如此的非凡,而且是仅此一件。这个设计是美丽的,其天文周期极为精确。这个机械的设计会让所有人惊讶得下巴脱落。无论是谁设计的都是非常仔细……在历史性和稀少性的价值上,我必须承认这个机械比蒙娜丽莎还有价值”[7][8]。

安提基特拉机械现在和德瑞克·约翰·德索拉·普莱斯(Derek John de Solla Price)制造并捐赠的重建品一起收藏于雅典国家考古博物馆。其余重建品位于美国蒙大拿州波兹曼市的美国电脑博物馆、纽约市的曼哈顿儿童博物馆和德国卡塞尔。

全球最古老计算机安提基瑟拉仪(Antikythera Mechanism)的生锈铜制碎片,比科学家之前认为的还要早100年。

英国《每日邮报》(Daily Mail)报导,这项说法源自阿根廷研究人员,他们在安提基瑟拉仪背面发现刻度盘,即日月蚀预测历表,其中包括西元前205年5月12日的日蚀。

先前对安提基瑟拉仪进行的碳14定年测定,得出的建造日期较晚,约在西元前100到150年。

阿根廷国立圭梅斯大学(National University ofQuilmes)的研究指出,这部计算机预测日蚀的过程是巴比伦算法而不是希腊三角函数。

根据马可夫(John Markoff)刊登于《纽约时报》的报告,这部古老装置“比其他已知类似科技样本早了超过1000年”。

这部非常复杂的机械是由多达40个铜制齿轮组成,在古代用来追踪太阳系周期。

这部机器是1900年在安提基瑟拉残骸发现。安提基瑟拉残骸是在希腊安提基瑟拉岛外海失事的罗马货船。

研究人员2008年扫描这台机器时发现,这部机器也可能用来预测日蚀并纪录希腊日历的重要事件,像是奥林匹克运动会。

安提基瑟拉仪可追踪当时已知星球水星、金星、火星、木星与土星动向,以及太阳位置和月球位置与位相。

收起全文

深圳成人高考—深圳再学网

参加成人高考考生如何复习数学基本内容

进入成人高考复习的冲刺阶段,考生们在复习的时候不应该再求难、求全,基础不好,就抓住每个章节基本要考查的内容,掌握基本内容,数学得分也就没有那么困难。 高中起点数学分文、理科,理科数学考查点略多于文科数学,但考查难度和题型特点已非常接近,考生复习策略、方法及把握要点趋同。考前冲刺和平时复习的主要区别是:考前一个月考生要分析考试内容分布,弄清考试重点,强化... 阅读全文

进入成人高考复习的冲刺阶段,考生们在复习的时候不应该再求难、求全,基础不好,就抓住每个章节基本要考查的内容,掌握基本内容,数学得分也就没有那么困难。

高中起点数学分文、理科,理科数学考查点略多于文科数学,但考查难度和题型特点已非常接近,考生复习策略、方法及把握要点趋同。考前冲刺和平时复习的主要区别是:考前一个月考生要分析考试内容分布,弄清考试重点,强化复习。

考生要认识到,高起点数学考查三部分内容:代数、解析几何和概率统计,代数部分的考查内容最多、所占分值最大。代数部分的重点内容为函数,对函数的考查可能会以选择题或解答题形式出现,考生要掌握四点:会求函数值;掌握五种函数的基本概念(一次函数、二次函数、反比例函数、指数函数、对数函数);会判断函数的奇偶性;指数、对数基本运算会互化,重点是对数式化为指数式以及分数指数运算和负指数运算。

当然,考生也不能放松对常见得分点的复习。比如,集合部分把握交、并、补集的运算和充分必要条件的判断;不等式部分能熟练解绝对值不等式和一元二次不等式;导数部分掌握求导法则,会求函数的最大、最小值;数列部分的考查内容最容易在选择填空题中出现,考生要记住:“等差、等比(数列)需知晓,综合运用“前(N)项和”,中项、通项(公式)经常考”。

  新大纲对三角函数部分的难度调整最大,考生把握基本概念后,要重点掌握恒等变换、两角和差、二倍角、三角形求边和角几项内容。解析几何约占总分的20%30分,考查点不会涉及很多,复习冲刺时考生可加强向量基本运算、求直线方程、标准方程的训练。概率统计部分对排列组合和等可能性事件发生的概率方差有所掌握就可以了。

  理科数学的考查内容大约比文科数学多30%,主要为反函数、立体几何和复数。理科考生要注意,大纲对立体几何的点和面、线和面、面和面的关系考查要求有所降低,不会以解答题形式出现。

  考生冲刺最好围绕上述章节的重点知识进行。这段时间考生多做历年的真题,刚从学校毕业不久或有一定基础的考生可以选择参加考前串讲,脱离学校时间太久的考生要抓紧时间熟悉基本概念和公式。

 

 

收起全文

辛几何&李代数

点是否在 三角形,凸多边形, 凹多边形,四面体高维单形内的判断

点是否在 三角形,凸多边形, 凹多边形,四面体高维单形内的判断

对于三角形的情况, 我们使用有向面积来判断,假设三角形三个点为(x1,y1),(x2,y2), (x3,y3), 需要判断的点为(x,y). 根据向量代数的公式, 已知3点坐标, 判断三角形有向面积为 有向面积的正负与行列式的排列顺序有关(交换行列式的任意两行, 行列式的正负发生变化)简单的可以展开为 A0 = (x1y2 & x1y3 & x2y1 ... 阅读全文

对于三角形的情况, 我们使用有向面积来判断,假设三角形三个点为(x1,y1),(x2,y2), (x3,y3), 需要判断的点为(x,y). 根据向量代数的公式, 已知3点坐标, 判断三角形有向面积为

点是否在 三角形,凸多边形, 凹多边形,四面体高维单形内的判断

有向面积的正负与行列式的排列顺序有关(交换行列式的任意两行, 行列式的正负发生变化)

简单的可以展开为 A0 = (x1y2 – x1y3 – x2y1 + x3y1 + x2y3 - x3y2)/2. 这个判断式子与 叉乘的判断的公式是一模一样的. 可以看出通过有向面积可以统一 <编程之美>中的两种方法, 面积与叉乘的方法在数学本质上是一致的.

 

如何判断一个点在四面体的内部呢? 使用有向体积的概念. 假设四面体的四个顶点的坐标为 (x1,y1,z1), (x2,y2,z2), (x3,y3,z3), (x4,y4,z4).  需要判断的点为(x,y,z). 那么原来四面体的有向体积 为

 

点是否在 三角形,凸多边形, 凹多边形,四面体高维单形内的判断

 

同理剩下的4个有向体积分别为

点是否在 三角形,凸多边形, 凹多边形,四面体高维单形内的判断

点是否在 三角形,凸多边形, 凹多边形,四面体高维单形内的判断

 

判断准则很简单, V0与V1V2V3V4都同向的时候, 则点位于四面体内, 否则位于四面体外.  当Vi = 0 的时候, 则此四面体退化了.

收起全文

辛几何&李代数

Android开源项目资源整理

Android开源项目资源整理

第二部分 工具库主要包括那些不错的开发库,包括依赖注入框架、图片缓存、网络相关、数据库ORM建模、Android公共库、Android 高版本向低版本兼容、多媒体相关及其他。 一、依赖注入DI通过依赖注入减少View、服务、资源简化初始化,事件绑定等重复繁琐工作 AndroidAnnotations(Code Diet)andro... 阅读全文

 第二部分 工具库

主要包括那些不错的开发库,包括依赖注入框架、图片缓存、网络相关、数据库ORM建模、Android公共库、Android 高版本向低版本兼容、多媒体相关及其他。Android开源项目资源整理

一、依赖注入DI

通过依赖注入减少View、服务、资源简化初始化,事件绑定等重复繁琐工作

  1. AndroidAnnotations(Code Diet)
    android快速开发框架
    项目地址:https://github.com/excilys/androidannotations
    文档介绍:https://github.com/excilys/androidannotations/wiki
    官方网站:http://androidannotations.org/
    特点:(1) 依赖注入:包括view,extras,系统服务,资源等等
    (2) 简单的线程模型,通过annotation表示方法运行在ui线程还是后台线程
    (3) 事件绑定:通过annotation表示view的响应事件,不用在写内部类
    (4) REST客户端:定义客户端接口,自动生成REST请求的实现
    (5) 没有你想象的复杂:AndroidAnnotations只是在在编译时生成相应子类
    (6) 不影响应用性能:仅50kb,在编译时完成,不会对运行时有性能影响。
    PS:与roboguice的比较:roboguice通过运行时读取annotations进行反射,所以可能影响应用性能,而AndroidAnnotations在编译时生成子类,所以对性能没有影响

  2. roboguice
    帮你处理了很多代码异常,利用annotation使得更少的代码完成项目
    项目地址:https://github.com/roboguice/roboguice
    文档介绍:https://github.com/roboguice/roboguice/wiki

  3. butterknife
    利用annotation帮你快速完成View的初始化,减少代码
    项目地址:https://github.com/JakeWharton/butterknife
    文档介绍:http://jakewharton.github.io/butterknife/

  4. Dagger
    依赖注入,适用于Android和Java
    项目地址:https://github.com/square/dagger
    文档介绍:http://square.github.io/dagger/
    Android开源项目资源整理

二、图片缓存

  1. Android-Universal-Image-Loader
    图片缓存,目前使用最广泛的图片缓存,支持主流图片缓存的绝大多数特性。
    项目地址:https://github.com/nostra13/Android-Universal-Image-Loader
    Demo地址:https://github.com/Trinea/TrineaDownload/blob/master/universal-imageloader-demo.apk?raw=true
    文档介绍:http://www.intexsoft.com/blog/item/74-universal-image-loader-part-3.html

  2. picasso
    square开源的图片缓存
    项目地址:https://github.com/square/picasso
    文档介绍:http://square.github.io/picasso/
    特点:(1)可以自动检测adapter的重用并取消之前的下载
    (2)图片变换
    (3)可以加载本地资源
    (4)可以设置占位资源
    (5)支持debug模式

  3. ImageCache
    图片缓存,包含内存和Sdcard缓存
    项目地址:https://github.com/Trinea/AndroidCommon
    Demo地址:https://play.google.com/store/apps/details?id=cn.trinea.android.demo
    文档介绍:http://www.trinea.cn/android/android-imagecache/
    特点:(1)支持预取新图片,支持等待队列
    (2)包含二级缓存,可自定义文件名保存规则
    (3)可选择多种缓存算法(FIFO、LIFO、LRU、MRU、LFU、MFU等13种)或自定义缓存算法
    (4)可方便的保存及初始化恢复数据
    (5)支持不同类型网络处理
    (6)可根据系统配置初始化缓存等
    Android开源项目资源整理

三、网络相关

  1. Asynchronous Http Client for Android
    Android异步Http请求
    项目地址:https://github.com/loopj/android-async-http
    文档介绍:http://loopj.com/android-async-http/
    特点:(1) 在匿名回调中处理请求结果
    (2) 在UI线程外进行http请求
    (3) 文件断点上传
    (4) 智能重试
    (5) 默认gzip压缩
    (6) 支持解析成Json格式
    (7) 可将Cookies持久化到SharedPreferences

  2. android-query
    异步加载,更少代码完成Android加载
    项目地址:https://github.com/androidquery/androidquery 或 https://code.google.com/p/android-query/
    文档介绍:https://code.google.com/p/android-query/#Why_AQuery?
    Demo地址:https://play.google.com/store/apps/details?id=com.androidquery
    特点:https://code.google.com/p/android-query/#Why_AQuery?

  3. Async Http Client
    Java异步Http请求
    项目地址:https://github.com/AsyncHttpClient/async-http-client
    文档介绍:http://sonatype.github.io/async-http-client/

  4. Ion
    支持图片、json、http post等异步请求
    项目地址:https://github.com/koush/ion
    文档介绍:https://github.com/koush/ion#more-examples

  5. HttpCache
    Http缓存
    项目地址:https://github.com/Trinea/AndroidCommon
    Demo地址:https://play.google.com/store/apps/details?id=cn.trinea.android.demo
    文档介绍:http://www.trinea.cn/android/android-http-cache
    特点是:(1) 根据cache-control、expires缓存http请求
    (2) 支持同步、异步Http请求
    (3) 在匿名回调中处理请求结果
    (4) 在UI线程外进行http请求
    (5) 默认gzip压缩

  6. Http Request
    项目地址:https://github.com/kevinsawicki/http-request
    文档介绍:https://github.com/kevinsawicki/http-request#examples

  7. okhttp
    square开源的http工具类
    项目地址:https://github.com/square/okhttp
    文档介绍:http://square.github.io/okhttp/
    特点:(1) 支持SPDY( http://zh.wikipedia.org/wiki/SPDY )协议。SPDY协议是Google开发的基于传输控制协议的应用层协议,通过压缩,多路复用(一个TCP链接传送网页和图片等资源)和优先级来缩短加载时间。
    (2) 如果SPDY不可用,利用连接池减少请求延迟
    (3) Gzip压缩
    (4) Response缓存减少不必要的请求

  8. Retrofit
    RESTFUL API设计
    项目地址:https://github.com/square/retrofit
    文档介绍:http://square.github.io/retrofit/

  9. RoboSpice
    Android异步网络请求工具,支持缓存、REST等等
    项目地址:https://github.com/stephanenicolas/robospice
    Demo地址:https://github.com/stephanenicolas/RoboDemo/downloads
    Android开源项目资源整理

四、数据库 orm工具包

orm的db工具类,简化建表、查询、更新、插入、事务、索引的操作

  1. greenDAO
    Android Sqlite orm的db工具类
    项目地址:https://github.com/greenrobot/greenDAO
    文档介绍:http://greendao-orm.com/documentation/
    官方网站:http://greendao-orm.com/
    特点:(1) 性能佳
    (2) 简单易用的API
    (3) 内存小好小
    (4) 库大小小

  2. ActiveAndroid
    Android Sqlite orm的db工具类
    项目地址:https://github.com/pardom/ActiveAndroid
    文档介绍:https://github.com/pardom/ActiveAndroid/wiki/_pages

  3. Sprinkles
    Android Sqlite orm的db工具类
    项目地址:https://github.com/emilsjolander/sprinkles
    文档介绍:http://emilsjolander.github.io/blog/2013/12/18/android-with-sprinkles/
    特点:比较显著的特点就是配合https://github.com/square/retrofit 能保存从服务器获取的数据

  4. ormlite-android
    项目地址:https://github.com/j256/ormlite-android
    文档介绍:http://ormlite.com/sqlite_java_android_orm.shtml
    Android开源项目资源整理

五、Android公共库

  1. Guava
    Google的基于java1.6的类库集合的扩展项目,包括collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O等等. 这些高质量的API可以使你的JAVa代码更加优雅,更加简洁
    项目地址:https://code.google.com/p/guava-libraries/
    文档介绍:https://code.google.com/p/guava-libraries/wiki/GuavaExplained

  2. Volley
    Google提供的网络通信库,使得网络请求更简单、更快速
    项目地址:https://android.googlesource.com/platform/frameworks/volley
    Github地址:https://github.com/mcxiaoke/android-volley
    文档地址:http://commondatastorage.googleapis.com/io-2013/presentations/110%20-%20Volley-%20Easy,%20Fast%20Networking%20for%20Android.pdf

  3. AndroidCommon
    Android公共库
    项目地址:https://github.com/Trinea/AndroidCommon
    Demo地址:https://play.google.com/store/apps/details?id=cn.trinea.android.demo
    文档介绍:http://www.trinea.cn/android/android-common-lib/
    包括:(1)缓存(图片缓存、预取缓存、网络缓存)
    (2) 公共View(下拉及底部加载更多ListView、底部加载更多ScrollView、滑动一页Gallery)
    (3) Android常用工具类(网络、下载、Android资源操作、shell、文件、Json、随机数、Collection等等)

  4. shipfaster
    整合了Dagger Otto Retrofit Robolectric Picasso OkHttp,方便快速开发
    项目地址:https://github.com/pyricau/shipfaster

  5. CleanAndroidCode
    整合了Dagger Otto AndroidAnnotations,方便快速开发
    项目地址:https://github.com/pyricau/CleanAndroidCode

  6. xUtils
    基于Afinal,包含DbUtils、ViewUtils、HttpUtils、BitmapUtils四大模块,可用于快速开发
    项目地址:https://github.com/wyouflf/xUtils

  7. Afinal
    Afinal是一个android的ioc,orm框架,内置了四大模块功能:FinalAcitivity,FinalBitmap,FinalDb,FinalHttp。通过finalActivity,我们可以通过注解的方式进行绑定ui和事件。通过finalBitmap,我们可以方便的加载bitmap图片,而无需考虑oom等问题。通过finalDB模块,我们一行代码就可以对android的sqlite数据库进行增删改查。通过FinalHttp模块,我们可以以ajax形式请求http数据
    项目地址:https://github.com/yangfuhai/afinal
    官方网站:http://www.afinal.org
    Android开源项目资源整理

六、Android 高版本向低版本兼容

  1. ActionBarSherlock
    为Android所有版本提供统一的ActionBar,解决4.0以下ActionBar的适配问题
    项目地址:https://github.com/JakeWharton/ActionBarSherlock
    Demo地址:https://play.google.com/store/apps/details?id=com.actionbarsherlock.sample.demos
    APP示例:太多了。。现在连google都在用

  2. Nine Old Androids
    将Android 3.0(Honeycomb)所有动画API(ObjectAnimator ValueAnimator等)兼容到Android1.0
    项目地址:https://github.com/JakeWharton/NineOldAndroids
    Demo地址:https://play.google.com/store/apps/details?id=com.jakewharton.nineoldandroids.sample
    文档介绍:http://nineoldandroids.com/

  3. HoloEverywhere
    将Android 3.0的Holo主题兼容到Android2.1++
    项目地址:https://github.com/Prototik/HoloEverywhere
    Demo地址:https://raw.github.com/Prototik/HoloEverywhere/repo/org/holoeverywhere/demo/2.1.0/demo-2.1.0.apk
    文档介绍:http://android-developers.blogspot.com/2012/01/holo-everywhere.html

  4. SherlockNavigationDrawer
    将Android NavigationDrawer和ActionbarSherlock结合,解决4.0以下NavigationDrawer的适配问题
    项目地址:https://github.com/tobykurien/SherlockNavigationDrawer
    文档地址:http://developer.android.com/training/implementing-navigation/nav-drawer.html

  5. Notifications4EveryWhere
    将Android 4.1的Notification兼容到Android2.2++
    项目地址:https://github.com/youxiachai/Notifications4EveryWhere

  6. Android Switch Widget Backport
    将Android Switch和SwitchPreference的兼容到Android2.1++
    项目地址:https://github.com/BoD/android-switch-backport
    Demo地址:https://play.google.com/store/apps/details?id=org.jraf.android.backport.switchwidget.sample
    文档介绍:https://github.com/BoD/android-switch-backport#using-the-switch

  7. android-datepicker
    将Android 4.0的datepicker兼容到Android2.2++
    项目地址:https://github.com/SimonVT/android-datepicker

  8. GlowPadBackport
    Android 4.2的GlowPadView向后适配到API4以上
    项目地址:https://github.com/frakbot/GlowPadBackportAndroid开源项目资源整理

七、多媒体相关

  1. cocos2d-x
    跨平台的2d游戏框架,支持Android、IOS、Linux、Windows等众多平台
    项目地址:https://github.com/cocos2d/cocos2d-x
    文档介绍:http://www.cocos2d-x.org/wiki
    官方网站:http://www.cocos2d-x.org/

  2. Vitamio
    是一款Android与iOS平台上的全能多媒体开发框架
    项目地址:https://github.com/yixia/VitamioBundle
    网站介绍:http://www.vitamio.org/docs/
    特点:(1) 全面支持硬件解码与GPU渲染
    (2) 能够流畅播放720P甚至1080P高清MKV,FLV,MP4,MOV,TS,RMVB等常见格式的视频
    (3) 在Android与iOS上跨平台支持 MMS, RTSP, RTMP, HLS(m3u8)等常见的多种视频流媒体协议,包括点播与直播。

  3. PhotoProcessing
    利用ndk处理图片库,支持Instafix、Ansel、Testino、XPro、Retro、BW、Sepia、Cyano、Georgia、Sahara、HDR、Rotate(旋转)、Flip(翻转)等各种特效
    项目地址:https://github.com/lightbox/PhotoProcessing
    Demo地址:https://github.com/Trinea/TrineaDownload/blob/master/photo-processing.apk?raw=true

  4. Android StackBlur
    图片模糊效果工具类
    项目地址:https://github.com/kikoso/android-stackblur
    Demo地址:https://github.com/kikoso/android-stackblur/blob/master/StackBlurDemo/bin/StackBlurDemo.apk?raw=true
    文档介绍:https://github.com/kikoso/android-stackblur#usage

  5. Bitmap Smart Clipping using OpenCV
    图片智能裁剪保留重要部分显示
    项目地址:https://github.com/beartung/tclip-android
    利用淘宝的 http://code.taobao.org/p/tclip/ 库完成
    一淘玩客正在使用的图片裁剪,自动识别图片中的重要区域,并且在图片裁剪时保留重要区域
    特点:(1). 能进行人脸识别。图片中有人脸,将自动视为人脸区域为重要区域,将不会被裁剪掉
    (2).自动其它重要区域。如果图片中未识别出人脸,则会根据特征分布计算出重区域

  6. Cropper
    图片局部剪切工具,可触摸控制选择区域或旋转
    项目地址:https://github.com/edmodo/cropper
    使用介绍:https://github.com/edmodo/cropper/wiki
    效果图:Android开源项目资源整理

  7. android-crop
    图片裁剪Activity
    项目地址:https://github.com/jdamcd/android-crop
    效果图:Android开源项目资源整理

  8. TileView
    可分块显示大图,支持2D拖动、双击、双指放大、双指捏合
    项目地址:https://github.com/moagrius/TileView
    Demo地址:http://moagrius.github.io/TileView/TileViewDemo.apk

  9. BlurEffectForAndroidDesign
    图片模糊效果
    项目地址:https://github.com/PomepuyN/BlurEffectForAndroidDesign

  10. android-eye
    PC端网页查看同一局域网内的手机摄像头内容,可以用来监控哦
    项目地址:https://github.com/Teaonly/android-eye
    Demo地址:https://play.google.com/store/apps/details?id=teaonly.droideye

  11. libpng for Android
    PNG图片的jni库,支持几乎png的所有特性
    项目地址:https://github.com/julienr/libpng-android
    文档地址:http://www.libpng.org/pub/png/libpng.html

  12. android-gpuimage
    基于GPU的图片滤镜
    项目地址:https://github.com/CyberAgent/android-gpuimage

  13. AndroidFaceCropper
    图片脸部自动识别,将识别后的局部图片返回
    项目地址:https://github.com/lafosca/AndroidFaceCropper

  14. Android Video Crop
    利用TextureView播放和剪切视频,类似ImageView.setScaleType
    项目地址:https://github.com/dmytrodanylyk/android-video-crop
    Demo地址:https://github.com/lafosca/AndroidFaceCropper/releases/download/1.0/FaceCropper-sample-debug-unaligned.apk

  15. svg-android
    Android Svg矢量图形支持
    项目地址:https://github.com/japgolly/svg-android https://github.com/japgolly/svg-android

  16. Android Visualizer
    从Android MediaPlayer获得音频,然后像iTunes及WinAmp一样展示音轨
    项目地址:https://github.com/felixpalmer/android-visualizer
    Android开源项目资源整理

八、事件总线(订阅者模式)

通过发布/订阅事件解耦事件发送和接受,从而简化应用程序组件(Activities, Fragments及后台线程)之间的通信

  1. EventBus
    greenrobot的开源项目
    项目地址:https://github.com/greenrobot/EventBus
    文档介绍:https://github.com/greenrobot/EventBus#general-usage-and-api
    特点:(1) 支持在不同类型的线程中处理订阅,包括发布所在线程,UI线程、单一后台线程、异步线程
    (2) 支持事件优先级定义,支持优先级高的订阅者取消事件继续传递,支持粘性事件,是不是跟系统的有序广播、粘性广播很像啊
    (3) 不是基于annotations
    (4) 性能更优
    (5) 体积小
    (6) 支持单例创建或创建多个对象
    (7) 支持根据事件类型订阅

  2. Otto
    Square的开源项目,基于Guava的Android优化
    项目地址:https://github.com/square/otto
    文档介绍:http://square.github.io/otto/
    EventBus与Otto的功能及性能对比文档
    EventBus与Otto性能对比Demo Apk
    Android开源项目资源整理

九、传感器

  1. Great Android Sensing Toolkit
    Android感应器工具包,包含示例及使用过程中可能需要的算法
    项目地址:https://github.com/gast-lib/gast-lib
    Demo地址:https://play.google.com/store/apps/details?id=root.gast.playground
    文档介绍:https://github.com/gast-lib/gast-lib#documentation

  2. SensorManager
    Android传感器管理
    项目地址:https://github.com/nlathia/SensorManager
    文档介绍:https://docs.google.com/document/d/1TqThJULb-4e6TGb1gdkAaPCfyuXStjJpbnt7a0OZ9OE/edit

  3. GPSLogger
    记录GPS信息
    项目地址:https://github.com/mendhak/gpslogger
    Demo地址:https://play.google.com/store/apps/details?id=com.mendhak.gpslogger
    文档介绍:http://code.mendhak.com/gpslogger/

  4. Pedometer
    计步器,使用硬件计步感应器
    项目地址:https://github.com/j4velin/Pedometer

  5. leapcast
    ChromeCast模拟器的App
    项目地址:https://github.com/dz0ny/leapcast

  6. Arduino-Communicator
    与Arduino通信的App
    项目地址:https://github.com/jeppsson/Arduino-Communicator

  7. android-pedometer
    Android计步器
    项目地址:https://github.com/bagilevi/android-pedometer
    Demo地址:http://pedometer.googlecode.com/files/Pedometer-1.4.apk

  8. OwnTracks for Android
    自己的轨迹记录
    项目地址:https://github.com/owntracks/android

  9. Shake Detector library for Android
    Android手机震动摇晃检测库,提供供UI线程调用的回调接口
    项目地址:https://github.com/tbouron/ShakeDetector
    Demo地址:https://play.google.com/store/apps/details?id=com.github.tbouron.shakedetector.example

  10. Android heart rate monitor
    Android心跳检测
    项目地址:https://github.com/phishman3579/android-heart-rate-monitor

  11. Bluetooth LE Library for Android
    蓝牙源信息,包括宝库Mac、更新时间、RSSI、UUID、信号源距离、影响范围等信息
    项目地址:https://github.com/alt236/Bluetooth-LE-Library---Android
    Demo地址:https://play.google.com/store/apps/details?id=uk.co.alt236.btlescan

  12. farebot
    通过NFC 从公交卡中读取数据的一个应用
    项目地址:https://github.com/codebutler/farebot

Android开源项目资源整理

十、安全

  1. SQLCipher
    Sqlite加密工具
    项目地址:https://github.com/sqlcipher/sqlcipher
    帮助文档:http://sqlcipher.net/sqlcipher-for-android/

  2. Conceal
    快速高效的进行文件加密解密
    项目地址:https://github.com/facebook/conceal
    文档介绍:https://github.com/facebook/conceal#usage

  3. Android-PasscodeLock
    应用锁,每次启动或从任何Activity启动应用都需要输入四位数字的密码方可进入
    项目地址:https://github.com/wordpress-mobile/Android-PasscodeLock
    Demo地址:https://play.google.com/store/apps/details?id=com.sothree.umano
    APP示例:Wordpress Android,支付宝,挖财

  4. GlowPadBackport
    将Android4.2的锁屏界面解锁扩展到Android1.6及1.6+
    项目地址:https://github.com/rock3r/GlowPadBackport
    Demo地址:https://play.google.com/store/apps/details?id=net.sebastianopoggi.samples.ui.GlowPadSample
    效果图:Android开源项目资源整理

  5. GlowPadView
    Android 4锁屏界面解锁
    项目地址:https://github.com/nadavfima/GlowPadView
    效果图:https://raw.github.com/nadavfima/GlowPadView/master/example.png

  6. android-lockpattern
    Android的图案密码解锁
    项目地址:https://code.google.com/p/android-lockpattern/
    Demo地址:https://play.google.com/store/apps/details?id=group.pals.android.lib.ui.lockpattern.demo
    使用介绍:https://code.google.com/p/android-lockpattern/wiki/QuickUse
    示例APP:Android开机的图案密码解锁,支付宝的密码解锁
    Android开源项目资源整理

十一、插件化

  1. dynamic-load-apk
    Android动态加载Apk,热部署。支持一定程度不安装升级
    项目地址:https://github.com/singwhatiwanna/dynamic-load-apk
    文档介绍:http://blog.csdn.net/singwhatiwanna/article/details/22597587

  2. xCombine
    Android App插件式插件开发,插件必须先安装
    项目地址:https://github.com/wyouflf/xCombine
    文档介绍:http://my.oschina.net/u/1171837/blog/155377

  3. Android Plugin Framework
    Android插件式开发,开放的源码目前不完整
    项目地址:https://github.com/umeng/apf
    Android开源项目资源整理

十二、文件

对不同文档类型的处理,包括PDF、Word、EPub、Html、Zip等

  1. purePDF
    允许从任何运行的SWF文件读取和创建PDF文档
    项目地址:https://github.com/sephiroth74/purePDF

  2. Office 365 SDK for Android Preview
    可支持Microsoft SharePoint Lists, Microsoft SharePoint Files, Microsoft Exchange Calendar, Microsoft Exchange Contacts, Microsoft Exchange Mail
    项目地址:https://github.com/OfficeDev/Office-365-SDK-for-Android

  3. OpenSpritz-Android
    EPub阅读器
    项目地址:https://github.com/OnlyInAmerica/OpenSpritz-Android

  4. jsoup
    一个解析html的java库,可方便的提取和操作数据
    项目地址:https://github.com/jhy/jsoup
    官方网站:http://jsoup.org/
    作用:(1) 从一个url、文件或string获得html并解析
    (2) 利用dom遍历或css选择器查找、提取数据
    (3) 操作html元素
    (4) 根据白名单去除用于提交的非法数据防止xss攻击
    (5) 输出整齐的html

  5. ZIP
    java压缩和解压库
    项目地址:https://github.com/zeroturnaround/zt-zip
    文档介绍:https://github.com/zeroturnaround/zt-zip#examples
    作用:(1) 解压和压缩,并支持文件夹内递归操作
    (2) 支持包含和排除某些元素
    (3) 支持重命名元素
    (4) 支持遍历zip包内容
    (5) 比较两个zip包等功能
    Android开源项目资源整理

十三、其他

  1. Salvage view
    带View缓存的Viewpager PagerAdapter,很方便使用
    项目地址:https://github.com/JakeWharton/salvage

  2. Android Priority Job Queue
    Android后台任务队列
    项目地址:https://github.com/path/android-priority-jobqueue
    文档介绍:https://github.com/path/android-priority-jobqueue#getting-started

  3. Cobub Razor
    开源的mobile行为分析系统,包括web端、android端,支持ios和window phone
    项目地址:https://github.com/cobub/razor
    Demo地址:http://demo.cobub.com/razor
    网站介绍:http://dev.cobub.com/

  4. Countly
    Android移动端数据采集分析系统
    项目地址:https://github.com/Countly/countly-sdk-android
    官网地址:https://count.ly/

  5. aFileChooser
    文件选择器,可内嵌到程序中,而无需使用系统或三方文件选择器。
    项目地址:https://github.com/iPaulPro/aFileChooser

  6. androidpn
    基于xmpp协议的消息推送解决方案,包括服务器端和android端。
    项目地址:https://github.com/dannytiehui/androidpn

  7. Bolts
    Android的异步编程模式
    项目地址:https://github.com/BoltsFramework/Bolts-Android/
    与AsyncTask比较:(1) 使用的是无大小限制的线程池
    (2) 任务可组合可级联,防止了代码耦合

  8. CastCompanionLibrary-android
    使Android程序中更快的接入Google Cast
    项目地址:https://github.com/googlecast/CastCompanionLibrary-android
    文档介绍:https://developers.google.com/cast/

  9. CastVideos-android
    从Android设备分享Video通过Google Cast
    项目地址:https://github.com/googlecast/CastVideos-android
    文档介绍:https://developers.google.com/cast/

  10. Uninstall_Statics
    Android应用自身被卸载监听及打开浏览器等反馈功能实现
    项目地址:https://github.com/sevenler/Uninstall_Statics
    文档介绍:http://www.cnblogs.com/zealotrouge/p/3157126.html
    http://www.cnblogs.com/zealotrouge/p/3159772.html

  11. Memento
    保证在系统配置改变时,Activity中的某些数据可以简单安全的保持不变
    项目地址:https://github.com/mttkay/memento
    文档介绍:https://github.com/mttkay/memento#usage

  12. FreeFlow
    布局引擎,更简单的创建自定义布局,并且当数据和布局改变时更美观的过渡动画
    项目地址:https://github.com/Comcast/FreeFlow
    Demo地址:https://github.com/Comcast/FreeFlow/releases

  13. Android Gesture Detectors Framework
    Android手势框架,支持双指旋转、移动、平移、缩放等
    项目地址:https://github.com/Almeros/android-gesture-detectors

  14. Mapbox Android SDK
    Android Map的替代版
    项目地址:https://github.com/mapbox/mapbox-android-sdk

  15. Activity animation
    Activity跳转动画,支持各个方向波浪的效果
    项目地址:https://github.com/flavienlaurent/activityanimation
    在线演示:https://www.youtube.com/watch?v=-E0sc6w_Jck

  16. KryoNet
    通过NIO提供客户端和服务器端TCP/UDP网络传输的Java库
    项目地址:https://github.com/EsotericSoftware/kryonet

  17. Rebound
    一个模仿弹簧反弹的Java库,可用于创建动画
    项目地址:https://github.com/facebook/rebound

  18. Android Social Networks
    社交网络接入统一管理器,可方便的从Twitter, LinkedIn, Facebook, Google Plus登陆、获得个人信息、发送消息、发送专篇、添加或删除好友
    项目地址:https://github.com/antonkrasov/AndroidSocialNetworks
    Demo地址:https://play.google.com/store/apps/details?id=com.github.androidsocialnetworks.apidemos
    Android开源项目资源整理

收起全文
人人小站
更多热门小站
X