娱乐 太极图

  • plotrix画太极图
library(plotrix)
#cycle.y is used to calculate the y-coordinates 
cycle.y <- function(center.x, center.y, radius, x){  
  if (max(x)>(center.x+radius)||min(x)<(center.x-radius)){ 
    stop("The range of x is too wide!!n")} else { 
      cycle.y.top <- sqrt(radius^2 - (x - center.x)^2) + center.y 
      cycle.y.bottom <- center.y - sqrt(radius^2 - (x - center.x)^2) 
      cycle.y <- matrix(c(cycle.y.top,cycle.y.bottom),2,length(x),byrow=TRUE)
      }
  } 
xllim <- 0 
xrlim <- xllim+8 
center.x <- (xllim + xrlim)/2 
center.y <- 4
radius <- 4 
x <- seq(xllim,xrlim,length=401)
xl <- x[x<=median(x)]
xr <- x[x>=median(x)] 
y <- cycle.y(center.x, center.y, radius, x) 
yl <- y[,1:round((ncol(y)+1)/2)] 
yr <- y[,round((ncol(y)+1)/2):ncol(y)] 
par(bg=colors()[657]) 
plot(c(center.x-radius,center.x+radius), c(center.y-radius,center.y+radius),
     type="n", bty="n", xlab="", ylab="", xaxt="n", yaxt="n")
title(main = "太极图", cex.main =2) 
polygon(c(xl,rev(xl)), c(yl[1,],rev(yl[2,])), col="white", border = "transparent") 
polygon(c(xr,rev(xr)), c(yr[1,],rev(yr[2,])), col="black", border = "transparent")  
center.yt <- center.y+center.y/2
center.yb <- center.y-center.y/2
radius1 <- radius/2 
xl1 <- xl[xl>=median(xl)]
xr1 <- xr[xr<=median(xr)] 
yl1 <- cycle.y(center.x, center.yb, radius1, xl1)
yr1 <- cycle.y(center.x, center.yt, radius1, xr1) 


polygon(c(xl1,rev(xl1)), c(yl1[1,],rev(yl1[2,])), col="black", border = "transparent") 
polygon(c(xr1,rev(xr1)), c(yr1[1,],rev(yr1[2,])), col="white", border = "transparent")
radius2 <- radius1/8
library(plotrix)  
draw.circle(center.x, center.yt, radius2, col="black") 
draw.circle(center.x, center.yb, radius2, col="white") 

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 用R语言检索相关期刊

    用户1359560
  • R lasso

    用户1359560
  • R语言日常笔记(1)filter函数

    在处理数据时,过滤数据是最基本的操作之一。 如果想删除一部分无效或者根本不感兴趣的数据。 dplyr有filter()函数来做这样的过滤。 使用dplyr,可以...

    用户1359560
  • 新版本的tomcat对url的参数做了比较规范的限制,不注意就会掉坑了

    Invalid character found in the request target. The valid characters are defined ...

    凯哥Java
  • 《Spring设计思想》AOP设计思想与原理

    Spring 提供了AOP(Aspect Oriented Programming) 的支持, 那么,什么是AOP呢?本文将通过一个另外一个角度来诠释AOP的概...

    java思维导图
  • SDN技术在数据中心的应用前景

    编者按:每每提到SDN应用第一反应就是数据中心,可见SDN在数据中心方面的应用得到了很大认可。SDN确实可以帮助数据中心挣脱目前的困境,但是SDN技术尚未成熟,...

    SDNLAB
  • 【前端】CSS : 对齐、居中

    文本、元素的对齐和居中在开发中经常会用到。本文分别对文本、元素的对齐、居中进行介绍

    Gavin-ZYX
  • 《Spring设计思想》AOP设计基本原理

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://louluan.blog.c...

    亦山
  • ES6--Class、Module及常用特性

    版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。

    奋飛
  • NeurIPS 2019 | 3D神经网络检测阿尔兹海默症

    今天就来蹭一下某院士学术造假的热度看一篇用3D神经网络进行阿尔兹海默症检测的论文。

    点云乐课堂

扫码关注云+社区

领取腾讯云代金券