Fil:Shell-diag-1.svg
Sideinnholdet støttes ikke på andre språk.
Fra Wikipedia, den frie encyklopedi
Størrelse for denne PNG-forhåndsvisningen av denne SVG-filen: 303 × 147 piksler Andre oppløsninger: 320 × 155 piksler | 640 × 310 piksler | 1 024 × 497 piksler | 1 280 × 621 piksler | 2 560 × 1 242 piksler.
Opprinnelig fil (SVG-fil, standardstørrelse 303 × 147 piksler, filstørrelse: 21 KB)
Denne filen er fra Wikimedia Commons og kan brukes av andre prosjekter. Informasjonen fra filbeskrivelsessiden vises nedenfor. |
Beskrivelse
BeskrivelseShell-diag-1.svg |
English: A diagram illustrating the derivation of Newton's shell theorem. Shown is a thin shell with a test mass outside the shell (). |
Dato | |
Kilde | Eget verk |
Opphavsperson | Xaonon |
Lisensiering
Jeg, rettighetsinnehaver av dette arbeidet, publiserer det herved under følgende lisens:
Denne filen er lisensiert under lisensen Creative Commons Navngivelse-DelPåSammeVilkår 4.0 Internasjonal.
- Du står fritt:
- til å dele – til å kopiere, distribuere og overføre verket
- til å blande – til å endre verket
- Under de følgende betingelsene:
- navngivelse – Du må kreditere verket på passende vis, lenke til lisensen og indikere hvorvidt det har blitt gjort endringer. Du kan gjøre det på enhver rimelig måte, men ikke på en måte som antyder at lisensgiveren støtter deg eller din bruk av verket.
- del på samme vilkår – Dersom du remikser, omarbeider eller på annen måte bygger på dette verket, må du kun distribuere resultatet under den samme eller en samsvarende lisens som denne.
Source
This image and the others in the same series (2, 3, 4) were generated from the MetaPost code presented below. The code is released under the same license as the images themselves.
% shell-diag.mp % A diagram illustrating the derivation of Newton's shell theorem. To be % processed with MetaPost: % mpost --mem=metafun.mem -s 'outputformat="svg"' -s prologues=3 shell-diag.mp color bandshade, fillshade; bandshade = 0.7 [blue, white]; fillshade = 0.9 white; numeric dotsize, deg; dotsize = 5 bp; deg = length( fullcircle )/360; freelabeloffset := 3/4 freelabeloffset; labeloffset := 2 labeloffset; def dot( expr P ) = fill fullcircle scaled dotsize shifted P withcolor black; enddef; def draw_circle( expr R, stroke ) = save p; pen p; p = currentpen; pickup p scaled stroke; draw fullcircle scaled 2R; pickup p; enddef; vardef anglebetween( expr a, b, rad, str ) = save endofa, endofb, common, curve, where; pair endofa, endofb, common; path curve; numeric where; endofa = point length( a ) of a; endofb = point length( b ) of b; if round point 0 of a = round point 0 of b: common = point 0 of a; else: common = a intersectionpoint b; fi; where = turningnumber( common--endofa--endofb--cycle ); curve = (unitvector( endofa - common ){(endofa - common) rotated (90 * where)} .. unitvector( endofb - common )) scaled rad shifted common; draw thefreelabel( str, point 1/2 of curve, common ) withcolor black; curve enddef; def draw_angle( expr a, b, rad, str ) = begingroup save p; pen p; p = currentpen; pickup p scaled 1/2; draw anglebetween( a, b, rad, str ); pickup p; endgroup enddef; def label_line( expr a, b, disp, str ) = begingroup save mid, opp; pair mid, opp; mid = 1/2 [a, b]; opp = -disp rotated (angle( b - a ) - 90) shifted mid; draw thefreelabel( str, mid, opp ); draw a -- b; endgroup enddef; def draw_thinshell( expr R, r, theta, dtheta, thetarad, phirad ) = begingroup save M, m; pair M, m; M = (0, 0); m = (r, 0); save circ; path circ; circ = fullcircle scaled 2R; save thetapt, dthetapt; pair thetapt, dthetapt; thetapt = point (theta * deg) of circ; dthetapt = point ((theta + dtheta) * deg) of circ; save upper, lower, band; path upper, lower, band; upper = subpath (0, 4) of circ; lower = subpath (4, 8) of circ; band = buildcycle( upper, (xpart thetapt, R) -- (xpart thetapt, -R), lower, (xpart dthetapt, R) -- (xpart dthetapt, -R) ); % draw figures save p; pen p; p = currentpen; pickup p scaled 1/2; fill band withcolor bandshade; draw band; pickup p; save near, far; pair near, far; if theta < 90: near = 3/4[ulcorner band, llcorner band]; far = right shifted near; else: near = 3/4[urcorner band, lrcorner band]; far = left shifted near; fi; draw thefreelabel( btex $dM$ etex, near, far ); dot( M ); %label.llft( btex $M$ etex, M ); dot( m ); label.lrt( btex $m$ etex, m ); draw M -- thetapt; label_line( M, m, right, btex $r$ etex ); label_line( m, thetapt, right, btex $s$ etex ); if R <> r: label_line( M, dthetapt, left, btex $R$ etex ); else: draw M -- dthetapt; fi; draw_angle( m -- M, m -- thetapt, phirad, btex $\phi$ etex ); draw_angle( M -- m, M -- thetapt, thetarad, btex $\theta$ etex ); draw_angle( M -- thetapt, M -- dthetapt, R, btex $d\theta$ etex ); endgroup enddef; def draw_thickshell( expr Ra, Rb, r ) = begingroup save m; pair m; m = (r, 0); fill fullcircle scaled 2Rb withcolor fillshade; fill fullcircle scaled 2r withcolor bandshade; unfill fullcircle scaled 2Ra; dot( origin ); dot( m ); label.lrt( btex $m$ etex, m ); label_line( origin, m, right, btex $r$ etex ); draw_circle( Rb, 2 ); if Ra > 0: draw_circle( Ra, 2 ); label_line( origin, dir( 100 ) scaled Rb, left, btex $R_b$ etex ); label_line( origin, dir( 80 ) scaled Ra, right, btex $R_a$ etex ); else: label_line( origin, dir( 90 ) scaled Rb, left, btex $R_b$ etex ); fi; endgroup enddef; % Thin shell, r > R beginfig(1) numeric R; R = 1 in; draw_thinshell( R, 3R, 50, 15, 1/4 in, 3/4 in ); draw_circle( R, 2 ); setbounds currentpicture to boundingbox currentpicture enlarged 1pt; endfig; % Thin shell, r < R beginfig(2) numeric R; R = 1 in; draw_thinshell( R, 0.7R, 125, 15, 1/8 in, 1/3 in ); draw_circle( R, 2 ); setbounds currentpicture to boundingbox currentpicture enlarged 1pt; endfig; % Thick shell beginfig(3) numeric Ra, Rb, r; Ra = 0.8 in; Rb = 1.3 in; r = 1 in; draw_thickshell( Ra, Rb, r ); setbounds currentpicture to boundingbox currentpicture enlarged 1pt; endfig; % Solid sphere beginfig(4) numeric Ra, Rb, r; Ra = 0; Rb = 1.3 in; r = 1 in; draw_thickshell( Ra, Rb, r ); setbounds currentpicture to boundingbox currentpicture enlarged 1pt; endfig; end
Elementer som er med i denne fila
motiv
En verdi uten element på Wikidata
25. feb. 2017
Filhistorikk
Klikk på et tidspunkt for å vise filen slik den var på det tidspunktet.
Dato/klokkeslett | Miniatyrbilde | Dimensjoner | Bruker | Kommentar | |
---|---|---|---|---|---|
nåværende | 26. feb. 2017 kl. 02:55 | 303 × 147 (21 KB) | Xaonon | tweak bounding box | |
26. feb. 2017 kl. 02:10 | 301 × 145 (21 KB) | Xaonon | User created page with UploadWizard |
Filbruk
De følgende 2 sidene bruker denne filen:
Global filbruk
Følgende andre wikier bruker denne filen:
- Bruk i ar.wikipedia.org
- Bruk i en.wikipedia.org
- Bruk i ru.wikipedia.org
Metadata
Denne filen inneholder tilleggsinformasjon, sannsynligvis lagt til av digitalkameraet eller skanneren som ble brukt til å lage eller digitalisere det.
Hvis filen har blitt forandret fra utgangspunktet, kan enkelte detaljer være unøyaktige.
Bredde | 303.439804 |
---|---|
Høyde | 146.992523 |
Hentet fra «https://no.wikipedia.org/wiki/Fil:Shell-diag-1.svg»