R语言 生成艺术,类似太阳的图案

R语言 生成艺术,类似太阳的图案

1.png
2.png
3.png
4.png
全图.png
# Thu Jan 21 10:25:17 2021 -
# https://mp.weixin.qq.com/s/lB4E624lGAXj85-zOXkyPQ
# 字符编码:UTF-8
# R 版本:R x64 4.0.3 for window 10
# cgh163email@163.com
# 个人笔记不负责任
# —— 拎了个梨??
.rs.restartR()
rm(list=ls());gc()
# 生成艺术2
library(tidyverse)
library(ggforce)
library(patchwork)

apply_pattern_theme = function(bg_hex, caption_hex){
  theme(
    plot.background = element_rect(fill = bg_hex),
    panel.background = element_rect(fill = bg_hex),
    panel.grid = element_blank(),
    plot.caption = element_text(family = "Open Sans",size = 6,color = caption_hex),
    legend.position = "none",
    axis.title = element_blank(),
    axis.text = element_blank(),
    axis.ticks = element_blank()
  )}

num_lines = 100
r = 1
circle = tibble(
  len = seq(0, 2*pi, length.out = num_lines),
  x = r*sin(len),
  y = r*cos(len),
  type = 1:100)
circle_test = circle[sample(1:100, 80),]

(p1 <- ggplot() +
    geom_path(data = circle_test,
              aes(x = x, y = y,
                  color = type),
              size = 0.8,
              alpha = 0.8) +
    geom_path(data = circle_test,
              aes(x = x, y = y,
                  color = type),
              size = 0.5) +
    scale_colour_gradient(low = "#f7f7f7",
                          high = "#6b7f8c") +
    coord_fixed()+
    apply_pattern_theme("black","white"))
dev.copy(png, "1.png");dev.off()

# Thu Jan 21 11:27:38 2021 --
#
num_lines = 4000
r_vals = seq(0.5, 1.5, by = .01)
circles_list = list()
for(i in 1:length(r_vals)){
  r = r_vals[i]
  circle = tibble(
    len = seq(0, 2*pi, length.out = num_lines),
    x = r*sin(len),
    y = r*cos(len))
  circles_list[[i]] = circle[sample(1:num_lines,
                                    num_lines/i,replace = FALSE),]}
final_circle = bind_rows(circles_list)

(p2 <- ggplot() +
    geom_point(data = final_circle,
               aes(x = x, y = y),
               color = "#e4cdc3",
               size = 0.1,
               alpha = 0.5) +
    coord_fixed() +
    apply_pattern_theme("black", "white"))
dev.copy(png, "2.png");dev.off()

# Thu Jan 21 11:28:07 2021 --
#
rings = tibble(
  x = 1,xend = 5,y = c(2, 5),yend = c(2, 5))
points = tibble(
  x = c(2, 4, 1.5, 3.5),y = c(2, 2, 5, 5))

(p3 <- ggplot() +
    geom_segment(data = rings,
                 aes(x = x, xend = xend,
                     y = y, yend = yend),
                 color = "white") +
    geom_point(aes(x = 3, y = 0),
               size = 4,
               color = "#c74a00") +
    geom_point(data = points,
               aes(x = x, y = y),
               size = 3,
               color = "#f39200") +
    scale_y_continuous(limits = c(0, 5)) +
    coord_polar() +
    apply_pattern_theme(bg_hex = "#2e2137",
                        caption_hex = "white"))
dev.copy(png, "3.png");dev.off()

# Thu Jan 21 11:28:26 2021 --
#
num_lines = 400
circle = tibble(
  len = seq(0, 2*pi, length.out = num_lines),
  x = sin(len),
  y = cos(len))
triangle_left = circle %>%
  mutate(xend = x,
         x = -1,
         yend = y,
         y = 0)
p4 <- ggplot() +
  geom_polygon(data = circle,
               aes(x = x, y = y),
               fill = "#ab3a3a") +
  geom_segment(data = triangle_left,
               aes(x = x, xend = xend,
                   y = y, yend = yend),
               color = "white",
               size = 0.3,
               lineend = "round") +
  coord_fixed() +
  apply_pattern_theme("white", "black")
p4
dev.copy(png, "4.png");dev.off()

p1+p2+p3+p4
dev.copy(png, "全图.png");dev.off()

```R
?著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,128评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,316评论 3 388
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事?!?“怎么了?”我有些...
    开封第一讲书人阅读 159,737评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,283评论 1 287
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,384评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,458评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,467评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,251评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,688评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,980评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,155评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,818评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,492评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,142评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,382评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,020评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,044评论 2 352

推荐阅读更多精彩内容