星座早見盤


# 緯度 x, 赤緯 y の星が、z/pi の割合で地表面上に存在していると
# 変数表示したときに
# x,yからzを求める関数
# このとき、星座早見盤の「地平線上の空」の座標を知ることを目的とすれば
# その星座早見盤平面の座標は
# ((pi/2-y) * cos(z), ±(pi/2-y) * sin(z))

my.seizaban <- function(x,y){
	y. <- pi/2 - y
	angle <- 2 * acos(sqrt(sin(x- y.)/ (sin(x-y.) - sin(x + y.))))
	zahyou.x <- y. * cos(angle)
	zahyou.y <- y. * sin(angle)
	
	ret <- list(angle=angle,x=c(zahyou.x,zahyou.x),y=c(zahyou.y,-zahyou.y))
	
	return(ret)
}

t <- seq(from=0,to=2*pi,length=1000)
plot(pi * cos(t),pi * sin(t),type="l",col="blue",asp=TRUE)

# ほとんど赤道地点での観測
x <- 1/180 * pi
y <- seq(from=90,to=-90,by=-0.001) / 180 * pi

out1 <- my.seizaban(x,y)

lines(out1$x,out1$y)
# ほとんど北極での観測
x <- 89/180 * pi
y <- seq(from=90,to=-90,by=-0.001) / 180 * pi

out2 <- my.seizaban(x,y)

lines(out2$x,out2$y)

# 中緯度
x <- 45/180 * pi
y <- seq(from=90,to=-90,by=-0.001) / 180 * pi

out3 <- my.seizaban(x,y)

lines(out3$x,out3$y)


いいなと思ったら応援しよう!