Seguindo o Diabo...

Problemas de Física para resolver com recurso à programação.

Seguindo o Diabo...

Mensagempor jap em Sábado Fev 28, 2009 8:30 pm

Salvo seja! :lol:

Escrevam um programito que permita fazer o tracking de Algol, a "estrela do Diabo", e também, por razões que bem conhecem, a estrela fetish do Quark! :whistle:

Pretende-se o seguinte: dadas a latitude e longitude do lugar e a hora local (lida no computador), o programa deve indicar as coordenadas (altura e azimute) da estrela Algol, para onde devem apontar o vosso telescópio.

Depois comparam com resultado dado pelo PyEphem. :wink:

Se tiverem dúvidas, a Mariana esclarece. :lol:

Have fun!
José António Paixão
Departamento de Física da FCTUC
Avatar do utilizador
jap
Site Admin
Site Admin
 
Mensagens: 6800
Registado: Quinta Nov 09, 2006 9:34 pm
Localização: Univ. de Coimbra

Re: Seguindo o Diabo...

Mensagempor Bruno Oliveira em Sábado Fev 28, 2009 10:44 pm

Então não podemos usar o PyEphem no nosso programa? :roll:
e^{ix}=cos x + i\,sin x
Avatar do utilizador
Bruno Oliveira
top-Quark!
top-Quark!
 
Mensagens: 1553
Registado: Quarta Nov 14, 2007 10:19 pm
Localização: Lisboa

Re: Seguindo o Diabo...

Mensagempor jap em Sábado Fev 28, 2009 11:06 pm

Podem usar o PyEphem, claro, mas a tarefa torna-se então bastante simples. :D

Mais challenging é fazerem um outro programa que efectue os cálculos sem recurso ao PyEphem - não é assim tão difícil, se souberem um pouco de astronomia e, nesse caso, podem comparar os resultados dos dois programas.

Aceito, pois, ambas aproximações ao problema. :wink:
José António Paixão
Departamento de Física da FCTUC
Avatar do utilizador
jap
Site Admin
Site Admin
 
Mensagens: 6800
Registado: Quinta Nov 09, 2006 9:34 pm
Localização: Univ. de Coimbra

Re: Seguindo o Diabo...

Mensagempor Bruno Oliveira em Sábado Fev 28, 2009 11:33 pm

Eu estava a tentar inicialmente fazer com o recurso ao módulo mas não o estou a conseguir instalar :?

EDIT: Já funciona :D
última vez editado por Bruno Oliveira s Domingo Mar 01, 2009 10:42 am, editado 1 vez no total
e^{ix}=cos x + i\,sin x
Avatar do utilizador
Bruno Oliveira
top-Quark!
top-Quark!
 
Mensagens: 1553
Registado: Quarta Nov 14, 2007 10:19 pm
Localização: Lisboa

Re: Seguindo o Diabo...

Mensagempor Bruno Oliveira em Domingo Mar 01, 2009 12:08 am

Até agora o que já consegui foi isto:
Código: Seleccionar Todos
import ephem

algol=ephem.star('Algol')   #Busca da estrela Algol na base de dados de estrelas do módulo

Lisbon=ephem.city('Lisbon')
print "Longitude de Lisboa:",Lisbon.long,"    e      ", "Latitude de Lisboa:",Lisbon.lat

lisbon=ephem.Observer()

lisbon.lat=Lisbon.lat    #Latitude de Lisboa
lisbon.long=Lisbon.long   #Longitude de Lisboa

algol.compute(lisbon)
print "Azimute de Algol em relação a Lisboa é:",algol.az
print "Altitude de Algol em relação a Lisboa é:", algol.alt


Este código usa inteiramente, o novo módulo o PyEphem :wink:

O output é:
Código: Seleccionar Todos
>>> ================================ RESTART ================================
>>>
Longitude de Lisboa: -9:08:00.0     e       Latitude de Lisboa: 38:43:00.0
Azimute de Algol em relação a Lisboa é: 310:12:53.7
Altitude de Algol em relação a Lisboa é: 15:58:17.7
>>>


