Communauté  • Livre d'or
Chats noirs.jpg Actualités, astuces, interview... Venez lire la gazette de ce printemps de Vikidia ! DessinInterview.png

Fichier:Parallel-plate-capacitor-with-field-overlay.jpg

Aller à la navigation Aller à la recherche

Fichier d’origine(4 635 × 3 089 pixels, taille du fichier : 2,16 Mio, type MIME : image/jpeg)

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

Description

Description
English: Parallel-plate capacitor with field overlay
Date
Source Travail personnel
Auteur MikeRun
JPG information
InfoField
 
Cette représentation graphique a été créée avec VectorFieldPlot
Code source
InfoField

Python code

# script based on https://commons.wikimedia.org/wiki/File:VFPt_capacitor-round-plate_potential.svg
# paste this code at the end of VectorFieldPlot 2.1

doc = FieldplotDocument('VFPt_capacitor-round-plate',
    width=1200, height=1600, commons=True)
l = 4.5
d = 1.1
plates = [{'x0':-l/2., 'y0':d/2., 'x1':l/2., 'y1':d/2., 'Q':1.},
          {'x0':-l/2., 'y0':-d/2., 'x1':l/2., 'y1':-d/2., 'Q':-1.}]
field = Field([ ['charged_disc', plates[0] ], ['charged_disc', plates[1] ] ])

def startpath(t):
    # take an oval with stright lines and half-cirles around one plate
    tt = (t%1) * (2 * l + pi * d)
    if tt <= l*0.5:
        return sc.array([tt, d])
    elif tt <= l*0.5 + pi/2.*d:
        phi = (tt - l*0.5) / (d/2.)
        return sc.array([l*0.5 + d*0.5*sin(phi), d*0.5 + d*0.5*cos(phi)])
    elif tt <= l*1.5 + pi/2.*d:
        return sc.array([l - (tt - pi/2.*d), 0.])
    elif tt <= l*1.5 + pi*d:
        phi = (tt - l*1.5) / (d/2.)
        return sc.array([-l*0.5 + d*0.5*sin(phi), d*0.5 + d*0.5*cos(phi)])
    else:
        return sc.array([tt - (l*2. + pi*d), d])
nlines = 22
startpoints = Startpath(field, startpath).npoints(nlines)

# plot field lines
for p0 in startpoints:
    line = FieldLine(field, p0, directions='both')
    doc.draw_line(line, arrows_style={'dist':2, 'min_arrows':1})

# plot round plates
D = 0.055
lw = 0.01
nsign = nlines
plus = 'M 0,-0.02 v 0.04 M -0.02,0 h 0.04'
minus = 'M -0.02,0 h 0.04'
defs = doc.draw_object('g', {})
grad = doc.draw_object('linearGradient', {'id':'grad',
    'x1':str(l/2.), 'x2':str(-l/2.), 'y1':'0', 'y2':'0',
    'gradientUnits':'userSpaceOnUse'}, defs)
for o, c, a in ((0, '#000', 0.3), (0.3, '#999', 0.2),
                (0.8, '#fff', 0.25), (1, '#fff', 0.65)):
    doc.draw_object('stop', {'id':'grad',
         'offset':str(o), 'stop-color':c, 'stop-opacity':str(a)}, grad)

for p in plates:
    M = 0.5 * (sc.array([p['x0'], p['y0'] ]) + sc.array([p['x1'], p['y1'] ]))
    R = sc.array([p['x1'], p['y1'] ]) - M
    a = atan2(R[1], R[0])
    if p['Q'] > 0:
        col = '#f00'
        sign = plus
    else:
        col = '#12f'
        sign = minus
    transform = 'translate({:.6g},{:.6g})'.format(M[0], M[1])
    transform += ' rotate({:.6g})'.format(degrees(a))
    doc.draw_object('rect', {'x':-vabs(R)-lw/2., 'width':2*vabs(R)+lw,
        'y':-D, 'height':2*D, 'transform':transform,
        'style':'fill:{:s}; stroke:none'.format(col)})
    doc.draw_object('rect', {'x':-vabs(R)-lw/2., 'width':2*vabs(R)+lw,
        'y':-D, 'height':2*D, 'transform':transform,
        'style':'fill:url(#grad); stroke:#000; stroke-width:{:.6g}'.format(lw)})
    for i in range(nsign):
        pos = M + R * (2 * (i + 0.5) / nsign - 1)
        doc.draw_object('path', {'d':sign,
        'transform':'translate({:.6g},{:.6g})'.format(*pos),
        'style':'fill:none; stroke:#000; stroke-width:{:.6g}; '.format(2*lw) +
        'stroke-linecap:square'})

doc.write()

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 cette œuvre, vous devez distribuer votre contribution sous la même licence ou une licence compatible avec celle de l’original.

Légendes

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

Éléments décrits dans ce fichier

dépeint

image/jpeg

Historique du fichier

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

Date et heureVignetteDimensionsUtilisateurCommentaire
Actuel13 mai 2021 à 09:36Vignette pour la version du 13 mai 2021 à 09:364 635 × 3 089 (2,16 Mio)wikimediacommons>MikeRunUploaded own work with UploadWizard

La page suivante utilise ce fichier :