tóng-àn:VFPt dipoles magnetic.svg

Choân kái-sek-tō͘(SVG ùng-giông, chék-cháung: 840 × 840 chuông-só, ùng-giông duâi-nâung:103 KB)

顯示此圖片於

Khài-iàu

Soat-bêng
English: Computed drawings of four different types of magnetic dipoles.

Upper left: An ideal point-like dipole. The field shape is scale invariant and approximates the field of any magnetized volume with nonzero dipole moment at large distance.
Upper right: Discrete dipole of two opposite point-like magnetic poles at finite distance, a physical dipole. Note that isolated magnetic charges don't exist, but this configuration accurately represents the field of a very thin magnetized rod with magnetic poles at each end.
Lower left: Circular ring conductor loop with electric an current. An “Amperian loop”.
Lower right: Ideal continuous solenoid, a hollow cylinder with uniform circular current sheet around its circumference. This equally represents the B-field of a uniformely magnetized cylinder magnet.

Although the four field configurations differ significantly, they all converge to the same dipole field at large distances. Each configuration may represent a magnetic dipole.
Ji̍t-kî
Chhut-chhù Ka-tī chò--ê
Chok-chiá Geek3
其他版本 VFPt dipoles electric.svg
SVG開發
InfoField
 
SVG檔案的原始碼通過W3C驗證
 
向量圖形使用VectorFieldPlot創作。
 
 這個SVG 檔案通過SVG <switch>元素進行翻譯:所有譯文均儲存於同一檔案內。
Goân-sú-bé
InfoField

Python code

# paste this code at the end of VectorFieldPlot 2.5
R = 0.6
h = 0.6
rsym = 21


doc = FieldplotDocument('VFPt_dipoles_magnetic1', commons=True,
    width=360, height=360)
field = Field([ ['dipole', {'x':0, 'y':0, 'px':0., 'py':1.}] ])

def f_arrows(xy):
    return xy[1] * (sc.hypot(xy[0], xy[1]) / 1.4 - 1)
def f_cond(xy):
    return hypot(*xy) > 1e-4 and (fabs(xy[1]) < 1e-3 or fabs(xy[1]) > .3)

nlines = 19
startpoints = Startpath(field, lambda t: 0.25*sc.array([sin(t), cos(t)]),
    t0=-pi/2, t1=pi/2).npoints(nlines)
for p0 in startpoints:
    line = FieldLine(field, p0, directions='both')
    doc.draw_line(line, maxdist=1, arrows_style={'at_potentials':[0.],
        'potential':f_arrows, 'condition_func':f_cond, 'scale':1.2})

# draw dipole symbol
rg_grad = etree.SubElement(doc._get_defs(), 'linearGradient')
rg_grad.set('id', 'grad_rg')
for attr, val in [ ['x1', '0'], ['x2', '0'], ['y1', '0'], ['y2', '1'] ]:
    rg_grad.set(attr, val)
for col, of in [ ['#00cc00', '0'], ['#887744', '0.5'], ['#ff0000', '1'] ]:
    stop = etree.SubElement(rg_grad, 'stop')
    stop.set('stop-color', col)
    stop.set('offset', of)
    stop.set('stop-opacity', '1')
symb = doc.draw_object('g', {'id':'dipole_symbol',
    'transform':'scale({0},{0})'.format(1./doc.unit)})
doc.draw_object('circle', {'cx':'0', 'cy':'0', 'r':rsym,
    'fill':'url(#grad_rg)', 'stroke':'none'}, group=symb)
doc._check_whitespot()
doc.draw_object('circle', {'cx':'0', 'cy':'0', 'r':rsym,
    'fill':'url(#white_spot)', 'stroke':'#000000', 'stroke-width':'3'},
    group=symb)
doc.draw_object('path', {'fill':'#000000', 'stroke':'none',
    'd':'M 3,-12 V 0 H 12 L 0,15 L -12,0 H -3 V -12 H 3 Z'}, group=symb)
doc.write()



doc = FieldplotDocument('VFPt_dipoles_magnetic2', commons=True,
    width=360, height=360)
field = Field([ ['monopole', {'x':0, 'y':h, 'Q':1}],
    ['monopole', {'x':0, 'y':-h, 'Q':-1}] ])

def f_arrows(xy):
    return xy[1] * (sc.hypot(xy[0], xy[1]) / 1.4 - 1)
