File:Shell-diag-1.png
From formulasearchengine
Jump to navigation
Jump to search
Size of this preview: 800 × 386 pixels. Other resolutions: 320 × 154 pixels | 640 × 309 pixels | 1,255 × 605 pixels.
Original file (1,255 × 605 pixels, file size: 33 KB, MIME type: image/png)
This file is from Wikimedia Commons and may be used by other projects. The description on its file description page there is shown below.
File:Shell-diag-1.svg is a vector version of this file. It should be used in place of this PNG file when not inferior.
File:Shell-diag-1.png → File:Shell-diag-1.svg
For more information, see Help:SVG.
|
Summary
DescriptionShell-diag-1.png | A diagram illustrating the derivation of Newton's shell theorem. Shown is a thin shell with a test mass outside the shell (). |
Date | |
Source | Own work |
Author | Jim Wisniewski |
Licensing
I, the copyright holder of this work, hereby publish it under the following license:
This file is licensed under the Creative Commons Attribution-Share Alike 2.5 Generic license.
- You are free:
- to share – to copy, distribute and transmit the work
- to remix – to adapt the work
- Under the following conditions:
- attribution – You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
- share alike – If you remix, transform, or build upon the material, you must distribute your contributions under the same or compatible license as the original.
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. 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 ); 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 ); 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 ); endfig; % Solid sphere beginfig(4) numeric Ra, Rb, r; Ra = 0; Rb = 1.3 in; r = 1 in; draw_thickshell( Ra, Rb, r ); endfig; end
Items portrayed in this file
depicts
29 September 2006
File history
Click on a date/time to view the file as it appeared at that time.
Date/Time | Thumbnail | Dimensions | User | Comment | |
---|---|---|---|---|---|
current | 02:50, 30 September 2006 | 1,255 × 605 (33 KB) | wikimediacommons>Xaonon | == Summary == {{Information |Description = A diagram illustrating the derivation of Newton's shell theorem. Shown is a thin shell with a test mass outside the shell (<math>r > R</math>). Created with w:MetaPost. |Source = Own work. |Date = 2006-09-2 |
File usage
There are no pages that use this file.
Retrieved from "https://en.formulasearchengine.com/wiki/File:Shell-diag-1.png"