Fil:Bi-elliptic transfer.svg

Sideinnholdet støttes ikke på andre språk.
Fra Wikipedia, den frie encyklopedi

Opprinnelig fil(SVG-fil, standardstørrelse 768 × 580 piksler, filstørrelse: 4 KB)


Wikimedia Commons' logo

Beskrivelse

Beskrivelse A bi-elliptic transfer from a low circular starting orbit (dark blue), to a higher circular orbit (red). The spaceship is traveling in a counterclockwise direction during all segments of the orbital transfer as is indicated by the large blue and red arrows. When the spacecraft arrives at point 1 it performs a prograde burn to enter the first portion of the transfer orbit (blue-green segment). It then coasts until apoapsis of this transfer orbit located at point 2 where another prograde burn is performed to raise the point of periapsis until it coincides with the orbital radius of the desired orbit. The spacecraft then turns off its engine again and coasts along the yellow segment until it arrives at point 3. The maneuver is completed by performing a retrograde burn at point 3 to slow the spacecraft down and lower apoapsis until the orbit is circular again.
Dato
Kilde Eget verk
Opphavsperson AndrewBuck
Andre versjoner bi-elliptic_transfer_r-ratio14.svg
SVG utvikling
InfoField
 
SVG-koden er gyldig.
 
Denne vektorgrafikken ble laget med Python.
Kildekode
InfoField

Python code

Python svgwrite code
#!/usr/bin/python3
# -*- coding: utf8 -*-

try:
    import svgwrite
except ImportError:
    print('requires svgwrite library: https://pypi.org/project/svgwrite/')
    # documentation at https://svgwrite.readthedocs.io/
    exit(1)

from math import *

# document
size = 768, 580
name = 'bi-elliptic_transfer'
doc = svgwrite.Drawing(name + '.svg', profile='full', size=size)
doc.set_desc(name, name + '''.svg
https://commons.wikimedia.org/wiki/File:''' + name + '.svg')

# background
doc.add(doc.rect(id='background', insert=(0, 0), size=size, fill='white', stroke='none'))

r1 = 109.6
r2 = 146.4
rb = 537.3

g = doc.add(doc.g(transform='translate(559.22, 290)', fill='none'))

sun = g.add(doc.g(id='sun'))
nbeam = 12
rsun, rsun2 = 8.2, 7.2
rbeam = 13.8
p = []
for i in range(nbeam):
    phi0, phi1 = 2*pi*i/nbeam, 2*pi*(i+0.5)/nbeam
    p += [[rbeam*cos(phi0), rbeam*sin(phi0)], [rsun2*cos(phi1), rsun2*sin(phi1)]]
sun.add(doc.polygon(points=p, stroke='#f89c16', stroke_width=1, fill='#dbf816'))
grad = doc.defs.add(doc.radialGradient(id='grad', center=(0.5, 0.5), r=0.5,
                                       gradientUnits="objectBoundingBox"))
grad.add_stop_color(offset=0, color='#dbf816')
grad.add_stop_color(offset=1, color='#f89c16')
sun.add(doc.circle(center=(0, 0), r=rsun, stroke='#f89c16', stroke_width=1,
    fill='url(#grad)'))

arrow_d = 'M 0.3,0 L -0.8,0.5 Q -0.5,0 -0.8,-0.5 Z'
doc.defs.add(doc.marker(id='arrow1', refX=0, refY=0, viewBox='-1 -1 2 2',
    orient='auto', markerWidth=18, markerHeight=18)).add(doc.path(
        d=arrow_d, stroke='none', fill='#0000c4'))
doc.defs.add(doc.marker(id='arrow2', refX=0, refY=0, viewBox='-1 -1 2 2',
    orient='auto', markerWidth=18, markerHeight=18)).add(doc.path(
        d=arrow_d, stroke='none', fill='#bc0d0d'))
doc.defs.add(doc.marker(id='arrow3', refX=0, refY=0, viewBox='-1 -1 2 2',
    orient='auto', markerWidth=8, markerHeight=8)).add(doc.path(
        d=arrow_d, stroke='none', fill='#197810'))
doc.defs.add(doc.marker(id='arrow4', refX=0, refY=0, viewBox='-1 -1 2 2',
    orient='auto', markerWidth=8, markerHeight=8)).add(doc.path(
        d=arrow_d, stroke='none', fill='#a42d0c'))

g.add(doc.path(d='M {0},0 A {1},{1} 0 0 0 {1},0 A {1},{1} 0 0 0 {0},0'.format(-r1, r1),
      stroke='#0000c4', stroke_width=2.5, marker_end='url(#arrow1)'))
g.add(doc.path(d='M {0},0 A {1},{1} 0 0 0 {1},0 A {1},{1} 0 0 0 {0},0'.format(-r2, r2),
      stroke='#bc0d0d', stroke_width=2.5, marker_end='url(#arrow2)'))

