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

sierpinski.triangle.surface.graph(
  level = 2,
  surface = c("flat", "saddle", "paraboloid", "ripple", "folded"),
  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. May be \code{0} or larger.}

\item{surface}{Triangle surface family. One of \code{"flat"},
\code{"saddle"}, \code{"paraboloid"}, \code{"ripple"}, or
\code{"folded"}.}

\item{amplitude}{Finite deformation amplitude.}

\item{freq_u}{Positive ripple frequency in the first canonical triangle
coordinate. Used only when \code{surface = "ripple"}.}

\item{freq_v}{Positive ripple frequency in the second canonical triangle
coordinate. Used only when \code{surface = "ripple"}.}

\item{x_scale}{Positive horizontal scaling applied to the canonical
triangle coordinates.}

\item{y_scale}{Positive vertical scaling applied to the canonical triangle
coordinates.}

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

\code{sierpinski.triangle.surface.graph()} returns a list with components:
\itemize{
  \item \code{edges}: the Sierpinski triangle edges,
  \item \code{n}: number of vertices,
  \item \code{edge_weights}: induced positive edge lengths,
  \item \code{coords_surface}: the 3D surface embedding,
  \item \code{coords_param}: the canonical 2D triangle coordinates,
  \item \code{weight_scale}: the normalization constant applied to the raw
    edge lengths,
  \item \code{family}: always \code{"sierpinski.triangle"},
  \item \code{surface}: the chosen surface name,
  \item \code{level}: the recursion depth,
  \item \code{label}: a human-readable family label.
}
}
\description{
Convenience helpers that take the canonical recursive embedding of the
Sierpinski triangle graph and lift it into \eqn{\mathbb{R}^3}. These helpers
are intended for benchmark families where the topology is the usual
triangular gasket but the intended metric comes from a curved or folded
geometry rather than the flat equilateral reference drawing.
}
