File:Rainbow formation.png
頁面內容不支援其他語言。
外觀
預覽大小:479 × 599 像素。 其他解析度:192 × 240 像素 | 384 × 480 像素 | 721 × 902 像素。
原始檔案 (721 × 902 像素,檔案大小:280 KB,MIME 類型:image/png)
描述Rainbow formation.png |
English: Diagram showing how primary and secondary rainbows are formed due to the light propagation in spherical droplets. Details follow soon!
Legend:
Español: Diagrama que muestra como se forman los arco iris primarios y secundarios debido a la descomposición de luz blanca en gotitas esféricas:
Leyenda:
Português: Diagrama que mostra como se formam os arco-íris primários e secundários em função da decomposição de luz branca em gotículas esféricas:
Legenda:
Català: Diagrama que mostra com es formen els arcs de Sant Martí primaris i secundaris a causa de la descomposició de la llum blanca en gotes esfèriques:
Llegenda:
Tiếng Việt: Sơ đồ cho thấy cách cầu vồng sơ cấp và thứ cấp được hình thành do sự truyền ánh sáng trong các giọt hình cầu. Thông tin chi tiết theo dõi ngay sau đây:
Huyền thoại:
|
來源 | See below / Mirar abajo / Ver abaixo |
作者 | Peo |
我,本作品的著作權持有者,決定用以下授權條款發佈本作品:
已授權您依據自由軟體基金會發行的無固定段落、封面文字和封底文字GNU自由文件授權條款1.2版或任意後續版本,對本檔進行複製、傳播和/或修改。該協議的副本列在GNU自由文件授權條款中。http://www.gnu.org/copyleft/fdl.htmlGFDLGNU Free Documentation Licensetruetrue |
此檔案採用創用CC 姓名標示-相同方式分享 3.0 未在地化版本授權條款。 | ||
| ||
已新增授權條款標題至此檔案,作為GFDL授權更新的一部份。http://creativecommons.org/licenses/by-sa/3.0/CC BY-SA 3.0Creative Commons Attribution-Share Alike 3.0truetrue |
您可以選擇您需要的授權條款。
Español: Tres imágenes trazadas de rayos, creadas usando POV-Ray, puestas juntas y añadidos después números y líneas negras en un paquete de software de gráficos. Abajo se encuentra el "código" para crear los diagramas de arriba, y el paisaje de abajo respectivamente:
English: Three raytraced images, created using POV-Ray (see http://www.povray.org/), put together and numbers and black lines added in a graphics software package afterwards. Below is the "code" to create the diagrams above, and the landscape below, respectively:
Tiếng Việt: Ba hình ảnh raytraced, được tạo bằng POV-Ray (xem http://www.povray.org/), được ghép lại với nhau và các số và dòng màu đen được thêm vào trong một gói phần mềm đồ họa sau đó. Dưới đây là "mã" để tạo các sơ đồ ở trên và cảnh quan bên dưới, tương ứng:
POV-Ray "code" for the diagrams showing light propagation inside the droplets:
/*
=================================================
Light propagation in a spherical droplet, forming
primary and secondary rainbows
-------------------------------------------------
Created by Søren Peo Pedersen - see my user page
at http://da.wikipedia.org/wiki/Bruger:Peo
=================================================
*/
#declare PrimaryRays=yes;
// Use "no" for light propagation in secondary rainbow,
// or "yes" for light propagation in primary rainbow.
#if (PrimaryRays)
// Rendition of light propagation for primary rainbow's light propagation:
#local pgmSpectrum1=pigment { // Pigment for first spectrum "fan-out"
radial
color_map {
[0.0000 color rgbt <.5,0,1,1>]
[0.1429 color rgbt <.5,0,1,.5>]
[0.2857 color rgbt < 0,0,1,.5>]
[0.4286 color rgbt < 0,1,1,.5>]
[0.5714 color rgbt < 0,1,0,.5>]
[0.7143 color rgbt < 1,1,0,.5>]
[0.8571 color rgbt < 1,0,0,.5>]
[1.0000 color rgbt < 1,0,0,1>]
}
frequency 200
rotate <90,0,-13.1>
translate <-3.806586,1.70909106,0>
scale 1/1.67
}
#local pgmSpectrum2=pigment { // Pigment for second spectrum "fan-out"
radial
color_map {
[0.0000 color rgbt <1,1,1,1>]
[0.5000 color rgbt <1,1,1,0>]
[1.0000 color rgbt <1,1,1,1>]
}
frequency 200
rotate <90,0,-13.1>
translate <-3.806586,1.70909106,0>
scale 1/1.67
}
union {
difference { // Incoming white light beam
box {<-100,.67,-.0001>,<0,.83,.0001>}
sphere {0,1}
pigment {
gradient y
color_map {
[0.0 color rgbt<1,1,1,1>]
[0.2 color rgbt<1,1,1,.9>]
[0.3 color rgbt<1,1,1,.5>]
[0.5 color rgbt<1,1,1,0>]
[0.7 color rgbt<1,1,1,.5>]
[0.8 color rgbt<1,1,1,1,.9>]
[1.0 color rgbt<1,1,1,1>]
}
scale .16
translate <0,.67,0>
}
finish {
ambient 1
diffuse 0
}
no_shadow
no_reflection
rotate <0,0,-20.825>
}
difference { // First "rainbow-colored" beam inside droplet
cylinder {<0,0,-.0001>,<0,0,.0001>,1} // Disc w. same diameter as droplet
plane {<0,1,0>,0 rotate <0,0,-14.9> translate <-0.7141428,.7,0>} // Cut-off
plane {<0,-1,0>,0 rotate <0,0,-13.1> translate <-0.6,.8,0>} // boundaries
pigment {
gradient x
pigment_map {
[0 pgmSpectrum2]
[1 pgmSpectrum1]
}
scale 1.67
translate <-.7,0,0>
}
finish {
ambient 1
diffuse 0
}
rotate <0,0,-20.825>
no_shadow
no_reflection
}
merge { // Second "rainbow-colord" beam inside droplet - "crossing over" itself
difference { // The portion to the left of the "cross-over" point
cylinder {<0,0,.0003>,<0,0,.0002>,1} // Droplet-sized disc
plane {<0,-1,0>,0 rotate <0,0,45> translate <1,.12,0>} // Cut-off
plane {<0,1,0>,0 rotate <0,0,25> translate <1,-.09,0>} // boundaries
}
difference { // The portion to the right of the "cross-over" point
cylinder {<0,0,.0003>,<0,0,.0002>,1} // Droplet-sized disc
plane {<0,1,0>,0 rotate <0,0,45> translate <1,.12,0>} // Cut-off
plane {<0,-1,0>,0 rotate <0,0,25> translate <1,-.09,0>} // boundaries
}
pigment {
radial
color_map {
[0.0000 color rgbt <.5,0,1,1>]
[0.1429 color rgbt <.5,0,1,.5>]
[0.2857 color rgbt < 0,0,1,.5>]
[0.4286 color rgbt < 0,1,1,.5>]
[0.5714 color rgbt < 0,1,0,.5>]
[0.7143 color rgbt < 1,1,0,.5>]
[0.8571 color rgbt < 1,0,0,.5>]
[1.0000 color rgbt < 1,0,0,1>]
}
frequency 18
rotate <90,0,-35>
translate <.606514871,-.273485129,0>
}
finish {
ambient 1
diffuse 0
}
no_shadow
no_reflection
}
difference { // The "rainbow-colored light" leaving the droplet at lower left corner:
box {<-100,0,-.0001>,<0,10,.0001> rotate <0,0,32.825> translate <-.113,-.994,0>}
plane {<0,-1,0>,0 rotate <0,0,8.825> translate <-.565,-.805,0>}
cylinder {<0,0,-1>,<0,0,1>,1} // Cut away part that would fall inside droplet
pigment {
radial
color_map {
[0.0000 color rgbt < 1,0,0,1>]
[0.1429 color rgbt < 1,0,0,0>]
[0.2857 color rgbt < 1,1,0,0>]
[0.4286 color rgbt < 0,1,0,0>]
[0.5714 color rgbt < 0,1,1,0>]
[0.7143 color rgbt < 0,0,1,0>]
[0.8571 color rgbt <.5,0,1,0>]
[1.0000 color rgbt <.5,0,1,1>]
}
frequency 15
rotate <-90,0,20.825>
translate <0.416125,-.65268,0>
}
finish {ambient 1 diffuse 0}
no_shadow
no_reflection
}
}
#else
// Rendition of light propagation for secondary rainbow's light propagation:
#local pgmSpectrum1=pigment { // Pigment for "rainbow-colored" part of first beam inside droplet
radial
color_map {
[0.0000 color rgbt < 1,0,0,1>]
[0.1429 color rgbt < 1,0,0,.5>]
[0.2857 color rgbt < 1,1,0,.5>]
[0.4286 color rgbt < 0,1,0,.5>]
[0.5714 color rgbt < 0,1,1,.5>]
[0.7143 color rgbt < 0,0,1,.5>]
[0.8571 color rgbt <.5,0,1,.5>]
[1.0000 color rgbt <.5,0,1,1>]
}
frequency 200
rotate <90,0,-.9>
translate <-3.7364,-0.69606,0>
scale 1/1.7
}
#local pgmSpectrum2=pigment { // Pigment for white part of first "rainbow-colored" beam inside droplet
radial
color_map {
[0.0000 color rgbt <1,1,1,1>]
[0.5000 color rgbt <1,1,1,0>]
[1.0000 color rgbt <1,1,1,1>]
}
frequency 200
rotate <90,0,-.9>
translate <-3.8364,-0.69606,0>
scale 1/1.7
}
union {
difference { // White-to "rainbow-colored" beam inside droplet
cylinder {<0,0,-.0001>,<0,0,.0001>,1}
plane {<0, 1,0>,0 rotate <0,0,-.9> translate <-.657,-.757,0>}
plane {<0,-1,0>,0 rotate <0,0, .9> translate <-.777,-.637,0>}
pigment {
gradient x
pigment_map {
[0 pgmSpectrum2]
[1 pgmSpectrum1]
}
scale 1.7
translate <-.8,0,0>
}
finish {ambient 1 diffuse 0}
no_shadow
no_reflection
}
merge {
difference { // Lower part of self-crossing beam at right-ahdn side inside droplet
cylinder {<0,0,.0002>,<0,0,.0003>,1}
plane {< 1,0,0>,0 rotate <0,0,-6 > translate <.622,-.692,0>}
plane {<-1,0,0>,0 rotate <0,0, 6 > translate <.787,-.727,0>}
}
difference { // Upper part of self-crossing beam at right-ahdn side inside droplet
cylinder {<0,0,.0002>,<0,0,.0003>,1}
plane {<-1,0,0>,0 rotate <0,0,-6 > translate <.622,-.692,0>}
plane {< 1,0,0>,0 rotate <0,0, 6 > translate <.787,-.727,0>}
}
pigment {
radial
color_map {
[0.0000 color rgbt < 1,0,0,1>]
[0.1429 color rgbt < 1,0,0,.5>]
[0.2857 color rgbt < 1,1,0,.5>]
[0.4286 color rgbt < 0,1,0,.5>]
[0.5714 color rgbt < 0,1,1,.5>]
[0.7143 color rgbt < 0,0,1,.5>]
[0.8571 color rgbt <.5,0,1,.5>]
[1.0000 color rgbt <.5,0,1,1>]
}
frequency 30
rotate <90,0,84>
translate <.702661,0.075435,0>
}
finish {ambient 1 diffuse 0}
no_shadow
no_reflection
}
merge { // Right-hand part of self-crossing beam at top of droplet
difference {
cylinder {<0,0,.0004>,<0,0,.0005>,1}
plane {<0,-1,0>,0 rotate <0,0, 6 > translate <.637,.777,0>}
plane {<0, 1,0>,0 rotate <0,0,-6 > translate <.772,.642,0>}
}
difference { // Left-hand part of self-crossing beam at top of droplet
cylinder {<0,0,.0004>,<0,0,.0005>,1}
plane {<0, 1,0>,0 rotate <0,0, 6 > translate <.637,.777,0>}
plane {<0,-1,0>,0 rotate <0,0,-6 > translate <.772,.642,0>}
}
pigment {
radial
color_map {
[0.0000 color rgbt < 1,0,0,1>]
[0.1429 color rgbt < 1,0,0,.5>]
[0.2857 color rgbt < 1,1,0,.5>]
[0.4286 color rgbt < 0,1,0,.5>]
[0.5714 color rgbt < 0,1,1,.5>]
[0.7143 color rgbt < 0,0,1,.5>]
[0.8571 color rgbt <.5,0,1,.5>]
[1.0000 color rgbt <.5,0,1,1>]
}
frequency 30
rotate <90,0,-6>
translate <.06228,0.716595,0>
}
finish {ambient 1 diffuse 0}
}
no_shadow
no_reflection
rotate <0,0,5>
}
difference { // "Rainbow-colored" beam leaving the droplet
box {<-10,0,.0002>,<.3,10,.0003> rotate <0,0,38.325> translate <-.827,.557,0>}
plane {<0,-1,0>,0 rotate <0,0,14.325> translate <-.697,.717,0>}
cylinder {<0,0,-1>,<0,0,1>,1}
pigment {
radial
color_map {
[0.0000 color rgbt < 1,0,0,1>]
[0.1429 color rgbt < 1,0,0,0>]
[0.2857 color rgbt < 1,1,0,0>]
[0.4286 color rgbt < 0,1,0,0>]
[0.5714 color rgbt < 0,1,1,0>]
[0.7143 color rgbt < 0,0,1,0>]
[0.8571 color rgbt <.5,0,1,0>]
[1.0000 color rgbt <.5,0,1,1>]
}
frequency 15
rotate <90,0,-21.3>
translate <-0.59003,0.744316,0>
}
finish {ambient 1 diffuse 0}
no_shadow
no_reflection
}
difference { // Incoming white light beam
box {<-100,-1,-.0001>,<0,-.87,.0001>}
sphere {0,1}
pigment {
gradient y
color_map {
[0.0 color rgbt<1,1,1,1>]
[0.2 color rgbt<1,1,1,.9>]
[0.3 color rgbt<1,1,1,.5>]
[0.5 color rgbt<1,1,1,0>]
[0.7 color rgbt<1,1,1,.5>]
[0.8 color rgbt<1,1,1,1,.9>]
[1.0 color rgbt<1,1,1,1>]
}
scale .13
translate <0,-1,0>
}
finish {
ambient 1
diffuse 0
}
no_shadow
no_reflection
rotate <0,0,-20.825>
}
#end
difference { // Droplet - actually a hemisphere for appearance reasons
sphere {0,1}
plane {<0,0,1>,.001}
pigment {color rgbt<.7,.8,1,.7>}
finish {
phong 1
phong_size 80
reflection .6
metallic
}
}
camera { // Viewpoint
up <0,1,0> right <1,0,0> // Assume square-shaped image format
location <-.2,0,-2.5>
look_at <-.2,0,0>
}
light_source { // Light
<-10,0,-10>
color rgb 1.5
rotate <0,0,-20.825>
}
----
POV-Ray "code" for the landscape with rainbows, observer and "droplet cloud":
/*
=================================================
"Landscape" showing the formation of two rainbows
-------------------------------------------------
Created by Søren Peo Pedersen - see my user page
at http://da.wikipedia.org/wiki/Bruger:Peo
=================================================
*/
plane { // Flat terrain in the foreground
<0,1,0>,0
pigment {color rgb <.65,.7,.6>}
finish {ambient .4}
}
plane {<0,0,-1>,0 // Invisible surface carrying the grey "cloud"
pigment {
cylindrical
color_map {
[0.0 color rgbt<1,1,1,1>]
[0.5 color rgbt<.7,.7,.7,0>]
[1.0 color rgbt<.5,.5,.5,0>]
}
rotate <90,0,0>
scale 7
translate <8,8,0>
turbulence .3
}
finish {ambient 1 diffuse 0}
}
sky_sphere { // Provides a sky with light blue color gradient
pigment {
gradient y
color_map {
[0 color rgb <.1,.3,.2>]
[.5 color rgb <.65,.7,.6>]
[.5 color rgb <.8,.9,1>]
[1 color rgb <.2,.5,1>]
}
translate -.5
scale 2
turbulence .1
}
}
union { // The observer in the lower, left-hand corner
sphere {0,1 scale <.2,.8,.2> pigment {color rgb <0,0,1>} finish {ambient .5}}
sphere {<0,1,0>,.2 pigment {color rgb <1,.7,.4>} finish {ambient .5}}
translate <-6.5,0,-4>
}
#macro ColorFunction(Plads) // Creates a color from the spectrum (from 0=red to 1=purple)
#local U=4.9999*(Plads-int(Plads*4.9999)/4.9999);
#switch (Plads)
#range (0.0,0.2) color rgb < 1 , U , 0 > #break
#range (0.2,0.4) color rgb <1-U, 1 , 0 > #break
#range (0.4,0.6) color rgb < 0 , 1 , U > #break
#range (0.6,0.8) color rgb < 0 ,1-U, 1 > #break
#range (0.8,1.0) color rgb < U , 0 , 1 > #break
#end
#end
#macro Beam(Num,Primay) // Renders a white incoming beam, and a colored "returned" beam
#local R=seed(145*Num);
#local Lgd=11+rand(R)*3;
#if (Primay)
#local Vinkel=42.3-20.825-1.7*Num;
#else
#local Vinkel=50.7-20.825+2.9*Num;
#end
merge {
cylinder {0,<Lgd,0,0>,.01
pigment {ColorFunction(Num)}
finish {ambient 1 diffuse 0}
rotate <0,0,Vinkel>
translate <-6.5,1,-4>
no_shadow
}
cylinder {
<-100,0,0>,0,.01
rotate <0,0,-20.825>
translate <-6.5+Lgd*cos(radians(Vinkel)),1+Lgd*sin(radians(Vinkel)),-4>}
pigment {color rgb 1}
finish {ambient 1 diffuse 0}
}
#end
// Light beams forming the primary rainbow:
#object {Beam(0.00,yes)}
#object {Beam(0.25,yes)}
#object {Beam(0.50,yes)}
#object {Beam(0.75,yes)}
#object {Beam(1.00,yes)}
// Light beams forming the secondary rainbow:
#object {Beam(0.00,no)}
#object {Beam(0.25,no)}
#object {Beam(0.50,no)}
#object {Beam(0.75,no)}
#object {Beam(1.00,no)}
// Totally transparent pigment set of primary and secondary arc
#local ArcPgmt0=pigment {
cylindrical
color_map {
[0.0 color rgbt<1,1,1,1>]
[0.00001 color rgbt<1,0,1,1>]
[0.022 color rgbt<0,0,1,1>]
[0.044 color rgbt<0,1,1,1>]
[0.066 color rgbt<0,1,0,1>]
[0.088 color rgbt<1,1,0,1>]
[0.11 color rgbt<1,0,0,1>]
[0.11 color rgbt<1,1,1,1>]
[0.39 color rgbt<1,1,1,1>]
[0.39 color rgbt<1,0,0,1>]
[0.40 color rgbt<1,1,0,1>]
[0.41 color rgbt<0,1,0,1>]
[0.42 color rgbt<0,1,1,1>]
[0.43 color rgbt<0,0,1,1>]
[0.44 color rgbt<1,0,1,1>]
[0.44 color rgbt<1,1,1,1>]
[1.0 color rgbt<1,1,1,1>]
}
}
// Slightly non-transparent pigment set of primary and secondary arc
#local ArcPgmt1=pigment {
cylindrical
color_map {
[0.0 color rgbt<1,1,1,1>]
[0.00001 color rgbt<1,0,1,.7>]
[0.022 color rgbt<0,0,1,.7>]
[0.044 color rgbt<0,1,1,.7>]
[0.066 color rgbt<0,1,0,.7>]
[0.088 color rgbt<1,1,0,.7>]
[0.11 color rgbt<1,0,0,0>]
[0.11 color rgbt<1,1,1,1>]
[0.39 color rgbt<1,1,1,1>]
[0.39 color rgbt<1,0,0,.2>]
[0.40 color rgbt<1,1,0,.2>]
[0.41 color rgbt<0,1,0,.2>]
[0.42 color rgbt<0,1,1,.2>]
[0.43 color rgbt<0,0,1,.2>]
[0.44 color rgbt<1,0,1,.2>]
[0.44 color rgbt<1,1,1,1>]
[1.0 color rgbt<1,1,1,1>]
}
}
// Surface carrying the two rainbows in front of the grey "cloud"
plane {<-1,0,0>,0
pigment {
radial
pigment_map {
[0.0 ArcPgmt1]
[0.2 ArcPgmt0]
[0.8 ArcPgmt0]
[1.0 ArcPgmt1]
}
rotate <0,0,90>
scale <4.18495,4.18495,7>
translate <0,1,-4>
}
finish {ambient 1 diffuse 0}
hollow
no_shadow
}
// Viewpoint
camera {
location <-5,5,-15>
look_at <1,4,0>
}
// "Infinitely" remote light source with parallel rays:
light_source {
<-1000,0,0>
color rgb 1.5
rotate <0,0,-20.825>
parallel
}
在此檔案描寫的項目
描繪內容
image/png
檔案歷史
點選日期/時間以檢視該時間的檔案版本。
日期/時間 | 縮圖 | 尺寸 | 使用者 | 備註 | |
---|---|---|---|---|---|
目前 | 2005年4月9日 (六) 12:56 | 721 × 902(280 KB) | Peo~commonswiki | Diagram showing how primary and secondary rainbows are formed. Details follow soon! {{GFDL-self}} |
檔案用途
下列頁面有用到此檔案:
全域檔案使用狀況
以下其他 wiki 使用了這個檔案:
- af.wikipedia.org 的使用狀況
- an.wikipedia.org 的使用狀況
- arc.wikipedia.org 的使用狀況
- ay.wikipedia.org 的使用狀況
- bat-smg.wikipedia.org 的使用狀況
- ba.wikipedia.org 的使用狀況
- beta.wikiversity.org 的使用狀況
- be.wikipedia.org 的使用狀況
- bg.wikipedia.org 的使用狀況
- bn.wikipedia.org 的使用狀況
- br.wikipedia.org 的使用狀況
- bs.wikipedia.org 的使用狀況
- ca.wikipedia.org 的使用狀況
- cdo.wikipedia.org 的使用狀況
- cs.wikipedia.org 的使用狀況
- cv.wikipedia.org 的使用狀況
- cy.wikipedia.org 的使用狀況
- da.wikipedia.org 的使用狀況
- dsb.wikipedia.org 的使用狀況
- en-two.iwiki.icu 的使用狀況
- en.wikiversity.org 的使用狀況
- eo.wikipedia.org 的使用狀況
- es.wikipedia.org 的使用狀況
- et.wikipedia.org 的使用狀況
- eu.wikipedia.org 的使用狀況
- fr.wikibooks.org 的使用狀況
- fur.wikipedia.org 的使用狀況
- ga.wikipedia.org 的使用狀況
- gd.wikipedia.org 的使用狀況
- he.wikipedia.org 的使用狀況
- hi.wikipedia.org 的使用狀況
- hr.wikipedia.org 的使用狀況
- hsb.wikipedia.org 的使用狀況
- hu.wikipedia.org 的使用狀況
- incubator.wikimedia.org 的使用狀況
- is.wikipedia.org 的使用狀況
- it.wikipedia.org 的使用狀況
- ka.wikipedia.org 的使用狀況
- kv.wikipedia.org 的使用狀況
- la.wikipedia.org 的使用狀況
- li.wikipedia.org 的使用狀況
- lmo.wikipedia.org 的使用狀況
- lt.wikipedia.org 的使用狀況
- lv.wikipedia.org 的使用狀況
- mai.wikipedia.org 的使用狀況
- mk.wikipedia.org 的使用狀況
檢視此檔案的更多全域使用狀況。
隱藏分類: