Package 'RIFS'

Title: Random Iterated Function System
Description: Pointwise generation and display of attractors (prefractals) of the random iterated function system (RIFS) for various combinations of probabilistic and geometric parameters of some fixed point sets (protofractals), described by Bukhovets A.G. (2012) <doi:10.1134/S0005117912020154>.
Authors: Pavel V. Moskalev, Alexey G. Bukhovets and Tatyana Ya. Biruchinskay
Maintainer: Pavel V. Moskalev <[email protected]>
License: GPL-3
Version: 0.1.6
Built: 2024-12-08 06:53:57 UTC
Source: CRAN

Help Index


Random Iterated Function System (RIFS)

Description

Pointwise generation and display of attractors (prefractals) of the random iterated function system (RIFS) for various combinations of probabilistic and geometric parameters of some fixed point sets (protofractals), described by Bukhovets A.G. (2012) <doi:10.1134/S0005117912020154>.

Details

Package: RIFS
Type: Package
Version: 0.1.6
Date: 2022-05-08
License: GPL-3

plotR2pre() function draws a prefractal set in R^2.
preRIFS() function generates a sample of fractal points (a prefractal points) in R^n with a random iterated function system (RIFS).
preRSum0() function generates a sample of fractal points (a prefractal points) in R^n with a matrix of random sums of a numerical series.
R2ngon() function generates a regular polygonal set in R^2.

Author(s)

Pavel V. Moskalev, Alexey G. Bukhovets and Tatyana Ya. Biruchinskay


Plot a prefractal set in R^2

Description

plotR2pre() function draws a prefractal set in R^2.

Usage

plotR2pre(l=preRIFS(),
          s="Prefractal points for 3-gon: k=3; p=1/3; mu=1")

Arguments

l

a list with prefractal ($pre) and protofractal ($proto) points & indexes ($index).

s

a string for the main title.

Details

A regular polygon is a convex polygon in which all edges and all angles are equal.

A protofractal set Z is a discrete or continuous set, which in the iterative process generates a sample of the fractal set (a prefractal set) X.

Author(s)

Pavel V. Moskalev and Alexey G. Bukhovets

See Also

preRIFS,

Examples

# Example 1. Sierpinski triangle, 1st order, p=const, mu=var
for (m in seq(-4,0)) {
  plotR2pre(preRIFS(M=2^rnorm(n=3, mean=m, sd=-m/4)),
            s="Prefractal points for 1st order 3-gon")
  Sys.sleep(0.1)
}

## Not run: 
# Example 2. Uniform distribution, 1st order, p=const, mu=var
for (m in seq(-4,0)) {
  plotR2pre(preRIFS(Z=R2ngon(4,1),
                    M=2^rnorm(n=4, mean=m, sd=-m/4)),
            s="Prefractal points for 1st order 4-gon")
  Sys.sleep(0.1)
}

# Example 3. Sierpinski triangle, 2nd order, p=const, mu=var
for (m in seq(-3,1)) {
  plotR2pre(preRIFS(Z=R2ngon(3,2),
                    M=2^rnorm(n=6, mean=m, sd=-(m-1)/4)),
            s="Prefractal points for 2nd order 3-gon")
  Sys.sleep(0.5)
}

# Example 4. Sierpinski square, 2nd order, p=const, mu=var
for (m in seq(-3,1)) {
  plotR2pre(preRIFS(Z=R2ngon(4,2),
                    M=2^rnorm(n=8, mean=m, sd=-(m-1)/4)),
            s="Prefractal points for 2nd order 4-gon")
  Sys.sleep(0.5)
}

## End(Not run)

Prefractal points in R^n generated with a RIFS

Description

preRIFS() function generates a sample of fractal (prefractal) points in R^n with a random iterated function system (RIFS).

Usage

preRIFS(n=10000, Z=R2ngon(),
       P=rep(1/nrow(Z), times=nrow(Z)),
       M=rep(1, times=nrow(Z)))

Arguments

n

a number of prefractal points.

Z

a set of protofractal points.