a1 = (r1 + rb) / 2
b1 = sqrt(a1**2 - (a1 - r1)**2)
a2 = (r2 + rb) / 2
b2 = sqrt(a2**2 - (a2 - r2)**2)

g.add(doc.path(d='M {},0 A {},{} 0 0 0 {},0'.format(-rb, a1, b1, r1),
      stroke='#00b996', stroke_width=2, stroke_dasharray='2,4'))
g.add(doc.path(d='M {},0 A {},{} 0 0 0 {},0'.format(r2, a2, b2, -rb),
      stroke='#ff991b', stroke_width=2, stroke_dasharray='2,4'))
g.add(doc.path(d='M {},0 A {},{} 0 0 0 {},0'.format(r1, a1, b1, -rb),
      stroke='#00b996', stroke_width=5))
g.add(doc.path(d='M {},0 A {},{} 0 0 0 {},0'.format(-rb, a2, b2, r2),
      stroke='#ff991b', stroke_width=5))

dv1 = sqrt(2/r1 - 1/a1) - sqrt(1/r1)
dv2 = sqrt(2/rb - 1/a2) - sqrt(2/rb - 1/a1)
dv3 = sqrt(2/r2 - 1/a2) - sqrt(1/r2)
l1 = 160

g.add(doc.line(start=(r1, 0), end=(r1, -l1),
      stroke='#197810', stroke_width=3, marker_end='url(#arrow3)'))
g.add(doc.line(start=(-rb, 0), end=(-rb, l1*dv2/dv1),
      stroke='#197810', stroke_width=3, marker_end='url(#arrow3)'))
g.add(doc.line(start=(r2, 0), end=(r2, l1*dv3/dv1),
      stroke='#a42d0c', stroke_width=3, marker_end='url(#arrow4)'))

# text
g.add(doc.text('1', font_size='48px', stroke='none', fill='black',
      text_anchor='middle', transform='translate(84, 18)',
      font_family='Bitstream Vera Sans'))
g.add(doc.text('2', font_size='48px', stroke='none', fill='black',
      text_anchor='middle', transform='translate(-508, 18)',
      font_family='Bitstream Vera Sans'))
g.add(doc.text('3', font_size='48px', stroke='none', fill='black',
      text_anchor='middle', transform='translate(181, 18)',
      font_family='Bitstream Vera Sans'))

doc.save(pretty=True)

Lisensiering

Jeg, rettighetsinnehaver av dette arbeidet, publiserer det herved under følgende lisenser:
GNU head Det tillates at dette dokumentet kopieres, distribueres og/eller modifiseres under retningslinjene som beskrevet i GNU fri dokumentasjonslisens, versjon 1.2 eller senere utgave utgitt av Free Software Foundation; med alle seksjoner, uten noen forsidetekster og baksidetekster. En kopi av lisensen er inkludert i avsnittet GNU Free Documentation License.
w:no:Creative Commons
navngivelse del på samme vilkår
This file is licensed under the Creative Commons Attribution-Share Alike Attribution-Share Alike 4.0 International, 3.0 Unported, 2.5 Generic, 2.0 Generic and 1.0 Generic license.
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.
Du kan velge lisens etter eget valg.

Bildetekster

Legg til en kort forklaring på hva filen representerer

Elementer som er med i denne fila

motiv

image/svg+xml

72dce82939298aef41f506b8252b348e65c89d82

4 223 byte

580 piksel

768 piksel

Filhistorikk

Klikk på et tidspunkt for å vise filen slik den var på det tidspunktet.

Dato/klokkeslettMiniatyrbildeDimensjonerBrukerKommentar
nåværende29. mai 2020 kl. 17:46Miniatyrbilde av versjonen fra 29. mai 2020 kl. 17:46768 × 580 (4 KB)Geek3computed the actual aspect ratios of the ellipses and delta-v.
7. apr. 2008 kl. 18:32Miniatyrbilde av versjonen fra 7. apr. 2008 kl. 18:32768 × 472 (21 KB)AndrewBuckA bi-elliptic transfer from a low circular starting orbit (dark blue), to a higher circular orbit (red). The green arrows indicate forward directed thrust (prograde) and the red arrow indicates reverse directed thrust (retrograde).
3. apr. 2008 kl. 08:13Miniatyrbilde av versjonen fra 3. apr. 2008 kl. 08:13768 × 472 (13 KB)AndrewBuck{{Information |Description=A bi-elliptic transfer from a low circular starting orbit (dark blue), to a higher circular orbit (red). |Source=self-made |Date=2008-04-02 |Author= AndrewBuck |Permission= |other_versions= }}

Den følgende siden bruker denne filen:

Global filbruk

Metadata