Fichier:Shell-diag-1.png

De testwiki
Aller à la navigation Aller à la recherche
Fichier d’origine (1 255 × 605 pixels, taille du fichier : 33 kio, type MIME : image/png)

Ce fichier provient de Wikimedia Commons et peut être utilisé par d'autres projets. Sa description sur sa page de description est affichée ci-dessous.

Une version vectorielle de cette image existe, dans le format « SVG ». Si elle n’est pas inférieure, elle devrait être utilisée à la place de la présente version pour des affichages en plus grandes dimensions ou nécessitant une meilleure résolution.

File:Shell-diag-1.png → File:Shell-diag-1.svg

Pour plus d’informations sur les images vectorielles, consultez la page de transition de Commons vers le format SVG.
Voir aussi les informations à propos de la manière dont le logiciel MediaWiki gère les images au format SVG.

Dans les autres langues
Alemannisch  العربية  беларуская (тарашкевіца)  български  বাংলা  català  нохчийн  čeština  dansk  Deutsch  Ελληνικά  English  British English  Esperanto  español  eesti  euskara  فارسی  suomi  français  Frysk  galego  Alemannisch  עברית  हिन्दी  hrvatski  magyar  հայերեն  Bahasa Indonesia  Ido  italiano  日本語  ქართული  한국어  lietuvių  македонски  മലയാളം  Bahasa Melayu  မြန်မာဘာသာ  norsk bokmål  Plattdüütsch  Nederlands  norsk nynorsk  norsk  occitan  polski  prūsiskan  português  português do Brasil  română  русский  sicilianu  Scots  slovenčina  slovenščina  српски / srpski  svenska  தமிழ்  ไทย  Türkçe  татарча / tatarça  українська  vèneto  Tiếng Việt  中文  中文(中国大陆)  中文(简体)  中文(繁體)  中文(马来西亚)  中文(新加坡)  中文(臺灣)  +/−
Nouvelle image SVG

Description

Description A diagram illustrating the derivation of Newton's shell theorem. Shown is a thin shell with a test mass outside the shell ().
Date
Source Travail personnel
Auteur Jim Wisniewski

Conditions d’utilisation

Moi, en tant que détenteur des droits d’auteur sur cette œuvre, je la publie sous la licence suivante :
w:fr:Creative Commons
paternité partage à l’identique
Vous êtes libre :
  • de partager – de copier, distribuer et transmettre cette œuvre
  • d’adapter – de modifier cette œuvre
Sous les conditions suivantes :
  • paternité – Vous devez donner les informations appropriées concernant l'auteur, fournir un lien vers la licence et indiquer si des modifications ont été faites. Vous pouvez faire cela par tout moyen raisonnable, mais en aucune façon suggérant que l’auteur vous soutient ou approuve l’utilisation que vous en faites.
  • partage à l’identique – Si vous modifiez, transformez ou vous basez sur cet élément, vous devez distribuer votre contribution sous une license identique ou compatible à celle de l’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

Légendes

Ajoutez en une ligne la description de ce que représente ce fichier

Éléments décrits dans ce fichier

dépeint

Historique du fichier

Cliquer sur une date et heure pour voir le fichier tel qu'il était à ce moment-là.

Date et heureVignetteDimensionsUtilisateurCommentaire
actuel30 septembre 2006 à 01:50Vignette pour la version du 30 septembre 2006 à 01:501 255 × 605 (33 kio)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

La page suivante utilise ce fichier :