hyperplane
hyperplane

banacorn/neuron
library("plot3D")
library("plotrix")
library("scatterplot3d")

# ################################################################################
# #   1
# ################################################################################
#
# x <- seq(0, 10, by = 0.001)
# plot(x, dnorm(x, 5, 1), type = 'l')
# title("1-d Gaussian function")
#
# ################################################################################
# #   2
# ################################################################################
#
# x <- seq(0, 10, 0.1)
# y <- x
# f <- function(x, y) {
#     mean <- 5
#     distanceToMean <- sqrt( (x - mean)^2 + (y - mean)^2 )
#     return(dnorm(distanceToMean, 0, 1))
# }
# z <- outer(x, y, f)
# persp(x, y, z, theta = 30, phi = 30, col = "lightblue", ticktype = "detailed")
# title("2-d Gaussian function")
#
# ################################################################################
# #   3
# ################################################################################
#
# x <- seq(1, 10, 0.001)
# hist(rnorm(x, 5, 1), breaks = 100)
# # title("1-d Gaussian random data histogram")
#
# ################################################################################
# #   4
# ################################################################################
#
# acc <- matrix(0, 40, 40)
# x <- rnorm(10000, 5, 1)
# y <- rnorm(10000, 5, 1)
#
# plot(x, y)
# title("2-d Gaussian random data")
#
# for (i in 1:10000) {
#     xi <- ceiling(x[i] * 4)
#     yi <- ceiling(y[i] * 4)
#     acc[xi, yi] <- acc[xi, yi] + 1
# }
# hist3D(z = acc, ticktype = "detailed",)
# title("2-d Gaussian random data histogram")
#
# ################################################################################
# #   5
# ################################################################################
#
# tcol <- terrain.colors(12)
# contour(acc, col = tcol, lty = "solid")
# title("2-d Gaussian random data contour")
#
# ################################################################################
# #   6
# ################################################################################
#
# plot(NA, xlim=c(0,10), ylim=c(0,10), xlab="x", ylab="y")
# segments(0, -1, 11, 10)
# title("x - y = 1")
#
# ################################################################################
# #   7
# ################################################################################
#
# plot(NA, xlim=c(-2,2), ylim=c(-2,2), xlab="x", ylab="y")
# draw.circle(0, 0, 1)
# title("x² + y² = 1")
#
# ################################################################################
# #   8
# ################################################################################
#
# plot(NA, xlim=c(-2,2), ylim=c(-2,2), xlab="x", ylab="y")
# draw.ellipse(0, 0, 1, 2)
# title("x² + y²/4 = 1")
#
# ################################################################################
# #   9
# ################################################################################
#
# f <- function(x,y) x^2 - (y^2)/4 - 1
# x <- y <- seq(-10,10,length=100)
# z <- outer(x,y,f)
# contour(
#   x = x, y = x, z = z,
#   levels = 0, las = 1, drawlabels = FALSE, lwd = 3,
#   xlab = "x", ylab = "y"
# )
# title("x² - y²/4 = 1")
#
#
# ################################################################################
# #   10
# ################################################################################
#
# x <- 1:100
# y <- x * 2
#
# plot(x, y)
# title("2x - y = 0")
#
# ################################################################################
# #   11
# ################################################################################
#
# x <- seq(-2, 2, by = 0.04)
# y <- sqrt(4 - x ^ 2)
#
# plot(x, y,
#     asp = 1, xlim = c(-2,2), ylim = c(-2,2),
#     xlab = "x", ylab = "y")
# par(new = TRUE)
# plot(x, -y,
#     asp = 1, xlim = c(-2,2), ylim = c(-2,2),
#     xlab = "x", ylab = "y")
#
# title("x² + y² = 4")
#
# ################################################################################
# #   12
# ################################################################################
#
# x <- seq(-2, 2, by = 0.04)
# y <- sqrt(1 - (x ^ 2) / 4)
#
# plot(x, y,
#     asp = 1, xlim = c(-2,2), ylim = c(-2,2),
#     xlab = "x", ylab = "y")
# par(new = TRUE)
# plot(x, -y,
#     asp = 1, xlim = c(-2,2), ylim = c(-2,2),
#     xlab = "x", ylab = "y")
#
# title("x²/4 + y² = 4")
#
# ################################################################################
# #   13
# ################################################################################
#
# x <- seq(-1, 1, by = 0.02)
# y <- 1 / x
#
# plot(x, y)
# title("xy = 1")
#
# ################################################################################
# #   14
# ################################################################################
#
# i <- 0:96
# r <- 6.5 * (104 - i) / 104
# theta <- pi * i / 16
# x <- r * sin(theta)
# y <- r * cos(theta)
#
# plot(x, y,
#     asp = 1, xlim = c(-8,8), ylim = c(-8,8),
#     xlab = "x", ylab = "y", col = "red")
# par(new = TRUE)
# x <- - r * sin(theta)
# y <- - r * cos(theta)
# plot(x, y,
#     asp = 1, xlim = c(-8,8), ylim = c(-8,8),
#     xlab = "x", ylab = "y", col = "blue")
# title("2 spirals")
#
# ################################################################################
# #   15
# ################################################################################
#
# x1 <- c(0, 0, 1, 0)
# y1 <- c(1, 0, 1, 1)
# z1 <- c(1, 1, 1, 0)
#
# x2 <- c(0, 1, 1, 1)
# y2 <- c(0, 0, 0, 1)
# z2 <- c(0, 0, 1, 0)
#
# points1 <- cbind(x1, y1, z1)
# points2 <- cbind(x2, y2, z2)
#
# graph <- scatterplot3d(points1, color = "blue", type = "p",
#     xlim = c(0, 1), ylim = c(0, 1), zlim = c(-0.1, 1.1),
#     xlab = "x", ylab = "y", zlab = "z")
# graph$points3d(points2, col = "red", type = "p")
# graph$plane3d(c(0.4, 1, -0.5))

library("plot3D")

################################################################################
#   1
################################################################################

x <- seq(0, 10, by = 0.001)
plot(x, dnorm(x, 5, 1), type = 'l')
title("1-d Gaussian function")

################################################################################
#   2
################################################################################

x <- seq(0, 10, 0.1)
y <- x
f <- function(x, y) {
    mean <- 5
    distanceToMean <- sqrt( (x - mean)^2 + (y - mean)^2 )
    return(dnorm(distanceToMean, 0, 1))
}
z <- outer(x, y, f)
persp(x, y, z, theta = 30, phi = 30, col = "lightblue", ticktype = "detailed")
title("2-d Gaussian function")

################################################################################
#   3
################################################################################

x <- seq(1, 10, 0.001)
hist(rnorm(x, 5, 1), breaks = 100)
# title("1-d Gaussian random data histogram")

################################################################################
#   4
################################################################################

acc <- matrix(0, 40, 40)
x <- rnorm(10000, 5, 1)
y <- rnorm(10000, 5, 1)

plot(x, y)
title("2-d Gaussian random data")

for (i in 1:10000) {
    xi <- ceiling(x[i] * 4)
    yi <- ceiling(y[i] * 4)
    acc[xi, yi] <- acc[xi, yi] + 1
}
hist3D(z = acc, ticktype = "detailed",)
title("2-d Gaussian random data histogram")

################################################################################
#   5
################################################################################

tcol <- terrain.colors(12)
contour(acc, col = tcol, lty = "solid")
title("2-d Gaussian random data contour")
