日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

绘制动态心形图案::R语言绘制心形图

發布時間:2023/12/20 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 绘制动态心形图案::R语言绘制心形图 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

原始方程源于此貼一樓:直通車

整理修改后:
被窩修改成這樣:

x<-seq(-1.1,1.1,length = 3000) rep<-30 y<-matrix(,3000,rep) #創建矩陣 yx<-matrix(,3000,rep) #創建矩陣 xx<-matrix(,3000,rep) #創建矩陣 c<-seq(0,1,length=rep) #立體效果 for (i in 1:rep) for (p in 1:3000){ y[p,i]<-(1-(x[p])^2)^(1/2)+((x[p])^2)^(1/4)+c[i] yx[p,i]<--(1-(x[p])^2)^(1/2)+((x[p])^2)^(1/4)+c[i] xx[,i]<-x} for (q in 2:15){ par(bg="pink") plot(main="中國(標題可更改)", c(rev(xx),xx),c(rev(y),yx),type='l',xlim = c(-1,1),xlab = "LOVE YOU",col.lab="red",font.lab=9,cex.lab=3,ylab = "",axes=F,col=q) Sys.sleep(1)} #Sys.sleep(1)動態效果

據說笛卡爾死前寄出的最后一封信,里面只有短短的一行:r=a(1&#x2212;sin&#x03B8;)'>r=a(1?sinθ) r=a(1?sinθ) ,這就是有名的心形函數。情人節將至,我用R語言的grid包畫了幾幅圖片,希望借此平臺贈與我相戀五年的男友,也希望與各位統計愛好者分享快樂。

首先,我利用grid.lines()把轉化為直角坐標系的(x, y)兩兩相連圍成心形,構建了一個heart function作為基本圖形。

x=16(sint)3y=13cost&#x2013;5cos2t&#x2013;2cos3t&#x2013;cos4t'>xy =16(sint) 3 =13cost–5cos2t–2cos3t–cos4t x=16(sint)3y=13cost–5cos2t–2cos3t–cos4t

為了得到嵌套心形圖案,我使用了grid包創建了多個viewport。viewport是grid包的一個重要特色,此概念類似于photoshop的圖層。

創建一個viewport,我們需要設置它的位置、長度和寬度,下圖虛線實際上并不出現在R的output里面,但這個矩形區域圖層會成為接下來畫圖的區域。構建了新的viewport以后,我們可以用pushViewport()命令鎖定該圖層,使之成為目標區域。我們也可以構建多個viewport,幾個viewport之間可以通過命令相互切換。

例如,在第一個圖層的基礎上在新建一個圖層,調整新圖層的長度與寬度使之稍微小于第一個圖層, 用pushViewport()鎖定新圖層,再調用一次心形函數,以此類推,循環創建多個嵌套圖層,并依次在各個圖層上畫心形函數,于是我們可以得到一系列嵌套的心形。
此外,grid包允許我們對圖形進行復制、旋轉、放縮等修改。要旋轉心形函數,我們并不需要修改函數本身,而是可以通過旋轉viewport的方式旋轉我們所需要繪制的圖形。設置新viewport,調整angle函數,那么在此圖層下繪制的任何圖形將會被旋轉。

利用viewport對圖形進行修改,我們可以繪制各種有趣的圖形pattern,本人只是grid包的初學者,如有偏頗之處望多多包涵。最后,祝愿大家情人節快樂!
以下是“情人節禮物”的代碼:直通車

總結

以上是生活随笔為你收集整理的绘制动态心形图案::R语言绘制心形图的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。