Пример #1
0
bool BSplineCurve2d :: Inside (const Point<2> & p, double & dist) const
{
  Point<2> hp = p;
  double t = ProjectParam (p);
  hp = Eval(t);
  Vec<2> v = EvalPrime (t);

  Vec<2> n (v(0), -v(1));
  
  cout << "p = " << p << ", hp = " << hp << endl;
  dist = Dist (p, hp);
  double scal = (hp-p) * n;
  cout << "scal = " << scal << endl;

  return scal >= 0;
}
Пример #2
0
void ExplicitCurve2d :: NormalVector (const Point<2> & p, Vec<2> & n) const
  {
  double t = ProjectParam (p);
  n = Normal (t);
  }
Пример #3
0
void ExplicitCurve2d :: Project (Point<2> & p) const
  {
  double t;
  t = ProjectParam (p);
  p = Eval (t);
  }