Re: [eigen] eigen based splines |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/eigen Archives
]
- To: eigen@xxxxxxxxxxxxxxxxxxx
- Subject: Re: [eigen] eigen based splines
- From: Aron Ahmadia <aja2111@xxxxxxxxxxxx>
- Date: Wed, 17 Feb 2010 17:01:54 +0300
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:sender:received:in-reply-to :references:date:x-google-sender-auth:message-id:subject:from:to :content-type; bh=Mj4Tiwy12GIIxNPAoZIVehKlaHWwG44UdXpimu57DKA=; b=YRVyM7TaOi/uNZZ5im5JrC+udQu6gY3yg2C9ArIpG8JuYnErCkexZJT9GyCzMja2LV FkrNiK0PvTzm33PufU9KhQOH5znuPEMtD4d0uQeCxqT7Tnr/qG/SFSPq6AUtoV+ao3D3 szqg+uas2gzEQltXs0V2jfFfJwHVDjitdrDDg=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:content-type; b=BMNRlXSoqfPbNxCWNyh+wvgFDdH979/GVNZ5Ld41BBzA9LK/mpNW4cGD609JoHrv1m l1w8K9XUeHk4hblD4NOwGgNUsT4L+zURJdu9uMIOw9eONFWT/ZpoYQXWe79VmOKLO0pp OpPrn2KPM3e4r4AM4t52UNWkfopQpkcKPuJ88=
Hey very cool stuff! I want a more in-depth look at the conference!
A
On Wed, Feb 17, 2010 at 4:57 PM, Hauke Heibel
<hauke.heibel@xxxxxxxxxxxxxx> wrote:
> Hi,
>
> I created a fork with an initial implementation of Eigen based
> B-Splines. It is located over here:
> http://bitbucket.org/hauke/eigen_splines/
>
> The splines have three template parameters; Scalar type, dimension and
> (optional) degree. Manually defining the degree allows us to prevent
> heap allocations.
>
> Currently I have implemented the following functions (ReturnByValue
> will be abbreviated as rbv):
>
> --------------------
>
> /* ctor */
> Spline::Spline(const Vec& knots, const Mat& ctrls)
> template <int OtherDegree>
> Spline::Spline(const Spline<Scalar, Dimension, OtherDegree>& spline)
>
> /* const access */
> const Vec& Spline::knots() const
> const Mat& Spline::ctrls() const
>
> /* spline value */
> rbv Spline::operator(Scalar u) const
>
> /* derivative order+1 derivative points */
> rbv Spline::getDerValues(Scalar u, int order) const
>
> /* no heap allocs, derivative order+1 derivative points */
> template <int DerivativeOrder>
> rbv Spline::getDerValues(Scalar u, int order = DerivativeOrder)
>
> /* non-zero basis functions */
> rbv Spline::basisFunctions(Scalar u) const
>
> /* (order+1) - by - (degree+1) non-zero basis function derivatives */
> rbv Spline::basisFunctionDerivatives(Scalar u, int order)
>
> /* no heap allocs, (order+1) - by - (degree+1) non-zero basis function
> derivatives */
> tempalte <int DerivativeOrder>
> rbv Spline::basisFunctionDerivatives(Scalar u, int order = DerivativeOrder)
>
> int Spline::degree() const
> int Spline::span(Scalar u) const
>
> --------------------
>
> I'll be adding least-squares fitting soon and I am happy regarding any
> kind of feedback and proposals regarding the interface...
>
> Cheers,
> Hauke
>
>
>