円の折り返し

  • 半径2の円周がある
  • その1点を円周の内部に押し込んで、半径1の円周とその内張りとにする
  • 対応する点を結ぶベクトルの始点を1箇所にするとどんな絵になる?



t <- seq(from=0,to=1,length=100)*2*pi
t2 <- c(t,t+2*pi)
x1 <- cos(t2)
y1 <- c(sin(t),-sin(t))

x2 <- cos(t2/2+pi/2)*2
y2 <- sin(t2/2+pi/2)*2

matplot(cbind(x1,y1),type="l")
matplot(cbind(x2,y2),type="l")

diffx <- x2-x1
diffy <- y2-y1

plot(diffx,diffy)



matplot(cbind(x1,x2),type="l")
matplot(cbind(y1,y2),type="l")

matplot(cbind(diffx,diffy),type="l")

matplot(cbind(x1,y1,x2,y2),type="l")

theta <- seq(from=0,to=1,length=100)*2*pi
ret <- rep(0,length(theta))
for(i in 1:length(theta)){
	x2 <- cos(t2/2+theta[i])*2
	y2 <- sin(t2/2+theta[i])*2
	diffx <- x2-x1
	diffy <- y2-y1
	ret[i] <- sum(diffx^2+diffy^2)
}

plot(theta/pi,ret)