Content
This brief html document consists of the R code that creates an animation.gif of the tamil language scripts ‘tha’, ‘mi’, and ‘zh’. The R code uses mathematical parametric functions and cartesian coordinates.
library(animation)
saveGIF({
for(i in 1:300){
a<-seq(1,5,length.out = 10)
b<-seq(1,10,length.out = 20)
s4<-seq(6.28,5.5,length.out = 10)
s3<-seq(3.92,3.14,length.out = 10)
s2<-seq(3.12,2.2,length.out = 10)
s1<-seq(0.9,0,length.out = 10)
x_xsmallv <- rep(2,length(a))
y_xsmallv <- seq(3.5,4,length.out = 10)
x_smallv <- rep(2,length(a))
y_smallv <- seq(3.5,5,length.out = 10)
x_medv <- rep(3,length(a))
y_medv <- seq(5,2.7,length.out = 10)
x_longv <- rep(2,length(a))
y_longv <- seq(5,2,length.out = 10)
x_xsmallh <- seq(2.65,1.9,length.out = 10)
y_xsmallh <- rep(2,length(a))
x_smallh <- seq(2,3.5,length.out = 10)
y_smallh <- rep(5,length(a))
x_cir4 <- function(t) cos(t)+2
y_cir4 <- function(t) sin(t)+2.72
xcirc4 <- x_cir4(s4)
ycirc4 <- y_cir4(s4)
x_cir3 <- function(t) cos(t)+2.5
y_cir3 <- function(t) sin(t)+2.72
xcirc3 <- x_cir3(s3)
ycirc3 <- y_cir3(s3)
x_cir2 <- function(t) cos(t)+2.5
y_cir2 <- function(t) sin(t)+2.72
xcirc2 <- x_cir2(s2)
ycirc2 <- y_cir2(s2)
x_cir1 <- function(t) cos(t)+3
y_cir1 <- function(t) sin(t)+2.72
xcirc1 <- x_cir1(s1)
ycirc1 <- y_cir1(s1)
x_tha <- c(x_smallv,x_smallh,x_medv,xcirc4,x_xsmallh,xcirc3,xcirc2,
x_smallh,xcirc1,xcirc4+1,rev(x_smallh),rev(xcirc2))
y_tha <- c(y_smallv,y_smallh,y_medv,ycirc4,y_xsmallh,ycirc3,ycirc2,
y_smallh-1.45,ycirc1,1.55*ycirc4-1.5,y_smallh-3.45,rev(ycirc2)-2)
x_ma <- c(x_longv,x_smallh,rev(xcirc4)+1.25,x_xsmallv+2.25,rev(xcirc1)+0.25,
rev(xcirc2)+1.5,x_smallv+1)
y_ma <- c(y_longv,y_smallh-3,rev(ycirc4),y_xsmallv,rev(ycirc1)+1.5,
rev(ycirc2)+1.5,y_smallv-1.5)
x_mi <- c(x_xsmallv+1.5,xcirc2+2,xcirc1+0.5,x_xsmallv+2.5)+0.15
y_mi <- c(y_xsmallv+1.5,ycirc2+2.7,ycirc1+2.75,y_xsmallv-1)
x_ha <- c(1.2*xcirc2+0.5,2*xcirc3)
y_ha <- c(ycirc2-2.4,ycirc3-0.8)
x_dot<-0.1*sin(b)+3
y_dot<-0.1*cos(b)+5.75
plot(x_tha[1:i],y_tha[1:i],type = "l",xlim=c(0,12),ylim=c(0,7))
lines(0.9*x_ma[1:i]+2.8,y_ma[1:i])
lines(x_mi[1:i]+2.5,y_mi[1:i])
lines(0.9*x_ma[1:i]+6,y_ma[1:i])
lines(x_ha[1:i]+5.7,y_ha[1:i])
lines(x_dot[1:i]+5.7,y_dot[1:i])
}
}, interval = 0.01, ani.width = 700, ani.height = 350)