11#ifndef FUNCTIONS_FUNCTION_WHITNEY_UMBRELLA_IN_R3_H_
12#define FUNCTIONS_FUNCTION_WHITNEY_UMBRELLA_IN_R3_H_
20namespace coxeter_triangulation {
32 Eigen::VectorXd
operator()(
const Eigen::VectorXd& p)
const {
33 double x = p(0) - off_[0], y = p(1) - off_[1], z = p(2) - off_[2];
34 Eigen::VectorXd result(
cod_d());
35 result(0) = x * x - y * y * z;
40 std::size_t
amb_d()
const {
return 3; };
43 std::size_t
cod_d()
const {
return 1; };
49 Eigen::VectorXd
seed()
const {
50 Eigen::Vector3d result(1 + off_[0], 1 + off_[1], 1 + off_[2]);
59 Eigen::Vector3d result(-1 + off_[0], -1 + off_[1], 1 + off_[2]);
A class that encodes the function, the zero-set of which is the Whitney umbrella surface embedded in ...
Definition: Function_whitney_umbrella_in_R3.h:27
std::size_t cod_d() const
Returns the codomain dimension.
Definition: Function_whitney_umbrella_in_R3.h:43
Eigen::VectorXd seed() const
Returns a point on the surface. This seed point is only one of two necessary seed points for the mani...
Definition: Function_whitney_umbrella_in_R3.h:49
Function_whitney_umbrella_in_R3(Eigen::Vector3d off=Eigen::Vector3d::Zero())
Constructor of the function that defines the Whitney umbrella in R^3.
Definition: Function_whitney_umbrella_in_R3.h:68
std::size_t amb_d() const
Returns the (ambient) domain dimension.
Definition: Function_whitney_umbrella_in_R3.h:40
Eigen::VectorXd operator()(const Eigen::VectorXd &p) const
Value of the function at a specified point.
Definition: Function_whitney_umbrella_in_R3.h:32
Eigen::VectorXd seed2() const
Returns a point on the surface. This seed point is only one of two necessary seed points for the mani...
Definition: Function_whitney_umbrella_in_R3.h:58