Apasa aici sa vezi imagini cu soarele transmise in direct din spatiu de sonda "Solar Heliospheric Observatory" pe situl NASA.
Aceasta sonda se afla in orbita in jurul soarelui la punctul Lagrange L1 intre pamant si soare pe axa soare-pamant, astfel ea poate observa soarele in continuu fara intrerupere.
Stele cu planete extrasolare descoperite
Aceasta harta stelara cu cerul intreg in toate directiile de la polul nord la polul sud arata cele 171 stele cu planete extrasolare descoperite pana in luna undrea, anul romanesc 7514 (decembrie 2006).
Dintre acestea, 10 stele au magnitudine vizuala (luminozitate) mai mica decat 5, asadar sunt usor vizibile cu ochiul liber pe cer si sunt insemnate in imagine cu numarul lor din catalogul Hipparcos.
Vezi paralaxa stelara,
harta stelara,
cele mai luminoase 1000 stele din lista Hipparcos si
harta constelatiilor.
Planete extrasolare
O planeta extrasolara este o planeta care orbiteaza alta stea in loc de steaua noastra - soarele.
Primele planete extrasolare au fost descoperite in anul romanesc 7499 (1991) in jurul pulsarului PSR B1257+12 de Alexander Wolszczan folosind radio telescopul de la Arecibo.
Un pulsar, vezi nucleosinteza stelara, este o stea de neutroni cu diametru de vreo 20 km si masa intre 1,4 si 3 ori masa soarelui care se roteste rapid si astfel emite pulsuri regulate in undele radio.
Aceasta descoperire este interesanta nu numai fiindca a inceput cautarea planetelor extrasolare, in momentul de fata fiind cunoscute peste 200 planete extrasolare, dar si fiindca aceste planete s-au gasit in jurul unei stele de neutroni.
Nu se stie cum au ajuns aceste planete in jurul unei stele de neutroni fiindca o astfel de stea rezulta din explozia catastrofala (supernova) unei stele de 8 ori mai masiva decat soarele sau mai mare, iar in o astfel de explozie e foarte probabil ca toate planetele din jurul stelei sa fie spulberate si suflate dinspre stea in cosmos.
Desi planetele din jurul acestui pulsar sunt comparabile in marime cu planeta noastra, e improbabil sa existe viata pe ele din cauza radiatiei intense la care le supune steaua de neutroni, aceeasi radiatie care a facut posibila descoperirea lor.
In mod normal, planete de marime comparabila cu marimea planetei noastre, desi sunt cele mai cautate fiindca au cele mai bune sanse sa adoposteasca viata, sunt aproape imposibil de gasit folosind tehnologia disponibila in momentul de fata, fiindca ele sunt de multe mii de ori mai putin luminoase decat stelele pe care le orbiteaza.
E ca si cum te-ai uita noaptea de la mai multi kilometri distanta direct la un reflector puternic (o stea) si ai incerca sa gasesti un chibrit aprins la cativa centimetri de reflector (o planeta).
In momentul de fata se dezvolta tehnologia necesara pentru sondele care vor fi lansate in urmatorii 10 ani pentru a cauta planete terestre extrasolare.
Odata ce vor fi gasite, atmosfera planetelor terestre extrasolare poate fi analizata spectroscopic prin a observa lumina stelei care trece prin atmosfera planetei cand planeta tranziteaza steaua, adica trece prin fata stelei.
Observand undele de lumina care sunt absorbite de atmosfera planetei si care sunt lasate sa treaca se poate determina compozitia atmosferica a planetei.
Se stie spre exemplu ca elementul oxigen nu exista in forma pura in natura fiindca atunci cand exista in forma pura se combina imediat cu elemetul carbon sau alte elemente formand molecule.
Dar daca exista viata in forma de plante, acestea elibereaza oxigen in atmosfera in continuu si astfel prezenta oxigenului in atmosfera indica prezenta plantelor si deci, viata!
Aerul pe care il respiram contine oxigen datorita plantelor, padurilor si algelor din ocean care elibereaza oxigen in atmosfera prin fotosinteza - fara ele oxigenul din atmosfera planetei noastre ar dispare in intregime.
E interesant ca peste vreo 10-20 ani sa stim mai multe stele pe cer care au planete similare cu planeta noastra, sa vedem continentele, padurile, muntii si marile de pe aceste planete, sa stim care adapostesc viata si poate chiar civilizatii, care pot fi descoperite observand daca sunt lumini pe partea intunecata a planetei, si desi nu le vom putea vizita imediat, le vom vedea.
O planeta care adaposteste viata trebuie sa fie situata in biosfera stelei, adica la o distanta de stea la care sa nu fie prea cald sau prea frig, astfel incat apa sa poata exista in forma lichida pe planeta.
Viata are nevoie de apa lichida, iar daca planeta e prea aproape de stea, toata apa se evapora, iar daca e prea departe toata apa ingheata.
In aceasta diagrama, steaua este in centru insemnata cu galben, zona fierbinte este insemnata cu rosu in jurul stelei, biosfera urmeaza insemnata cu verde, iar zona in afara biosferei e albastra.
Aceste zone exista in jurul la toate stelele dar marimea, sau distanta de stea si volumul biosferei depinde de energia emisa de stea.
Astfel, biosfera unei stele pitice rosii este foarte aproape de stea in timp ce biosfera soarelui incepe cam pe la orbita lui Venus si se extinde pana la orbita lui Marte, iar biosfera unei stele fierbinti luminoase, spre exemplu Vega, incepe mult mai departe de stea.
Iar in jurul stelelor, spre exemplu pulsari, care emit radiatii tari - raze si particule energetice in undele razelor x si gamma, biosfera poate fi nelocuibila decat sub suprafata planetelor situate in biosfera, poate in pesteri adanci si pe fundul oceanelor.
Desigur, pot fi exceptii, de exemplu o planeta aproape de stea, in zona rosie, care se roteste in jurul axei odata pentru fiecare orbita in jurul stelei si astfel doar jumate din planeta este cu fata spre stea, iar cealalta jumatate este tot timpul in intuneric, cu fata spre cosmos.
Atunci e fierbinte pe partea spre stea si frig pe partea spre cosmos, iar de-alungul terminatorului - granita intre zi si noapte - temperatura este potrivita.
Iar o luna in jurul unei planete gigante la distanta mare de stea, in zona albastra, desi inghetata, poate avea un ocean de apa lichida sub suprafata asa cum s-ar putea sa existe pe luna Europa a lui Jupiter si luna Enceladus a lui Saturn, de la forta gravitationala de contractare si expansiune prin maree la care e supusa luna in timp ce orbiteaza planeta giganta gazoasa.
Astfel, in timp ce e stransa de gravitatie, gheata se topeste si poate exista apa lichida in afara biosferei.
Dar aceste cazuri de exceptie totusi nu sunt comparabile cu conditiile de viata de pe o planeta situata in biosfera stelei asa cum e planeta noastra.
Majoritatea planetelor extrasolare descoperite pana acum sunt de marimea lui Jupiter sau mai mari, si se afla foarte aproape de stelele pe care le orbiteaza.
O planeta mare care e aproape de stea e usor de gasit fiindca trecand prin fata stelei face ca lumina stelei sa scada periodic, si poate chiar sa traga gravitational de stea unpic in dreapta, fata, stanga, spate, in timp ce merge in jurul stelei, iar aceste diferente de viteza radiala a stelei pot fi masurate iar combinate cu scaderea periodica a luminii de la stea se poate verifica prezenta planetei.
Dar e improbabil ca viata sa existe pe planete mari care sunt aproape de stea, si deci foarte fierbinti.
Planetele extrasolare in contextul cosmologiei universului
Teoria curenta spune ca pana la 380000 ani dupa explozia initiala, universul era o globula de energie lichida super fierbinte care se marea si nu era transparenta undelor electromagnetice.
Universul a devenit transparent la 380000 ani dupa explozia initiala, vezi nucleosinteza stelara.
Este interesant ca se pare ca nu prea sunt stele fara planete, asa cum probabil nici nu prea sunt planete gigante gazoase fara luni.
Acest lucru pare sa contrazica teoria ca la 380000 ani dupa explozia initiala cand universul a devenit transparent erau doar atomi de hidrogen care s-au adunat in stele prin colaps gravitational, care apoi au format celelalte elemente pana la fier prin fuziune nucleara si elementele dincolo de fier prin explozii stelare.
Ipoteza mea este ca la 380000 ani dupa explozia initiala, universul a devenit transparent fiindca globula de energie lichida s-a marit destul de mult incat s-a separat in o multime de globule mai mici - galaxiile de astazi, care astfel au aparut intregi si nu s-au format, si asta ar putea fi numita inflorirea universului, iar acestea la randul lor s-au separat in o multime de globule - stelele si planetele.
Astfel se explica galaxiile pozate de Hubble care existau deja intregi la scurt timp dupa ce universul a devenit transparent si care nu au avut timp sa se formeze prin colaps gravitational - modul in care se formeaza stelele.
Astfel se explica si prezenta planetelor in jurul stelelor pitice rosii care au viata de peste 100 miliarde ani, comparata cu varsta universului de 13,7 miliarde ani, ceea ce inseamna ca nici o stea pitica rosie nu s-a stins inca si daca teoria ar fi corecta, stelele pitice rosii nu ar putea avea planete decat daca s-au format din materia expulzata din explozii stelare (supernove), si deci sunt stele din generatia a doua sau urmatoare,
fiindca stelele din prima generatie de stele au doar hidrogen conform teoriei si nu au metale si celelalte elemente continute in planete.
Oricum, stelele pitice rosii sunt cele mai numeroase, reprezentand peste 80% din toate stelele, asa ca ambele categorii de pitice rosii - cele care e posibil sa fi aparut intregi la inflorirea universului si cele formate prin colaps gravitational de atunci pana in prezent pot fi numeroase, asadar acest argument nu contrazice teoria existenta.
E posibil ca stelele care au aparut intregi de la inceput aveau deja toate elementele din energia lichida care s-a solidificat in atomi de hidrogen - cel mai abundent in univers - dar si in cantitati mai mici din toate celelalte elemente.
Acest desen arata un peisaj imaginar de pe suprafata unei planete terestre in jurul unei stele pitice rosii.
Un aspect interesant al vietii pe o planeta in jurul unei stele pitice rosii este ca biosfera e mai aproape de stea fiindca lumina stelei e mai slaba, si steaua e mai rece, comparativ cu alte stele, asa ca steaua ar ocupa o parte mare din cer.
Fiindca planeta ar orbita mai aproape de stea, anul ar avea mai putine zile.
Intensitatea luminii si caldura de la steaua pitica rosie pe suprafata planetei ar fi la fel de puternice ca lumina soarelui, fiindca planeta ar fi mai aproape de steaua pitica rosie, numai ca lumina ar fi rosie.
Lumina rosie e imprastiata de vreo 10 ori mai putin decat lumina albastra si din acest motiv cerul e albastru pe planeta noastra, fiindca lumina soarelui contine toate culorile curcubeului ale luminii vizibile de la
lumina rosie la lungime de unda de vreo 720 nm la lumina
portocalie,
galbena,
verde,
albastra si pana la
indigo/violeta la lungime de unda de vreo 380 nm, iar lumina albastra si violeta e imprastiata cel mai tare fiindca are lungime de unda scurta si se loveste de moleculele din atmosfera mai des.
Astfel, cerul unei planete in jurul unei stele pitice rosii ar fi aproape transparent si s-ar vedea stelele si ziua aproape la fel de bine ca noaptea fiindca lumina rosie de la steaua pitica rosie nu ar fi imprastiata de atmosfera aproape deloc.
Lumina rosie ar transforma tot peisajul in nuante de rosu, iar plantele, lacurile si marile ar parea aproape negre.
Planetele extrasolare descoperite sunt listate la NASA/JPL -
planetquest
si la observatorul din Paris -
exoplanetes.
Pe lista planetquest a stelelor cu planete extrasolare descoperite doar o stea din 171 are listat numarul stelei din catalogul Hipparcos.
Astfel pentru 1 stea nr Hipparcos este de la planetquest,
pt inca 127 stele am obtinut nr Hipparcos din catalogul Tycho, inclus in catalogul
i/239 Hipparcos,
pt alte 15 stele am obtinut nr Hipparcos din catalogul
iv/27,
care coreleaza numele stelelor din catalogul Hipparcos cu numele lor in sistemele Bayer si Flamsteed
pt steaua variabila AB Pic am gasit nr Hipparcos in catalogul general al stelelor variabile
gcvs/iv,
de la institutul astronomic de la universitatea din Moscova, Rusia - Uniunea Sovietica,
pt steaua apropiata gliese 777 am gasit nr Hipparcos in catalogul Gliese al stelelor apropiate
v/70a,
pt inca 8 stele am gasit nr Hipparcos in baza de date
simbad
care contine multe cataloguri, la centrul de date astronomice din Strasbourg, Franta.
Asadar, pentru cele 153 stele cu planete extrasolare care sunt si in catalogul Hipparcos sunt listate aici datele astrometrice (adica coordonatele ceresti-ascensiune dreapta si declinatie, magnitudinea vizuala-luminozitatea stelei, clasa spectrala-culoarea stelei, paralaxa stelara-unghiul deplasarii aparente si distanta in ani lumina obtinuta de la paralaxa) din catalogul Hipparcos.
Stelele pentru care nu se cunoaste clasa spectrala au clasa spectrala verde in tabela fiindca nu sunt stele verzi.
Cele 10 stele care au magnitudine vizuala mai mica decat 5 si astfel sunt vizibile cu ochiul liber sunt insemnate in tabela cu numarul Hipparcos pe fond mov.
Pentru cele 18 stele care nu au fost gasite in catalogul Hipparcos, fiecare stea are un link catre o sursa de date astrometrice pentru acea stea.
Sunt peste 6000 de cataloguri cu stele, nebuloase si galaxii, catalogurile listate aici fiind cele mai importante cu acoperire pe cerul intreg.
Catalogurile listate aici pot fi copiate gratuit in intregime de la simbad.
Lista stelelor de la planetquest cu planete extrasolare descoperite identifica stelele folosind codurile lor de identificare din mai multe cataloguri, listand numarul Hipparcos doar pentru o singura stea.
Daca o stea este listata si in catalogul Hipparcos atunci e mai bine sa folosesti datele astrometrice din acest catalog fiindca satelitul Hipparcos a masurat cu mare precizie datele astrometrice pentru stelele listate in catalogul Hipparcos.
Pentru cele 9 stele cu planete extrasolare descoperite de OGLE de la universitatea din Varsovia, Polonia, sunt listate datele astrometrice (coordonatele ceresti, iar dintre acestea, in cazul celor 5 stele OGLE-TR si magnitudinea vizuala) de la OGLE.
Experimentul de lentila gravitationala optica
OGLE
dispune de telescopul Varsovia cu oglinda de 1,3m diametru situat la observatorul Las Campanas in Chile.
Acest experiment observa stele in directia centrului galaxiei noastre, situat in directia constelatieiSagittarius, aproape de steaua gamma Sgr.
Distanta in ani lumina pana la toate cele 9 stele OGLE si magnitudinea stelei OGLE-5-169 sunt de la planetquest - aceste distante sunt aproximative fiindca distanta masurata prin metoda paralaxei trigonometrice da rezultate precise doar pana la o distanta de cateva sute ani lumina.
Clasa spectrala pentru steaua OGLE-TR-10 e de la simbad.
Datele astrometrice pentru steaua GSC 02652 01324 sunt din catalogul de stele-ghid GSC-2, utilizat de telescopul spatial Hubble.
Acest catalog are coordonatele ceresti si luminozitatea pentru 945,592,683 stele si alte obiecte dar spre deosebire de catalogul Hipparcos, lipseste paralaxa stelara, fiindca obtinerea acesteia necesita un efort substantial in plus si e progresiv mai greu de obtinuta pentru obiecte mai departate, astfel obiectele pot fi localizate pe cer dar nu se stie distanta pana la ele in catalogul GSC-2.
Sonda ESA Gaia va incerca sa obtina paralaxa stelara cu mare precizie pentru 109 (1 miliard) stele din cele vreo 200 miliarde stele din galaxia noastra intre 2010 si 2015 (anul romanesc 7518 si 7523) asa cum satelitul Hipparcos a obtinut paralaxa stelara cu precizie pentru 118218 stele.
Catalogul GSC-2 nu e disponibil pentru a fi descarcat fiindca are 200GB, adica incape pe 50 de DVD-uri sau 300 CD-uri dar poate fi accesat pe retea aici:
gsc-2
In formular se introduc coordonatele ceresti (ascensiune dreapta=right ascension, declinatia=declination) si in casuta field size-marimea campului vizual, se introduce raza-radius sau latura unui patrat-box din cer, in minute de arc, 60 arcmin=1 grad, in jurul coordonatei dorite pana la care sa se listeze toate stelele din catalog, si poti selecta formatul plain text sa incarce mai repede.
Sa nu introduci mai mult de cateva arcmin la raza sau patrat din cauza numarului mare de stele, spre exemplu, in raza de 10 arcmin=1/6 grad in jurul coordonatei ceresti 0 0 0, 0 0 0 sunt 543 stele in catalog, apoi se apasa butonul submit.
Daca stii deja codul stelei dorite poti sa introduci codul HST (Hubble) sau GSC in loc de coordonatele ceresti apoi se apasa butonul submit.
In cazul stelei GSC 02652 01324, in formular se introduce doar 0265201324 in casuta GSC1 ID si se apasa butonul submit si apare codul HST N2JK000575 ascensiunea dreapta(ra) 286.041017112 declinatia(dec) 36.6326493093 si magnitudinea vizuala 11.527 a acestei stele.
Clasa spectrala pentru aceasta stea e de la simbad si distanta de la wikipedia.
'acest program demonstreaza convertarea coordonatelor ceresti
'ra=ascensiune dreapta si dec=declinatie din numere reale in
'ascensiune dreapta = ore min sec
'declinatie = grade arcmin arcsec
'in cazul stelei identificata prin codul GSC 02652 01324
'avem coordonatele ceresti urmatoare exprimate in numere reale:
ra = 286.041017112#
dec = 36.6326493093#
'acestea exprimate in (ore min sec, grade arcmin arcsec) sunt:
'ascensiunea dreapta (ore min sec)
'in un cerc sunt 360 grade = 24 ore, deci 360 / 24 = 15 grade / ora
'1 ora = 60 min, 1 min = 60 sec
ore = ra / 15
min = (ore - INT(ore)) * 60
sec = (min - INT(min)) * 60
ore = INT(ore)
min = INT(min)
'declinatia (grade arcmin arcsec)
'in un cerc sunt 360 grade, 1 grad = 60 arcmin, 1 arcmin = 60 arcsec
'functia INT reda partea integrala a numarului,
'rotunjind in jos, astfel 29 = INT(29.9) si -30 = INT(-29.9)
'asadar aceasta conditie IF (daca) foloseste minus - pentru
'a face numerele negative pozitive inainte de a folosi
'functia INT pentru a obtine partea integrala a numarului
'fara rotunjire (adica rotunjire spre zero, nu in jos)
'astfel 29 = INT(29.9) si -29 = INT(-29.9)
'apoi dupa obtinerea rezultatului de la functia INT,
'numerele negative sunt iar facute negative folosind minus -
grade = dec
IF grade < 0 THEN
grade = INT(-grade)
arcmin = (-dec - grade) * 60
grade = -grade
ELSE
grade = INT(grade)
arcmin = (dec - grade) * 60
END IF
arcsec = (arcmin - INT(arcmin)) * 60
arcmin = INT(arcmin)
PRINT ore; min; sec; grade; arcmin; arcsec
Rezultatul afisat de acest program pentru coordonatele stelei GSC 02652 01324 este
19 4 9.842834 36 37 57.53448
Datele astrometrice pentru celelalte 8 stele cu planete extrasolare sunt de la planetquest.
Dintre acestea, pulsarul nu are magnitudine sau clasa spectrala, fiind vizibil in unde radio, dar pentru celelalte 7 stele magnitudinea vizuala e de la simbad si clasa spectrala pentru 6 din ele e tot de la simbad.
Programul in BASIC pentru desenarea hartii stelare aratand stelele cu planete descoperite
Aceasta harta stelara a fost desenata folosind urmatorul program in BASIC - daca vrei sa rulezi acest program, copiaza codul in o fisiera text numita planxsol.bas
apoi apasa aici clic de dreapta si selecteaza Save As... sa copiezi tabela cu stele pe care o citeste programul in o fisiera numita planxsol.dat in aceeasi directoare unde ai copiat programul,
apoi in o fereastra command prompt tasteaza qbasic planxsol sa incarci programul, apoi apasa F5 sa-l rulezi.
Sa iesi din QBASIC apasa ALT f apoi ALT x sau selectezi din meniu File, apoi Exit.
Daca ai vreo intrebare despre program poti sa-mi scrii
' acest program deseneaza o harta stelara cu cerul intreg aratand
' cele 171 stele cu planete extrasolare descoperite si insemnand
' dintre acestea cele 10 stele vizibile cu ochiul liber care au
' magnitudine 5 sau mai mica cu numerele lor din lista Hipparcos
' ecranul 12 are rezolutie 640x480 pixeli si 16 culori
' ecranul 13 are rezolutie 320x200 pixeli si 256 culori
' daca schimbi la ecranul 12, schimba si mag = 2 pentru a mari harta
SCREEN 13
' daca vrei sa vezi instructiunile pentru oricare functie
' pune liniuta pe numele oricarei functii si apasa F1 in QBASIC apoi
' apasa ESC sa iesi de la instructiuni si sa revii la program
' constante
CONST pi = 3.14159
CONST mag = 1
CONST xpos = mag * 160 'originea x
CONST ypos = mag * 100 'originea y
CONST radius = mag * 74 'raza in pixeli
CONST c = 3 'culoarea
CONST rez = mag * 200 'rezolutia - un numar mai mic face cercul intrerupt
CONST hzmax = 180
' fond alb
PAINT (0, 0), 15
'elipsa neagra umpluta
hz = hzmax
FOR zcos = 0 TO (2 * pi * rez)
x = COS(zcos / rez) * radius * 2
y = SIN(zcos / rez) * radius
PSET (xpos - x * (hz / hzmax), ypos - y), 0
NEXT
PAINT (xpos, ypos), 0
' deseneaza meridianele de longitudine si latitudine pentru harta stelara
' care arata tot cerul in forma de cerc cu diametrul orizontal dublat.
' O astfel de harta arata suprafata corect peste tot de la ecuator la poli.
'GOTO 10 ' daca vrei sa nu vezi meridianele, sterge ' inainte de GOTO
FOR hz = 0 TO hzmax
FOR zcos = 0 TO (2 * pi * rez)
x = COS(zcos / rez) * radius * 2
y = SIN(zcos / rez) * radius
' deseneaza un meridian de longitudine la fiecare 30 grade, adica
' la fiecare 2 ore de ascensiune dreapta in coordonate ceresti
IF hz MOD 30 = 0 THEN cc = c ELSE cc = 0
' meridianele de latitudine (declinatie) la fiecare 30 grade
'stanga sus
IF INT(pi / 6 * 1 * rez) = zcos THEN cc = c
IF INT(pi / 6 * 2 * rez) = zcos THEN cc = c
'dreapta sus
IF INT(pi / 6 * 4 * rez) = zcos THEN cc = c
IF INT(pi / 6 * 5 * rez) = zcos THEN cc = c
'ecuator
IF 0 = zcos OR INT(pi * rez) = zcos THEN cc = c
'dreapta jos
IF INT(2 * pi / 12 * 7 * rez) = zcos THEN cc = c
IF INT(2 * pi / 12 * 8 * rez) = zcos THEN cc = c
'stanga jos
IF INT(2 * pi / 12 * 10 * rez) = zcos THEN cc = c
IF INT(2 * pi / 12 * 11 * rez) = zcos THEN cc = c
' deseneaza
IF cc <> 0 THEN PSET (xpos - x * (hz / hzmax), ypos - y), cc
NEXT
NEXT
10
'culorile stelelor
A = 9
B = 9
O = 9
F = 14
G = 14
K = 12
M = 12
' deschide fisiera cu 171 stele in jurul carora s-au descoperit planete
OPEN "planxsol.dat" FOR BINARY AS #1
' citeste stelele din fisiera si deseneaza-le pe ecran
FOR n = 1 TO 171
' fiecare linie din fisiera contine o stea si are exact 74 bytes
' adica 73 litere + 1 litera e codul 10 (linefeed) capatul liniei
' aici, citeste o stea, deci 74 bytes
x$ = INPUT$(74, #1)
' vezi prima litera a clasei spectrale (litera 39 din 74) pentru
' a obtine culoarea stelei
t$ = MID$(x$, 39, 1)
' seteaza culoarea stelei in functie de clasa spectrala
IF "A" = t$ OR "B" = t$ OR "O" = t$ OR "W" = t$ THEN
'stele fierbinti alb-albastre
cc = A
ELSEIF "F" = t$ OR "G" = t$ THEN
'stele calde galbene
cc = G
ELSEIF "K" = t$ OR "C" = t$ OR "S" = t$ THEN
'stele caldute portocalii
cc = M
ELSEIF "M" = t$ THEN
'stele reci rosii
cc = M
ELSEIF "T" = t$ OR "L" = t$ THEN
'stele si mai reci infrarosii
cc = M
ELSEIF "D" = t$ THEN
'pitica alba
cc = A
ELSE 'spectra necunoscuta e verde fiindca nu sunt stele verzi
cc = 10
END IF
' longitudinea cereasca (ascensiunea dreapta) stelei
' converteaza ascensiunea dreapta din text in numere
ora = VAL(MID$(x$, 1, 2))
min = VAL(MID$(x$, 4, 2))
sec = VAL(MID$(x$, 7, 5))
' latitudinea cereasca (declinatia) stelei
' converteaza declinatia din text in numere
deg = VAL(MID$(x$, 12, 3))
arcmin = VAL(MID$(x$, 16, 2))
arcsec = VAL(MID$(x$, 19, 4))
' numarul stelei in catalogul Hipparcos
hipstr$ = MID$(x$, 59, 6)
IF hipstr$ = " " THEN hipstr$ = "???"
' nu scrie numarul stelei daca are magnitudine > 5
magstr$ = MID$(x$, 25, 5)
IF VAL(magstr$) > 5 OR magstr$ = " " THEN hipstr$ = ""
' deseneaza steaua la coordonatele ei in culoarea ei si scrie
' alaturi numarul stelei daca e vizibila (magnitudine<=5)
stea ora, min, sec, deg, arcmin, arcsec, cc, hipstr$
NEXT
CLOSE 'inchide toate fisierele deschise, fisiera #1 in acest caz
'programul se termina aici
' aceasta subrutina de program deseneaza text pe ecran
' text se poate scrie pe ecran si folosind functia PRINT
' dar fiindca literele desenate de PRINT sunt foarte mari
' am scris aceasta subrutina care deseneaza litere mai mici
' asemanatoare cu literele din jocul starflight
SUB scrie (culoare$, i$)
DRAW "c" + culoare$
FOR n = 1 TO LEN(i$)
litera$ = LCASE$(MID$(i$, n, 1))
SELECT CASE litera$
CASE "a"
DRAW "br1 u4r2d2l2r2d2 br1"
CASE "b"
DRAW "br1 r1e1u2h1l1d2r2l2d2 br3"
CASE "c"
DRAW "br3 l2u4r2 bd4br1"
CASE "d"
DRAW "br1 r1e1u2h1l1d4 br3"
CASE "e"
DRAW "br3 l2u2r2l2u2r2 bd4br1"
CASE "f"
DRAW "br1 u2r2l2u2r2 bd4br1"
CASE "g"
DRAW "br3bu4 l2d4r2u2 bd2br1"
CASE "h"
DRAW "br1 u4d2r2u2d4 br1"
CASE "i"
DRAW "br1bu4 r2l1d4l1r2 br1"
CASE "j"
DRAW "br1 r2u4d4 br1"
CASE "k"
DRAW "br1 u4d2r1e1u1d1g1f1d1 br1"
CASE "l"
DRAW "br1 u4d4r2 br1"
CASE "m"
DRAW "br1 u4f1d1u1e1d4 br1"
CASE "n"
DRAW "br1 u4r2d4 br1"
CASE "o"
DRAW "br1 r2u4l1g1d3 br3"
CASE "p"
DRAW "br1 u4r1f1d1l2d2 br3"
CASE "q"
DRAW "br3 h1l1u3r2d2 bd2br1"
CASE "r"
DRAW "br1 u4r1f1d1l2f2 br1"
CASE "s"
DRAW "br3bu4 l1g1f2g1l1 br3"
CASE "t"
DRAW "br2 u4l1r2 bd4br1"
CASE "u"
DRAW "br1 u4d4r2u4d4 br1"
CASE "v"
DRAW "br1bu4d3f1e1u3d3 bf1"
CASE "w"
DRAW "br1 u4d4e1u1d1f1u4d4 br1"
CASE "x"
DRAW "br1 u1e2u1d1g1h1u1d1f2d1 br1"
CASE "y"
DRAW "br1bu4 d2r2u2d4l1 br2"
CASE "z"
DRAW "br1bu4 r2d1g2d1r2 br1"
CASE " "
DRAW "br4"
CASE "."
DRAW "br1 r0 br3"
CASE ":"
DRAW "br1 r0 bu3 r0 bf3"
CASE "!"
DRAW "br1bu4 d2 bd2 r0 br3"
CASE "?"
DRAW "br1bu4 r2d2 bd2 r0 br1"
CASE ","
DRAW "br1 e1 br2bd1"
CASE "%"
DRAW "br1bu4 r0 br2 d1g2d1 br2 r0 br1"
CASE "/"
DRAW "br3bu4 d1g2d1 br3"
CASE "-"
DRAW "bu2br1 r2 bd2br1"
CASE "="
DRAW "bu3br1 r2 bd2 l2r2 bd1br1"
CASE "+"
DRAW "bu2br1 e1d2e1 bd2br1"
CASE "*"
DRAW "bu3br1 f2h1g1e2 bd3br1"
CASE "("
DRAW "br3 h1u2e1 br1bd4"
CASE ")"
DRAW "br1 e1u2h1 br3bd4"
CASE "0"
DRAW "br1 r2u4l2d4 br3"
CASE "1"
DRAW "br3 bu4 d4 br1"
CASE "2"
DRAW "br1 bu4 r2d2l2d2r2 br1"
CASE "3"
DRAW "br1 r2u2l2r2u2l2 bd4br3"
CASE "4"
DRAW "br1bu4 d2r2u2d4 br1"
CASE "5"
DRAW "br3bu4 l2d2r2d2l2 br3"
CASE "6"
DRAW "br1 u4d2r2d2l2 br3"
CASE "7"
DRAW "br1bu4 r2d4 br1"
CASE "8"
DRAW "br1 r2u4l2d2r2l2d2 br3"
CASE "9"
DRAW "br3 u4l2d2r2 bd2br1"
CASE "^"
DRAW "bu1"
CASE "_"
DRAW "bd1"
CASE CHR$(8)
LINE STEP(-1, -4)-STEP(-3, 4), 0, BF
END SELECT: NEXT
END SUB
SUB stea (ore, min, sec, grade, arcmin, arcsec, culoare, text$)
' aceasta subrutina de program, adica functie care face ceva
' fara sa dea un rezultat inapoi, primeste coordonatele ceresti
' ecuatoriale pentru o stea si culoarea stelei si o deseneaza pe
' ecran.
' Coordonatele ceresti ecuatoriale contin
' ascensiunea dreapta (longitudinea cereasca) exprimata in ore, min, sec
' si declinatia (latitudinea cereasca) exprimata in grade, arcmin, arcsec
' converteaza ascensiunea dreapta din ore min sec in un numar real
' 360 grade = 24 ore, asadar 1 ora = 60 min = 15 grade
ascdreapta = ore * 15 + min / 4 + sec / 240
' converteaza declinatia din grade arcmin arcsec in un numar real
' 1 grad = 60 arcmin si 1 arcmin = 60 arcsec
declinatia = grade + arcmin / 60 + arcsec / 3600
lo = ascdreapta 'ascensiunea dreapta este longitudinea cereasca
la = declinatia 'declinatia este latitudinea cereasca
' coordonatele pentru longitudine sunt acum de la 0 la 360
' ceea ce este corect pentru o harta in care longitudinea 0 este marginea
' din dreapta sau stanga. Pentru aceasta harta, longitudinea 0 este in
' centru, asadar longitudinea este de la -180 la +180 asa ca mutam
' coordonatele 0..360 in spatiul -180..+180 aici
IF lo > 180 THEN lo = lo - 360
' obtine coordonatele unui pixel pe ecran care corespunde acestei stele
zcos = pi / 2 * la / 90
x = COS(zcos) * radius * 2
y = SIN(zcos) * radius
' deseneaza un punct (pixel) care reprezinta steaua
PSET (xpos - x * (lo / hzmax), ypos - y), culoare
' daca nu vrei sa vezi un mic cerc in jurul fiecarei stele
' insemnate adauga ' la stanga functiei CIRCLE
IF text$ > "" THEN
CIRCLE (xpos - x * (lo / hzmax), ypos - y), 4, culoare
END IF
' scrie numele stelei langa stea
scrie "13", text$ '13 e culoarea roz
' daca vrei ca programul sa astepte pana apesi odata pe tastatura
' dupa ce deseneaza fiecare stea ca sa vezi stelele cum apar pe rand
' atunci sterge ' din linia urmatoare
' DO: LOOP UNTIL INKEY$ > ""
END SUB
Daca nu ai limba de programare BASIC, aceasta este continuta in doua fisiere care pot fi copiate gratuit de pe internet, anume QBASIC.EXE si QBASIC.HLP - aceasta limba de programare e foarte utila pentru a invata sa programezi fiindca e foarte usor sa desenezi ceva, sa calculezi ceva simplu sau sa scrii si sa citesti fisiere.
Apasa aici clic de dreapta si selecteaza Save As... sa copiezi QBASIC direct de la Microsoft.
Aceasta fisiera este o arhiva care se despacheteaza singura cand o rulezi, si contine QBASIC.EXE (194,309 bytes), QBASIC.HLP (130,881 bytes)
si cateva fisiere componente ale sistemului de operare DOS pe care le poti sterge fiindca nu au legatura cu QBASIC si nu functioneaza decat pe un calculator care ruleaza DOS.
Cel mai bine e sa rulezi (despachetezi) arhiva in o directoare in care nu sunt alte fisiere.
Odata despachetata, limba de programare QBASIC poate fi folosita, nu trebuie setat nimic.
Alternativ, poti copia cele doua fisiere direct de aici, apasa clic de dreapta si selecteaza Save As... pe fiecare din ele:
QBASIC.EXE si
QBASIC.HLP