19 #ifndef vsr_differential_INC
20 #define vsr_differential_INC
23 #include "vsr_graph.h"
25 namespace vsr {
namespace cga {
35 VSR_PRECISION area, la,
lb;
43 ea = b-a; la = ea.norm();
44 eb = c-a; lb = eb.norm();
46 area = tpss.rnorm() * .5;
62 vector<Vec>
derivative1(
const T& n,
const T& na,
const T& nb){
78 Biv derivative(
const T& n,
const T& na,
const T& nb){
86 return ((ra*wa)^(rb*wb)) * area;
90 Biv derivative(
const float& n,
const float& na,
const float& nb){
100 return ((ra*wa)^(rb*wb)) ;
106 Vec derivative2(
const T& n,
const T& na,
const T& nb){
111 auto aw1 = dna <=
rb;
112 auto bw1 = dna <= ra;
114 auto aw2 = dnb <=
rb;
115 auto bw2 = dnb <= ra;
118 return ((ra*aw1)+(rb*bw1)) ;
123 Vec derivativeA(
const T& na,
const T& nb){
146 return ( (ra*wa)+(rb*wb) );
149 Vec derivative0(
const float& n,
const float& na,
const float& nb){
157 return ( (ra*wa)+(rb*wb) );
169 auto sa = dna <= (ra^(na-n));
170 auto sb = dnb <= (rb^(nb-n));
176 Vec gradient(
const float& n,
const float& na,
const float& nb){
181 return ( (ra*dna)+(rb*dnb) );
193 return ( deriv ^ F );
213 return acos( (eb.unit()<=ea.unit())[0] );
222 Vec cotan( Simplicial2& s){
223 Vec dual = s.center() - center();
224 float wt = dual.norm()/
lb;
Biv pss
Tangent Pseudoscalar.
Definition: vsr_differential.h:33
Biv tpss
tmp
Definition: vsr_differential.h:32
Common Operations Specific to CGA3D.
Simplicial2(const T &a, const T &b, const T &c)
Constructor takes three coordinates,.
Definition: vsr_differential.h:42
NVec< 5 > Vec
Vector
Definition: vsr_cga3D_types.h:62
Generic Geometric Number Types (templated on an algebra and a basis )
Definition: vsr_algebra.h:69
static Point loc(const A &s)
Location (normalizd) of a Round Element (shorthand)
Definition: vsr_cga3D_round.h:146
void print()
Printing.
Definition: vsr_multivector.h:135
Biv exterior_derivative(const T &n, const T &na, const T &nb)
Vector Derivative of some T-valued function defined on points.
Definition: vsr_differential.h:187
vector< Vec > derivative1(const T &n, const T &na, const T &nb)
Vector Derivative of some T-valued function defined on points.
Definition: vsr_differential.h:62
Pnt Point
Null Vector \(p=\{e_1,e_2,e_3,n_o,n_\infty\}\)
Definition: vsr_cga3D_types.h:128
Vec eb
edges
Definition: vsr_differential.h:31
VSR_PRECISION lb
edge lengths
Definition: vsr_differential.h:35
Definition: vsr_differential.h:29
the versor library namespace
Definition: vsr_algebra.h:29
Definition: vsr_differential.h:257
Vec gradient(const T &n, const T &na, const T &nb)
Gradient of some T-valued function defined on points ignore ea and eb...
Definition: vsr_differential.h:164
Vec rb
reciprocal frames (a suitable basis for FEM)
Definition: vsr_differential.h:34
static Point null(const Vec &v)
Null Point from a vec.
auto full_derivative(const T &n, const T &na, const T &nb) -> decltype(Vec()*T())
Vector Derivative of some T-valued function defined on points.
Definition: vsr_differential.h:200
Vec derivative0(const T &n, const T &na, const T &nb)
Vector Derivative of some T-valued function defined on points.
Definition: vsr_differential.h:138