% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/graph_helpers.R
\name{sierpinski_carpet_surface_helpers}
\alias{sierpinski_carpet_surface_helpers}
\alias{sierpinski.carpet.surface.embedding}
\alias{sierpinski.carpet.surface.graph}
\title{Weighted Sierpinski carpet surface helpers}
\usage{
sierpinski.carpet.surface.embedding(
  level = 2,
  surface = c("saddle", "paraboloid", "ripple"),
  amplitude = 0.75,
  freq_u = 1,
  freq_v = 1,
  x_scale = 1,
  y_scale = 1
)

sierpinski.carpet.surface.graph(
  level = 2,
  surface = c("saddle", "paraboloid", "ripple"),
  amplitude = 0.75,
  freq_u = 1,
  freq_v = 1,
  x_scale = 1,
  y_scale = 1,
  normalize = c("median", "mean", "none")
)
}
\arguments{
\item{level}{Recursion depth. Must be at least \code{1}.}

\item{surface}{Surface family used for the lift. One of \code{"saddle"},
\code{"paraboloid"}, or \code{"ripple"}.}

\item{amplitude}{Finite numeric amplitude controlling the non-flat
displacement.}

\item{freq_u}{Positive ripple frequency in the horizontal parameter
direction. Used only when \code{surface = "ripple"}.}

\item{freq_v}{Positive ripple frequency in the vertical parameter direction.
Used only when \code{surface = "ripple"}.}

\item{x_scale}{Positive horizontal scaling of the parameter domain.}

\item{y_scale}{Positive vertical scaling of the parameter domain.}

\item{normalize}{Normalization applied to the induced edge lengths. One of
\code{"median"}, \code{"mean"}, or \code{"none"}.}
}
\value{
\code{sierpinski.carpet.surface.embedding()} returns an \code{n x 3} numeric
matrix with columns \code{x}, \code{y}, and \code{z}, where
\code{n = 8^level}.

\code{sierpinski.carpet.surface.graph()} returns the same components as
\code{recursive.mask.grid.surface.graph()}, with \code{family} set to
\code{"sierpinski.carpet"} and a family-specific class and label.
}
\description{
Convenience wrappers around \code{recursive.mask.grid.surface.*()} using the
classic \eqn{3 \times 3} carpet mask with the center cell removed.
}
\details{
`sierpinski.carpet.surface.embedding()` returns the 3D coordinates of the
occupied cells in the same vertex order as \code{edges.sierpinski.carpet()}.
`sierpinski.carpet.surface.graph()` returns a reusable weighted-graph bundle
for the named Sierpinski carpet family.
}