def f_cond(xy):
    return fabs(xy[0]) < 1.4

nlines = 18
stp = Startpath(field, lambda t: R*sc.array([.2*sin(t), 1+.2*cos(t)]),
    t0=-pi, t1=pi)
startpoints = [stp.startpos(s) for s in sc.arange(nlines)/float(nlines)]
startpoints.append(startpoints[nlines//2].dot([ [1,0],[0,-1] ]))
for p0 in startpoints:
    line = FieldLine(field, p0, directions='both', maxr=100)
    doc.draw_line(line, maxdist=1, arrows_style={'at_potentials':[0.],
        'potential':f_arrows, 'condition_func':f_cond, 'scale':1.2})

# draw pole symbols
symb_N = doc.draw_object('g', {'id':'north_symbol',
    'transform':'translate(0,{0}) scale({1},{1})'.format(h, 1./doc.unit)})
symb_S = doc.draw_object('g', {'id':'south_symbol',
    'transform':'translate(0,{0}) scale({1},{1})'.format(-h, 1./doc.unit)})
for i, g in enumerate([symb_N, symb_S]):
    doc.draw_object('circle', {'cx':'0', 'cy':'0', 'r':rsym, 'stroke':'none',
        'fill':['#ff0000', '#00cc00'][i]}, group=g)
    doc._check_whitespot()
    doc.draw_object('circle', {'cx':'0', 'cy':'0', 'r':rsym,
        'fill':'url(#white_spot)', 'stroke':'#000000', 'stroke-width':'3'}, group=g)
    
    text = etree.SubElement(g, 'text')
    for attr, val in [ ['text-anchor', 'middle'], ['x', 0], ['y', 11],
        ['fill', '#000000'], ['stroke', 'none'], ['font-size', '32px'],
        ['font-family', 'Bitstream Vera Sans'],
        ['transform', 'scale(1, -1)'] ]:
        text.set(attr, str(val))
        text.text = ['N', 'S'][i]
doc.write()



doc = FieldplotDocument('VFPt_dipoles_magnetic3', commons=True,
    width=360, height=360)
field = Field([ ['ringcurrent', {'x':0, 'y':0, 'R':R, 'phi':pi/2, 'I':1.}] ])

def f_arrows(xy):
    return xy[1] * (sc.hypot(xy[0], xy[1]) / 1.4 - 1)
def f_cond(xy):
    return hypot(*xy) > R and fabs(fabs(xy[0]) - 1.4) > 0.2

nlines = 13
startpoints = Startpath(field, lambda t: sc.array([R*t, 0.]),
    t0=-0.8, t1=0.8).npoints(nlines)
for p0 in startpoints:
    line = FieldLine(field, p0, directions='both')
    doc.draw_line(line, maxdist=1, arrows_style={'at_potentials':[0.],
        'potential':f_arrows, 'condition_func':f_cond, 'scale':1.2})

# draw current symbols
symb_out = doc.draw_object('g', {'id':'out_symbol',
    'transform':'translate({0},0) scale({1},{1})'.format(-R, 1./doc.unit)})
symb_in = doc.draw_object('g', {'id':'in_symbol',
    'transform':'translate({0},0) scale({1},{1})'.format(R, 1./doc.unit)})
for i, g in enumerate([symb_out, symb_in]):
    doc.draw_object('circle', {'cx':'0', 'cy':'0', 'r':rsym, 'stroke':'none',
        'fill':'#999999'}, group=g)
    doc._check_whitespot()
    doc.draw_object('circle', {'cx':'0', 'cy':'0', 'r':rsym,
        'fill':'url(#white_spot)', 'stroke':'#000000', 'stroke-width':'3'}, group=g)
    
    if i == 0: # dot
        c_symb = etree.SubElement(g, 'circle')
        c_symb.set('cx', '0')
        c_symb.set('cy', '0')
        c_symb.set('r', '6')
    else: # cross
        c_symb = etree.SubElement(g, 'path')
        c_symb.set('d', 'M {1},{4} L {0},{5} L {2},{3} L {0},{1} \
L {1},{0} {3},{2} L {5},{0} L {4},{1} L {6},{3} L {4},{5} L {5},{4} \
L {3},{6} L {1},{4} Z'.format(12.24, 8, 4.24, 0, -12.24, -8, -4.24))
        c_symb.set('style', 'fill:#000000; stroke:none')
doc.write()



doc = FieldplotDocument('VFPt_dipoles_magnetic4', commons=True,
    width=360, height=360)
field = Field([ ['coil', {'x':0, 'y':0, 'phi':pi/2, 'R':R, 'Lhalf':h, 'I':1.}] ])

def f_arrows(xy):
    return xy[1] * (sc.hypot(xy[0], xy[1]) / 1.4 - 1)
def f_cond(xy):
    return sc.hypot(xy[0], xy[1]) > R

nlines = 13
for iline in range(nlines):
    p0 = sc.array([R * (-1. + 2. * (iline + 0.5) / nlines), 0.])
    line = FieldLine(field, p0, directions='both', maxr=100)
    doc.draw_line(line, maxdist=1, arrows_style={'at_potentials':[0.],
        'potential':f_arrows, 'condition_func':f_cond, 'scale':1.2})

# draw solenoid
sheet_out = doc.draw_object('g', {
    'transform':'translate({0},0)'.format(-R)})
sheet_in = doc.draw_object('g', {
    'transform':'translate({0},0)'.format(R)})
for i, g in enumerate([sheet_out, sheet_in]):
    doc.draw_object('rect', {'stroke-width':0.03, 'stroke-linejoin':'round',
        'x':-0.045, 'y':-h, 'width':0.09, 'height':2*h,
        'stroke':'#000000', 'fill':'#bbbbbb'}, group=g)
    nsym = 12
    for isym in range(nsym):
        y = (h - 0.015) * (2 * (isym + 0.5) / nsym - 1)
        if i == 0:
            doc.draw_object('circle', {'cx':'0', 'cy':y, 'r':0.02,
            'fill':'#000000', 'stroke':'none'}, group=g)
        else:
            doc.draw_object('path', {'d':'M -2,-2 L 2,2 M -2,2 L 2,-2',
                'fill':'none', 'stroke':'#000000',
                'transform':'translate(0, {0}) scale(0.012)'.format(y),
                'stroke-width':'1', 'stroke-linecap':'butt'}, group=g)
doc.write()

Siū-khoân

我,本作品的著作權持有者,決定用以下授權條款發佈本作品:
w:zh:創用CC
標示名姓 仝款方式方享
你會使自由:
  • 分享 – kho͘-pih, hoat-pò͘ kap thoân-pò͘ pún chok
  • 重新修改 – kái-pian pún chok-phín
Àn i-hā ê tiâu-kiāⁿ
  • 標示名姓 – 您必須指名出正確的製作者,和提供授權條款的連結,以及表示是否有對內容上做出變更。您可以用任何合理的方式來行動,但不得以任何方式表明授權條款是對您許可或是由您所使用。
  • 仝款方式方享 – Lí nā kái-tōng, piàn-khoán, he̍k-chiá kun-kù pún chok chhòng-chō, lí kaⁿ-taⁿ ē-tàng ēng kap pún chok kâng-khoán he̍k-chiá saⁿ-chhiūⁿ ê hí-khó lâi hoat-pò͘ chò--chhut-lâi ê chok-phín.

說明

添加單行說明來描述出檔案所代表的內容
Four models of magnetic dipoles with accurately computed field lines

在此檔案描寫的項目

描繪內容 繁體中文

創作作者 繁體中文

沒有Wikidata項目的某些值

著作權狀態 繁體中文

有著作權 繁體中文

檔案來源 Chinese (Taiwan) (已轉換拼寫)

多媒體型式 繁體中文

image/svg+xml

Tóng-àn le̍k-sú

Chhi̍h ji̍t-kî/sî-kan, khoàⁿ hit sî-chūn--ê tóng-àn.

Ji̍t-kî/Sî-kan細張圖寸尺Iōng-chiáChù-kái
hiān-chāi2020-nî 1-goe̍h 11-ji̍t (pài-la̍k) 16:252020-nî 1-goe̍h 11-ji̍t (pài-la̍k) 16:25版本的細圖840 × 840(103 KB)Geek3User created page with UploadWizard

Í-hā ê ia̍h liân kàu chit ê iáⁿ-siōng:

tóng-àn hō͘ lâng sái--ê chōng-hóng

Ē-kha--ê kî-thaⁿ wiki ēng tio̍h chit--ê tóng-àn:

元資料