Mas, como não estou a conseguir entrar com a hora local, deve estar algo a falhar... :?
Alguém para ajudar no debug, ou comentar o código? :roll:
e^{ix}=cos x + i\,sin x
Avatar do utilizador
Bruno Oliveira
top-Quark!
top-Quark!
 
Mensagens: 1553
Registado: Quarta Nov 14, 2007 10:19 pm
Localização: Lisboa

Re: Seguindo o Diabo...

Mensagempor jap em Domingo Mar 01, 2009 5:41 pm

Bruno,

Quando crias uma cidade, o objecto criado é uma instância da classe "Observer" e tem guardado no atributo 'date' a hora local no instante em que o objecto é criado. No cálculo (compute) a conversão da hora local para UTC, etc, é feito automaticamente.

Assim, basta escrever:

Código: Seleccionar Todos
import ephem

print "Finding the devil's star"

algol = ephem.star('Algol')
lisbon = ephem.city('Lisbon')

algol.compute(lisbon)

print "To observe Algol in Lisbon, a lovely city located at"
print "lat=",lisbon.lat,"long=",lisbon.long
print "you should point your telescope to alt=",algol.alt,"azimuth=",algol.az
print "at this local time:",lisbon.date
print "Good luck and take a photo of the devil's star!"



Cujo resultado é:

Código: Seleccionar Todos
Finding the devil's star
To observe Algol in Lisbon, a lovely city located at
lat= 38:43:00.0 long= -9:08:00.0
you should point your telescope to alt= 82:48:57.5 azimuth= 291:16:56.2
at this local time: 2009/3/1 17:42:11
Good luck and take a photo of the devil's star!


Repara que podes passar directamente o objecto 'lisbon' a 'compute'. Não te esqueças porém que se voltares a utilizar o objecto lisbon a hora que ele guarda é a hora da sua criação, que não é actualizada automaticamente. Se quiseres actualizar o atributo 'date' do objecto 'lisbon' tens de fazer:

Código: Seleccionar Todos
lisbon.date = ephem.now()


que irá ler de novo a hora ao relógio do teu computador.

Simples, não? :P
José António Paixão
Departamento de Física da FCTUC
Avatar do utilizador
jap
Site Admin
Site Admin
 
Mensagens: 6800
Registado: Quinta Nov 09, 2006 9:34 pm
Localização: Univ. de Coimbra

Re: Seguindo o Diabo...

Mensagempor Bruno Oliveira em Domingo Mar 01, 2009 6:38 pm

Obrigado pela explicação prof. :) .

Então isso quer dizer que o resultado que eu obtive,pode ter sido o certo, para a hora a que corri o código? :roll:
e^{ix}=cos x + i\,sin x
Avatar do utilizador
Bruno Oliveira
top-Quark!
top-Quark!
 
Mensagens: 1553
Registado: Quarta Nov 14, 2007 10:19 pm
Localização: Lisboa

Re: Seguindo o Diabo...

Mensagempor jap em Domingo Mar 01, 2009 7:24 pm

Bruno Oliveira Escreveu:Obrigado pela explicação prof. :) .

Então isso quer dizer que o resultado que eu obtive,pode ter sido o certo, para a hora a que corri o código? :roll:


Sim, é isso mesmo. Sempre que correres o programa ele dará o resultado correcto para essa hora. :D
José António Paixão
Departamento de Física da FCTUC
Avatar do utilizador
jap
Site Admin
Site Admin
 
Mensagens: 6800
Registado: Quinta Nov 09, 2006 9:34 pm
Localização: Univ. de Coimbra

Re: Seguindo o Diabo...

Mensagempor Bruno Oliveira em Domingo Mar 01, 2009 7:36 pm

Óptimo :D, vou então completar o meu código!
e^{ix}=cos x + i\,sin x
Avatar do utilizador
Bruno Oliveira
top-Quark!
top-Quark!
 
Mensagens: 1553
Registado: Quarta Nov 14, 2007 10:19 pm
Localização: Lisboa

Re: Seguindo o Diabo...

Mensagempor Bruno Oliveira em Domingo Mar 01, 2009 8:32 pm