P

a probability distribution of protofractal points.

M

a partition coefficients distribution of protofractal points.

Details

A protofractal set Z is a discrete or continuous set, which in the iterative process generates a prefractal set X.

A prefractal set X is a sample of an attractor (fractal) of a random iterated function system:
X[i,] <- (X[i-1,] + M[z[i]]*Z[z[i],])/(1 + M[z[i]]),
where the index i in seq(n); the index z corresponds to a random points sample of a protofractal set Z.

Value

A list with the prefractal ($pre) and protofractal points ($proto); distributions of probabilities & coefficients ($distr); sample of protofractal indexes ($index).

Author(s)

Pavel V. Moskalev and Alexey G. Bukhovets

References

Bukhovets A.G. and Bukhovets E.A. (2012) Modeling of fractal data structures. Automation and Remote Control, Vol.73, No.2, pp.381-385, doi:10.1134/S0005117912020154.
Moskalev P.V. and Bukhovets A.G. (2012) The similarity dimension of the random iterated function system. Computer Research and Modeling, Vol.4, No.4, pp.681-691, doi:10.20537/2076-7633-2012-4-4-681-691.

See Also

R2ngon, plotR2pre, preRSum0

Examples

# Example 1a. Sierpinski triangle, 1st order, p=const, mu=const
l <- preRIFS()
r <- rainbow(n=nrow(l$proto), v=0.9)
plot(l$proto, asp=1, col=r,
     main="Prefractal points for 3-gon: k=3; p=1/3; mu=1")
points(l$pre, pch=46, col=r[l$index])

## Not run: 
# Example 1b. Sierpinski triangle, 1st order, p=var, mu=const
l <- preRIFS(P=c(2,2,5)/9)
r <- rainbow(n=nrow(l$proto), v=0.9)
plot(l$proto, asp=1, col=r,
     main="Prefractal points for 3-gon: k=3; p=(2,2,5)/9; mu=1")
points(l$pre, pch=46, col=r[l$index])

# Example 1c. Sierpinski triangle, 1st order, p=const, mu=var
l <- preRIFS(M=c(4,4,6)/5)
r <- rainbow(n=nrow(l$proto), v=0.9)
plot(l$proto, asp=1, col=r,
     main="Prefractal points for 3-gon: k=3; p=1/3; mu=(4,4,6)/5")
points(l$pre, pch=46, col=r[l$index])

# Example 2a. Sierpinski square, 2nd order, p=const, mu=const
l <- preRIFS(Z=R2ngon(4,2), M=rep(2,8))
r <- rainbow(n=nrow(l$proto), v=0.9)
plot(l$proto, asp=1, col=r,
     main="Prefractal points for 4-gon: k=8, p=1/8, mu=2")
points(l$pre, pch=46, col=r[l$index])

# Example 2b. Sierpinski square, 2nd order, p=var, mu=const
l <- preRIFS(Z=R2ngon(4,2), P=2^abs(seq(-3,4))/45, M=rep(2,8))
r <- rainbow(n=nrow(l$proto), v=0.9)
plot(l$proto, col=r, asp=1,
     main="Prefractal points for 4-gon: k=8, p=2^|-3:4|/45, mu=2")
points(l$pre, pch=46, col=r[l$index])

# Example 2c. Sierpinski square, 2nd order, p=const, mu=var
l <- preRIFS(Z=R2ngon(4,2), M=1.2^abs(seq(-3,4))+0.5)
r <- rainbow(n=nrow(l$proto), v=0.9)
plot(l$proto, col=r, asp=1,
     main="Prefractal points for 4-gon: k=8, p=1/8, mu=0.5+1.2^|-3:4|")
points(l$pre, pch=46, col=r[l$index])

## End(Not run)

Prefractal points in R^n generated with a matrix of random sums

Description

preRSum0() function generates a sample of fractal (prefractal) points in R^n with a matrix of random sums of a numerical series.

Usage

preRSum0(n=10000, mu=1, eps=1e-9, Z=R2ngon(),
         P=rep(1/nrow(Z), times=nrow(Z)))

