2017-03-16 97 views
1

我使用包{rgl}中的函數plot3d(),使用頂點座標和線段創建了一個四面體。下面的代碼使得mentioned plot填充三維圖中兩個線段之間的區域{rgl}

library("rgl") 
CCl4=c(5,5,5,10) 
Luminol=c(0.01,0.001,0.005,0.005) 
Na2CO3=c(0.01,0.01,0.1,0.05) 

plot3d(Luminol, Na2CO3, CCl4, type = "s") 

for(i in 1:4){ 
    for(k in 1:4){ 
       segments3d(x=Luminol[c(i,k)],y=Na2CO3[c(i,k)],z=CCl4[c(i,k)]) 
       } 
     } 

現在,我想以填充點之間的區域(優選地使用RGB顏色,所以我可以使用的α值限定的透明度),但我還沒有找到一個多邊形()之類函數在rgl中。有沒有辦法填補這個領域?

在此先感謝。

+0

你也可以使用'polygon3d()'如果你真的需要一個普通的多邊形,而不是僅僅作爲三角形麥克介紹。不知道爲什麼你找不到它...... – user2554330

回答

3

這是你在找什麼?請求中未完全清楚。我爲所有事物添加了顏色以幫助解決問題。

library("rgl") 
CCl4=c(5,5,5,10) 
Luminol=c(0.01,0.001,0.005,0.005) 
Na2CO3=c(0.01,0.01,0.1,0.05) 

clrs <- c("red","blue","green","darkgrey") 

plot3d(Luminol, Na2CO3, CCl4, type = "s",col=clrs) 

for(i in 1:4){ 
    clr <- clrs[i] 
    for(k in (i+1):4){ 
     v <- c(i,k) 
     segments3d(Luminol[v],Na2CO3[v],CCl4[v],color=clr) 
    } 
} 

for (i in 1:4){ 
    clr <- clrs[i] 
    v <- setdiff(1:4,i) 
    triangles3d(Luminol[v],Na2CO3[v],CCl4[v],alpha=0.5,col=clr) 
} 

產生:

enter image description here

+0

這正是我們所需要的。你添加的顏色是一個很好的觸摸,真的很有幫助。對不清楚的不好意思。謝謝你的答案。 – CristhianParedes

相關問題