凸多面体

  • 角座標とデカルト座標を行き来する関数2つ(→こちら)
  • 角座標を格子的に与えて、プロットすることで球面に規則的な点を打とう
  • sphereパッケージが必要(こちら)
EularAngleGrid<-function(k,d){
	x<-seq(from=0,to=1,length.out=d)
	xs<-as.matrix(expand.grid(rep(list(x),k-1)))*2*pi
	out<-matrix(0,length(xs[,1]),k)
	for(i in 1:length(out[,1])){
		out[i,]<-Angular2Cartesian(r=1,c(xs[i,]))
	}
	out
}
library(rgl)
ee<-EularAngleGrid(3,100)
plot3d(ee,type="l")

http://www.genome.med.kyoto-u.ac.jp/StatGenet/testRY20110208/sphereLattice.png

  • 今、ここに、いくつかの法線ベクトルを定め、その法線ベクトルによって原点からの距離が1であるような平面が作る凸包を描きたいとする
Tiis<-RandomSphere(3,1,4)
Tiis<-rbind(Tiis,-Tiis)
cc<-ee%*%t(Tiis)
Mcc<-apply(abs(cc),1,max)
ee2<-ee/Mcc
plot3d(ee2,type="l")

http://www.genome.med.kyoto-u.ac.jp/StatGenet/testRY20110208/PolygonLattice.png