鄭明典
「死神的手指」影片說明
這是英國BBC製作的短片,很值得多看幾次!
海水結冰會把水中的鹽分逼出,在海冰成長的過程中,部分被逼出的海鹽會被包覆在冰層中,以極濃的液態鹹水狀態存在,這種鹹水溫度低、密度高。
因為重力的作用,過冷的鹹水最後會從冰層底下流出,因為它比海水重而且冷,流出的過程中讓周圍直接接觸的海水結冰,逐漸形成冰層下的「冰管」,有時冰管可以延伸到海底,結果過冷的鹹水在海底散開來,讓海底相對溫暖的海水瞬間結凍,海底生物來不及走避就會被凍成標本!
因為冰管很像手指,他到達的海底常有生物大量被凍死,所以稱為「死神的手指」!
底下的聯結是BBC攝影團隊在南極冰層底下實地拍攝製作的短片,這是首次完整呈現「死神的手指」發展過程的紀錄片!
http://youtu.be/LMhBuSBemRk
2011年11月28日 星期一
2011年11月20日 星期日
Peter Schiff: 為什麼我們不應對金融危機感到意外?(上)
Peter Schiff: 為什麼我們不應對金融危機感到意外?(上)
http://shaw-moneygame.com/why-the-meltdown-should-have-surprised-no-one-top.html
http://shaw-moneygame.com/why-the-meltdown-should-have-surprised-no-one-top.html
2011年11月15日 星期二
民主失竊的故事 The Story of Citizens United v. FEC 中文字幕
民主失竊的故事 The Story of Citizens United v. FEC 中文字幕
http://www.youtube.com/watch?v=A4x7MFZ4BXg
http://www.youtube.com/watch?v=A4x7MFZ4BXg
布雷斯悖論 Braess's paradox
布雷斯悖論 Braess's paradox
http://zh.wikipedia.org/wiki/%E5%B8%83%E9%9B%B7%E6%96%AF%E6%82%96%E8%AE%BA
http://zh.wikipedia.org/wiki/%E5%B8%83%E9%9B%B7%E6%96%AF%E6%82%96%E8%AE%BA
2011年11月12日 星期六
這張相片是如何拍攝的?
這張相片是如何拍攝的?(二)
http://photoblog.hk/wordpress/7508/%E9%80%99%E5%BC%B5%E7%9B%B8%E7%89%87%E6%98%AF%E5%A6%82%E4%BD%95%E6%8B%8D%E6%94%9D%E7%9A%84%EF%BC%88%E4%BA%8C%EF%BC%89
這幅是畫還是相片?
http://photoblog.hk/wordpress/11604/%E9%80%99%E5%B9%85%E7%95%AB%E9%82%84%E6%98%AF%E7%9B%B8%E7%89%87%EF%BC%9F
這張相片是怎樣拍攝的?(五)
http://photoblog.hk/wordpress/7664/%E9%80%99%E5%BC%B5%E7%9B%B8%E7%89%87%E6%98%AF%E6%80%8E%E6%A8%A3%E6%8B%8D%E6%94%9D%E7%9A%84%EF%BC%9F%EF%BC%88%E4%BA%94%EF%BC%89
http://photoblog.hk/wordpress/7508/%E9%80%99%E5%BC%B5%E7%9B%B8%E7%89%87%E6%98%AF%E5%A6%82%E4%BD%95%E6%8B%8D%E6%94%9D%E7%9A%84%EF%BC%88%E4%BA%8C%EF%BC%89
這幅是畫還是相片?
http://photoblog.hk/wordpress/11604/%E9%80%99%E5%B9%85%E7%95%AB%E9%82%84%E6%98%AF%E7%9B%B8%E7%89%87%EF%BC%9F
這張相片是怎樣拍攝的?(五)
http://photoblog.hk/wordpress/7664/%E9%80%99%E5%BC%B5%E7%9B%B8%E7%89%87%E6%98%AF%E6%80%8E%E6%A8%A3%E6%8B%8D%E6%94%9D%E7%9A%84%EF%BC%9F%EF%BC%88%E4%BA%94%EF%BC%89
2011年11月9日 星期三
2011年11月8日 星期二
strtol
http://www.cplusplus.com/reference/clibrary/cstdlib/strtol/
Example
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
|
2011年11月6日 星期日
Fortran筆記2
http://www.chem.ucl.ac.uk/resources/history/people/vanmourik/images/Fortran%2095-manual.pdf
In C:
void foo(void)
{
static int a = 5;
int const b = 6;
}
In Fortran90/95:
SUBROUTINE FOO()
IMPLICIT NONE
INTEGER, SAVE :: A = 5
INTEGER, PARAMETER :: B = 5
END
Array assignment statements
coords(1) = 3.5
block(3,2) = 7
do i = 1,3
coords(i) = 0.0
end do
coords = (/ 1.3, 5.6, 0.0 /)
coords = (/ (2.0*i, i = 1, 3) /) ! yields (2.0, 4.0, 6.0)
odd_ints = (/ (i, i = 1, 10, 2) /) ! yields (1, 3, 5, 7, 9)
integer, dimension (8), parameter :: primes = (/ 1, 2, 3, 7, 11, 13, 17, 19 /)
For example, a two-dimensional array b(2,3) can be added to the array section a(2:3, 1:3)
of the array a of the previous section. If the array c is an array of dimension (2,3), then
the expression
c = a(2:3,1:3) + b
causes the elements of the array c to have the following values:
c(1,1) = a(2,1) + b(1,1)
c(2,1) = a(3,1) + b(2,1)
c(1,2) = a(2,2) + b(1,2)
c(2,2) = a(3,2) + b(2,2)
c(1,3) = a(2,3) + b(1,3)
c(2,3) = a(3,3) + b(2,3)
The same can be achieved by using a do loop:
do i = 1, 3
do j = 1, 2
c(j,i) = a(j+1,i) + b(j,i)
end do
end do
But the expression c = a(2:3,1:3) + b is clearly more concise.
In C:
void foo(void)
{
static int a = 5;
int const b = 6;
}
In Fortran90/95:
SUBROUTINE FOO()
IMPLICIT NONE
INTEGER, SAVE :: A = 5
INTEGER, PARAMETER :: B = 5
END
Array assignment statements
coords(1) = 3.5
block(3,2) = 7
do i = 1,3
coords(i) = 0.0
end do
coords = (/ 1.3, 5.6, 0.0 /)
coords = (/ (2.0*i, i = 1, 3) /) ! yields (2.0, 4.0, 6.0)
odd_ints = (/ (i, i = 1, 10, 2) /) ! yields (1, 3, 5, 7, 9)
integer, dimension (8), parameter :: primes = (/ 1, 2, 3, 7, 11, 13, 17, 19 /)
For example, a two-dimensional array b(2,3) can be added to the array section a(2:3, 1:3)
of the array a of the previous section. If the array c is an array of dimension (2,3), then
the expression
c = a(2:3,1:3) + b
causes the elements of the array c to have the following values:
c(1,1) = a(2,1) + b(1,1)
c(2,1) = a(3,1) + b(2,1)
c(1,2) = a(2,2) + b(1,2)
c(2,2) = a(3,2) + b(2,2)
c(1,3) = a(2,3) + b(1,3)
c(2,3) = a(3,3) + b(2,3)
The same can be achieved by using a do loop:
do i = 1, 3
do j = 1, 2
c(j,i) = a(j+1,i) + b(j,i)
end do
end do
But the expression c = a(2:3,1:3) + b is clearly more concise.
2011年11月5日 星期六
Fortran 筆記
Fortran 77
Data Type
IMPLICIT NONE
INTEGER
[sign][[base]#]constant
1. sign: "+" or "-",省略代表正
2. [[base]#]省略,表十進制。[base]省略,#保留,表16進制。
base:2~36
2#11011
36#2DM8F
REAL
-.28E2
.54D+3 (倍精度)
DOUBLE PRECISION
COMPLEX
(REAL,REAL)
LOGICAL
.TRUE.
.FALSE.
CHARACTER
CHARACTER A
CHARACTER B*10
CHARACTER*20 C*10, D
CHARACTER*(2*3) E
A 1
B 10
C 10
D 20
E 6
PARAMETER( 變數名稱=常數[,變數名稱=常數...] )
Fortran 90/95
INTEGER*1
INTEGER*2
INTEGER*4
INTEGER(4)
INTEGER(KIND=4)
REAL (4 btyes, 單精度)
REAL*4 (4 btyes, 單精度)
ERAL*8 (8 bytes, 雙精度)
Data Type
IMPLICIT NONE
INTEGER
[sign][[base]#]constant
1. sign: "+" or "-",省略代表正
2. [[base]#]省略,表十進制。[base]省略,#保留,表16進制。
base:2~36
2#11011
36#2DM8F
REAL
-.28E2
.54D+3 (倍精度)
DOUBLE PRECISION
COMPLEX
(REAL,REAL)
LOGICAL
.TRUE.
.FALSE.
CHARACTER
CHARACTER A
CHARACTER B*10
CHARACTER*20 C*10, D
CHARACTER*(2*3) E
A 1
B 10
C 10
D 20
E 6
PARAMETER( 變數名稱=常數[,變數名稱=常數...] )
Fortran 90/95
INTEGER*1
INTEGER*2
INTEGER*4
INTEGER(4)
INTEGER(KIND=4)
REAL (4 btyes, 單精度)
REAL*4 (4 btyes, 單精度)
ERAL*8 (8 bytes, 雙精度)
2011年11月2日 星期三
菱形
原理:
n=3
*
* *
* * *
* *
*
令* =X
j
0 1 2
2 X
1 XX
i 0XXX
-1 XX
-2 X
#include
int main(void)
{
int n, i, j;
scanf( "%d", &n);
for( i = n-1; i >= -n+1; --i )
{
for( j = 0; j <= n-1; ++j )
{
if( i <= j && -i <= j )
printf("* ");
else
printf(" ");
}
printf("\n");
}
return 0;
}
n=3
*
* *
* * *
* *
*
令* =X
j
0 1 2
2 X
1 XX
i 0XXX
-1 XX
-2 X
#include
int main(void)
{
int n, i, j;
scanf( "%d", &n);
for( i = n-1; i >= -n+1; --i )
{
for( j = 0; j <= n-1; ++j )
{
if( i <= j && -i <= j )
printf("* ");
else
printf(" ");
}
printf("\n");
}
return 0;
}
2011年11月1日 星期二
訂閱:
文章 (Atom)