Arguments

n

a number of prefractal points.

mu

a partition coefficient for iterative segments.

eps

an error of a random sum of a numerical series.

Z

a set of protofractal points.

P

a probability distribution of protofractal points.

Details

A protofractal set Z is a discrete or continuous set, which in the iterative process generates a prefractal set X.

A prefractal set S%*%Z is a sample of a fractal set generates with a matrix of random sums S of a numerical series: S[i,j] <- sum(X[l==j]),
where i in seq(n); j in seq(k); k <- nrow(Z); X <- mu/(mu+1)^seq(m); m <- 1-log(eps*mu)/log(1+mu); l <- sample.int(k, size=m, prob=P, replace=TRUE).

Value

A list with the prefractal ($pre) and protofractal points ($proto); distributions of probabilities & coefficients ($distr).

Author(s)

Pavel V. Moskalev, Alexey G. Bukhovets and Tatyana Ya. Biruchinskay

References

Bukhovets A.G. and Bukhovets E.A. (2012) Modeling of fractal data structures. Automation and Remote Control, Vol.73, No.2, pp.381-385, doi:10.1134/S0005117912020154.
Bukhovetc A.G. and Biruchinskay T.Y. (2011) Modelling fractal's properties of system objects. Proceedings of Voronezh State University. Series: Systems Analysis and Information Technologies, No.2 (July-December), pp.22-26; in Russian.

See Also

R2ngon, preRIFS, plotR2pre

Examples

# Example 1a. Sierpinski triangle, 1st order, p=const, mu=const
l <- preRSum0()
plot(l$proto, asp=1, col="red",
     main="Prefractal points for 3-gon: k=3; p=1/3; mu=1")
points(l$pre, pch=46, col="red")

## Not run: 
# Example 1b. Sierpinski triangle, 1st order, p=var, mu=const
l <- preRSum0(P=c(2,2,5)/9)
plot(l$proto, asp=1, col="red",
     main="Prefractal points for 3-gon: k=3; p=(2,2,5)/9; mu=1")
points(l$pre, pch=46, col="red")

# Example 2a. Sierpinski square, 2nd order, p=const, mu=const
l <- preRSum0(Z=R2ngon(4,2), mu=2)
plot(l$proto, asp=1, col="red",
     main="Prefractal points for 4-gon: k=8, p=1/8, mu=2")
points(l$pre, pch=46, col="red")

# Example 2b. Sierpinski square, 2nd order, p=var, mu=const
l <- preRSum0(Z=R2ngon(4,2), P=2^abs(seq(-3,4))/45, mu=2)
plot(l$proto, asp=1, col="red",
     main="Prefractal points for 4-gon: k=8, p=2^|-3:4|/45, mu=2")
points(l$pre, pch=46, col="red")

## End(Not run)

Regular polygonal protofractal set in R^2

Description

R2ngon() function generates a regular polygonal protofractal set in R^2.

Usage

R2ngon(n1=3, n2=1, r=1, o=c(0,0), cycle=FALSE)

Arguments

n1

a number of vertices of a regular polygon.

n2

a number of partition points for the edges of a regular polygon.

r

a radius of the circumscribed circle.

o

a center of the circumscribed circle.

cycle

logical; if cycle=FALSE, first & last points are not equal.

Details

A regular polygon is a convex polygon in which all edges and all angles are equal.

A protofractal set Z is a discrete or continuous set, which in the iterative process generates a sample X of a fractal set.

Value

A matrix of points coordinates of a protofractal set in R^2.

Author(s)

Pavel V. Moskalev

See Also

preRIFS

Examples

plot(R2ngon(n1=90, cycle=TRUE), type="l", asp=1, col="gray",
     main="Regular {3,4,5,7,11}-gonal sets in R^2")
for (n in c(3,4,5,7,11)) 
  lines(R2ngon(n1=n, cycle=TRUE), 
        type="b", pch=16, col=hsv(h=(n-2)/9,v=0.9))