File:Halflife-sim.gif
Wikimedia Commons, 자유로운 미디어 저장소
둘러보기로 이동
검색으로 이동
Halflife-sim.gif (100 × 188 픽셀, 파일 크기: 17 KB, MIME 종류: image/gif, 반복됨, 80 프레임, 8.5 s)
파일 정보
구조화된 데이터
캡션
파일 설명[편집]
설명Halflife-sim.gif |
English: Simulation of many identical atoms undergoing radioactive decay, starting with either four atoms (left) or 400 atoms (right). The number at the top indicates how many half-lives have elapsed. Note the law of large numbers: With more atoms, the overall decay is less random. Image made with Mathematica, I am happy to send the source code if you would like to make this image more beautiful, or for any other reason. |
날짜 | |
출처 | 자작 |
저자 | Sbyrnes321 |
라이선스[편집]
Public domainPublic domainfalsefalse |
나는 이 작품의 저작권자로서, 이 작품을 퍼블릭 도메인으로 모두에게 공개합니다. 이 공개 선언은 전 세계적으로 유효합니다. 만약 저작권의 포기가 법률적으로 가능하지 않은 경우, 나는 이 작품을 법적으로 허용되는 한도 내에서 누구나 자유롭게 어떤 목적으로도 제한없이 사용할 수 있도록 허용합니다. |
(* Source code written in Mathematica 6.0, by Steve Byrnes, 2010. I release this code into the public domain. *) SeedRandom[2] (*Build list of point coordinates and radii*) BuildCoordList[SqCenterX_, SqCenterY_, SqSide_, PtsPerRow_] := Flatten[Table[{i, j}, {i, SqCenterX - SqSide/2, SqCenterX + SqSide/2, SqSide/(PtsPerRow - 1)}, {j, SqCenterY - SqSide/2, SqCenterY + SqSide/2, SqSide/(PtsPerRow - 1)}], 1]; coordslist = Join[ BuildCoordList[3.5, 1, 1.8, 20], BuildCoordList[3.5, 3, 1.8, 20], BuildCoordList[3.5, 5, 1.8, 20], BuildCoordList[3.5, 7, 1.8, 20], BuildCoordList[1, 1, .7, 2], BuildCoordList[1, 3, .7, 2], BuildCoordList[1, 5, .7, 2], BuildCoordList[1, 7, .7, 2]]; NumPts = Length[coordslist]; radiuslist = Join[Table[.03, {i, 1, 4*400}], Table[.1, {i, 1, 4*4}]]; (*Draw borders*) xlist = {0, 2}; leftx = 0; rightx = 2; numx = Length[xlist]; ylist = {0, 2, 4, 6, 8}; topy = 0; boty = 8; numy = Length[ylist]; lines = {}; For[i = 1, i <= numy, i++, lines = Append[lines, Line[{{leftx, ylist[[i]]}, {rightx, ylist[[i]]}}]]]; For[i = 1, i <= numx, i++, lines = Append[lines, Line[{{xlist[[i]], topy}, {xlist[[i]], boty}}]]]; xlist = {2.5, 4.5}; leftx = 2.5; rightx = 4.5; numx = Length[xlist]; ylist = {0, 2, 4, 6, 8}; topy = 0; boty = 8; numy = Length[ylist]; For[i = 1, i <= numy, i++, lines = Append[lines, Line[{{leftx, ylist[[i]]}, {rightx, ylist[[i]]}}]]]; For[i = 1, i <= numx, i++, lines = Append[lines, Line[{{xlist[[i]], topy}, {xlist[[i]], boty}}]]]; (*Write numbers: I want to be able to write a number with one decimal place, including padding with ".0" when it's an integer.*) WriteNum[num_] := Block[{rounded}, rounded = N[Floor[num, 0.1]]; If[FractionalPart[rounded] == 0, ToString[rounded] <> "0", ToString[rounded]]]; (*Randomly choose decay times: To get an expontial-decay-distributed random number, we pick a number uniformly between 0 and 1. Take its negative log to get the time that it blows up, which is between 0 and infinity. But divide by log 2 so that when the time = 1, there's 50% chance of decaying. *) BlowTime = Table[-Log[RandomReal[]]/Log[2], {i, 1, NumPts}]; (*Draw graphics*) GraphicsList = {}; NumFrames = 80; TimePerFrame = .05; Video = {}; For[frame = 1, frame <= NumFrames, frame++, CurrentTime = (frame - 1)*TimePerFrame; ImageGraphicsList = lines; ImageGraphicsList = Append[ImageGraphicsList, Text[WriteNum[CurrentTime], {.8, 8.5}, {-1, 0}]]; ImageGraphicsList = Append[ImageGraphicsList, Text[WriteNum[CurrentTime], {3.3, 8.5}, {-1, 0}]]; For[pt = 1, pt <= NumPts, pt++, If[CurrentTime < BlowTime[[pt]], ImageGraphicsList = Append[ImageGraphicsList, {Blue, Disk[coordslist[[pt]], radiuslist[[pt]]]}]]]; Video = Append[Video, Graphics[ImageGraphicsList, ImageSize -> 100]];]; (*Pause at start*) Video = Join[Table[Video[[1]], {i, 1, 5}], Video]; (*Export*) Export["test.gif", Video, "DisplayDurations" -> {10}, "AnimationRepititions" -> Infinity ]
파일 역사
날짜/시간 링크를 클릭하면 해당 시간의 파일을 볼 수 있습니다.
날짜/시간 | 섬네일 | 크기 | 사용자 | 설명 | |
---|---|---|---|---|---|
현재 | 2010년 3월 25일 (목) 19:41 | 100 × 188 (17 KB) | Aiyizo (토론 | 기여) | Optimized animation, converted to 16 color mode | |
2010년 2월 5일 (금) 06:35 | 100 × 188 (156 KB) | Sbyrnes321 (토론 | 기여) | Changed top-bottom split to left-right split, with space between; pause at start; 400 atoms in each crowded box instead of 296. (Thanks to Bdb484 for suggestions.) | ||
2010년 1월 29일 (금) 00:26 | 61 × 131 (75 KB) | Sbyrnes321 (토론 | 기여) | {{Information |Description={{en|1=Simulation of many identical atoms undergoing radioactive decay. The number at the top indicates how many half-lives have elapsed. Note that after one half-life there are not ''exactly'' one-half of the atoms remaining, o |
이 파일을 덮어쓸 수 없습니다.
이 파일을 사용하는 문서
다음 문서 1개가 이 파일을 사용하고 있습니다:
이 파일을 사용하고 있는 모든 위키의 문서 목록
다음 위키에서 이 파일을 사용하고 있습니다:
- ast.wikipedia.org에서 이 파일을 사용하고 있는 문서 목록
- ba.wikipedia.org에서 이 파일을 사용하고 있는 문서 목록
- bg.wikipedia.org에서 이 파일을 사용하고 있는 문서 목록
- bn.wikipedia.org에서 이 파일을 사용하고 있는 문서 목록
- cs.wikipedia.org에서 이 파일을 사용하고 있는 문서 목록
- cv.wikipedia.org에서 이 파일을 사용하고 있는 문서 목록
- cy.wikipedia.org에서 이 파일을 사용하고 있는 문서 목록
- da.wikipedia.org에서 이 파일을 사용하고 있는 문서 목록
- de.wikibooks.org에서 이 파일을 사용하고 있는 문서 목록
- en.wikipedia.org에서 이 파일을 사용하고 있는 문서 목록
- en.wikibooks.org에서 이 파일을 사용하고 있는 문서 목록
- et.wikipedia.org에서 이 파일을 사용하고 있는 문서 목록
- fi.wikipedia.org에서 이 파일을 사용하고 있는 문서 목록
- fr.wikipedia.org에서 이 파일을 사용하고 있는 문서 목록
- ga.wikipedia.org에서 이 파일을 사용하고 있는 문서 목록
- he.wikipedia.org에서 이 파일을 사용하고 있는 문서 목록
- hr.wikipedia.org에서 이 파일을 사용하고 있는 문서 목록
- ja.wikipedia.org에서 이 파일을 사용하고 있는 문서 목록
- ko.wikipedia.org에서 이 파일을 사용하고 있는 문서 목록
- lv.wikipedia.org에서 이 파일을 사용하고 있는 문서 목록
- mn.wikipedia.org에서 이 파일을 사용하고 있는 문서 목록
- pt.wikipedia.org에서 이 파일을 사용하고 있는 문서 목록
- ru.wikipedia.org에서 이 파일을 사용하고 있는 문서 목록
- simple.wikipedia.org에서 이 파일을 사용하고 있는 문서 목록
- tt.wikipedia.org에서 이 파일을 사용하고 있는 문서 목록
- vi.wikipedia.org에서 이 파일을 사용하고 있는 문서 목록
- www.wikidata.org에서 이 파일을 사용하고 있는 문서 목록