E...já que fizemos o tracking da Algol, a partir de Lisboa, porque não deixar aqui o tracking da Devil`s Star a partir de Coimbra? 8)

A longitude e a latitude da cidade mítica sabem-se no Google Earth, mas alguém sabe o valor da altitude? :roll:
última vez editado por Bruno Oliveira s Domingo Mar 01, 2009 9:49 pm, editado 1 vez no total
e^{ix}=cos x + i\,sin x
Avatar do utilizador
Bruno Oliveira
top-Quark!
top-Quark!
 
Mensagens: 1553
Registado: Quarta Nov 14, 2007 10:19 pm
Localização: Lisboa

Re: Seguindo o Diabo...

Mensagempor Bruno Oliveira em Domingo Mar 01, 2009 8:41 pm

Bom... Depois de uma pesquisa, encontrei, num site de meteorologia, que a altitude média é de 44 m.

Adicionando, então, o nome da cidade e as suas coordenadas geográficas, ao ficheiro cities.py na pasta Ephem, podemos então, em tempo real, fazer o tracking da Algol, a partir de Coimbra:

Código: Seleccionar Todos
import ephem

algol=ephem.star('Algol')

Coimbra=ephem.city('Coimbra')

print "Longitude de Coimbra:",Coimbra.long,"    e      ", "Latitude de Coimbra:",Coimbra.lat

Coimbra=ephem.Observer()

Coimbra.lat=Coimbra.lat
Coimbra.long=Coimbra.long

algol.compute(Coimbra)

print "Para observarem Algol, a partir da cidade mítica, apontem os vossos telescópios para:"
print  algol.az
print algol.alt
print "Valores para a hora local:", Coimbra.date


:D
e^{ix}=cos x + i\,sin x
Avatar do utilizador
Bruno Oliveira
top-Quark!
top-Quark!
 
Mensagens: 1553
Registado: Quarta Nov 14, 2007 10:19 pm
Localização: Lisboa

Re: Seguindo o Diabo...

Mensagempor Bruno Oliveira em Segunda Mar 02, 2009 12:09 am

Prof. depois se pudesse e quando pudesse claro, poderia dar umas dicas acerca do programa que não usa o módulo? :wink:

Obrigado, Bruno
e^{ix}=cos x + i\,sin x
Avatar do utilizador
Bruno Oliveira
top-Quark!
top-Quark!
 
Mensagens: 1553
Registado: Quarta Nov 14, 2007 10:19 pm
Localização: Lisboa

Re: Seguindo o Diabo...

Mensagempor jap em Segunda Mar 02, 2009 7:48 pm

Sim, farei isso em breve. :wink:

Será que, entretanto, algum astrónomo(a) amador(a) não gostará de explicar aqui o que são as coordenadas equatoriais e alt-azimutais, como se passa de umas para outras, e o que é o tempo sideral? :inocent:
José António Paixão
Departamento de Física da FCTUC
Avatar do utilizador
jap
Site Admin
Site Admin
 
Mensagens: 6800
Registado: Quinta Nov 09, 2006 9:34 pm
Localização: Univ. de Coimbra

Re: Seguindo o Diabo...

Mensagempor Bruno Oliveira em Segunda Mar 02, 2009 8:32 pm

jap Escreveu:(...)
Será que, entretanto, algum astrónomo(a) amador(a) não gostará de explicar aqui o que são as coordenadas equatoriais e alt-azimutais, como se passa de umas para outras, e o que é o tempo sideral? :inocent:


Alô Mariana... :lol:
e^{ix}=cos x + i\,sin x
Avatar do utilizador
Bruno Oliveira
top-Quark!
top-Quark!
 
Mensagens: 1553
Registado: Quarta Nov 14, 2007 10:19 pm
Localização: Lisboa

Re: Seguindo o Diabo...

Mensagempor jap em Quarta Mar 04, 2009 10:49 pm

Onde estão os astrónomos(as)? :P
José António Paixão
Departamento de Física da FCTUC
Avatar do utilizador
jap
Site Admin
Site Admin
 
Mensagens: 6800
Registado: Quinta Nov 09, 2006 9:34 pm
Localização: Univ. de Coimbra

Próximo

Voltar para Problemas

Quem está ligado

Utilizadores a navegar neste fórum: Nenhum utilizador registado e 1 visitante