149 lines · 2.1 KB · C
RawDownload
#include "astro.h" Obj2*	objlst[] ={	&osun,	&omoon,	&oshad,	&omerc,	&ovenus,	&omars,	&ojup,	&osat,	&ouran,	&onept,	&oplut,	&ocomet,	0,}; struct	idata{	char*	name;	char*	name1;	void	(*obj)(void);} idata[] ={	"The sun",	"sun",		fsun,	"The moon",	"moon",		moon,	"The shadow",	"shadow",	shad,	"Mercury",	"mercury",	merc,	"Venus",	"venus",	venus,	"Mars",		"mars",		mars,	"Jupiter",	"jupiter",	jup,	"Saturn",	"saturn",	sat,	"Uranus",	"uranus",	uran,	"Neptune",	"neptune",	nept,	"Pluto",	"pluto",	plut,	"Comet",	"comet",	comet,}; voidinit(void){	Obj2 *q;	int i; 	glat = nlat - (692.74*radsec)*sin(2.*nlat)		 + (1.16*radsec)*sin(4.*nlat);	erad = .99832707e0 + .00167644e0*cos(2.*nlat)		 - 0.352e-5*cos(4.*nlat)		 + 0.001e-5*cos(6.*nlat)		 + 0.1568e-6*elev; 	for(i=0; q=objlst[i]; i++) {		q->name = idata[i].name;		q->name1 = idata[i].name1;		q->obj = idata[i].obj;	}	ostar.obj = fstar;	ostar.name = "star";} voidsetime(double d){	double x, xm, ym, zm; 	eday = d + deltat/86400.;	wlong = awlong + 15.*deltat*radsec; 	capt = eday/36524.220e0;	capt2 = capt*capt;	capt3 = capt*capt2;	nutate();	eday += .1;	sun();	srad = rad;	xm = rad*cos(beta)*cos(lambda);	ym = rad*cos(beta)*sin(lambda);	zm = rad*sin(beta);	eday -= .1;	sun();	xms = rad*cos(beta)*cos(lambda);	yms = rad*cos(beta)*sin(lambda);	zms = rad*sin(beta);	x = .057756;	xdot = x*(xm-xms);	ydot = x*(ym-yms);	zdot = x*(zm-zms);} voidsetobj(Obj1 *op){	Obj1 *p; 	p = op;	p->ra = ra;	p->decl2 = decl2;	p->semi2 = semi2;	p->az = az;	p->el = el;	p->mag = mag;} long	starsao = 0; voidfstar(void){ 	ra = ostar.point[0].ra;	decl2 = ostar.point[0].decl2;	semi2 = ostar.point[0].semi2;	az = ostar.point[0].az;	el = ostar.point[0].el;	mag = ostar.point[0].mag;} voidfsun(void){ 	beta = 0;	rad = 0;	lambda = 0;	motion = 0;	helio();	geo();	seday = eday;	salph = alpha;	sdelt = delta;	mag = lmb2;} voidshad(void){ 	if(seday != eday)		fsun();	if(meday != eday)		moon();	alpha = fmod(salph+pi, pipi);	delta = -sdelt;	hp = mhp;	semi = 1.0183*mhp/radsec - 969.85/srad;	geo();}

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t