Main Page | Report this Page
 
   
Science Forum Index  »  Math - Numerical Analysis Forum  »  Vectorfield...
Page 1 of 1    
Author Message
Oliver Zind...
Posted: Sun May 04, 2008 4:01 am
Guest
Hi,
I am searching a numeric solution for the following problem:

I have a number of vectors (20 for example). These vectors define a
vector field. Now I want to calculate vectors "between" the definition
vectors.

So my question is:
How can I calculate numericly vectors of a vectorfield which was
defined by a number of given vectors ?

Thanks in advance
Oliver
Peter Spellucci...
Posted: Mon May 05, 2008 12:51 am
Guest
In article <481d7a23.4792500 at (no spam) news.t-online.de>,
Oliver.Zind at (no spam) web.de (Oliver Zind) writes:
Quote:
Hi,
I am searching a numeric solution for the following problem:

I have a number of vectors (20 for example). These vectors define a
vector field. Now I want to calculate vectors "between" the definition
vectors.

So my question is:
How can I calculate numericly vectors of a vectorfield which was
defined by a number of given vectors ?

Thanks in advance
Oliver


if you have nothing than just a set of vectors and no additional
structure (say a parameter which varies in generating them)
then the only way I see is the following:
provided you know at least which is the initial and which the end
point ("vector" means this) and an "order" (which one is number
1,2,.....) then you could connect pairwise the initial and the end points.
this introduces 2(n-1) connection lines for n vectors.
these connection lines are now parameterized by their length.
and say you want a vector in the "middle" between vector i and i+1,
then take the middle point in the connection line of the initial
coordinates and the middle point in the connection
of the end points and connect them by a vector: this is the interpolating
vector. hence, if

vec(i)= (P(i),Q(i)) i=1,...,n P(i) initial, Q(i) end-point of vector i

then your result will be

(lambda*P(i) + (1-lambda)*P(i+1), lambda*Q(i)+(1-lambda)*Q(i+1)) ,
0<=lambda<=1 , 1<=i<=n-1

some kind of piecewise linear interpolation ...

clearly you could go further in defining a smooth interpolation curve n space for
the initial and the end points, and then connect the points there, but maybe
this is overshooting

hth
peter
aruzinsky...
Posted: Mon May 05, 2008 6:50 am
Guest
On May 4, 3:01 am, Oliver.Z... at (no spam) web.de (Oliver Zind) wrote:
Quote:
Hi,
I am searching a numeric solution for the following problem:

I have a number of vectors (20 for example). These vectors define a
vector field. Now I want to calculate vectors "between" the definition
vectors.

So my question is:
How can I calculate numericly vectors of a vectorfield which was
defined by a number of given vectors ?

Thanks in advance
Oliver

Each vector component, in effect, forms an image. Similarly, a color
image is, in effect, a vector field. As such, you have a very large
selection of image processing algorithms for inpainting and
interpolation to chose. Google "image inpainting".
Peter Spellucci...
Posted: Thu May 08, 2008 5:17 am
Guest
In article <4822d4ce.14912687 at (no spam) news.t-online.de>,
Oliver.Zind at (no spam) web.de (Oliver Zind) writes:
Quote:

if you have nothing than just a set of vectors and no additional
structure (say a parameter which varies in generating them)
then the only way I see is the following:
provided you know at least which is the initial and which the end
point ("vector" means this) and an "order" (which one is number
1,2,.....) then you could connect pairwise the initial and the end points.
this introduces 2(n-1) connection lines for n vectors.
these connection lines are now parameterized by their length.
and say you want a vector in the "middle" between vector i and i+1,
then take the middle point in the connection line of the initial
coordinates and the middle point in the connection
of the end points and connect them by a vector: this is the interpolating
vector. hence, if

vec(i)= (P(i),Q(i)) i=1,...,n P(i) initial, Q(i) end-point of vector i

then your result will be

(lambda*P(i) + (1-lambda)*P(i+1), lambda*Q(i)+(1-lambda)*Q(i+1)) ,
0<=lambda<=1 , 1<=i<=n-1

some kind of piecewise linear interpolation ...

clearly you could go further in defining a smooth interpolation curve n space for
the initial and the end points, and then connect the points there, but maybe
this is overshooting

I am not sure if I understand this correctly. I understand how to get
a vector couple. The vector inbetween the two vector can now be
interpolated by connecting the beginning and the end of the coupled
vectors. But isn't that only possible when the interpolated vector
lays directly on the line between the start and the end points ? What
about the vector which are not directly on these connection lines ?

Greetings
Oliver

forget it: you obviously don't have an ordered set of vectors and want
to interpolate between to successives, but you seem to have a unstructured set
of 3D vectors. the idea with RGB assumes you can associate the 3 values with
a pixel in a 2D area: again this means that you need some structure in this
vector set? so: what is the structure in this data set: i could guess
each vector represents a point of a surface in 3d?
hth
peter
Oliver Zind...
Posted: Thu May 08, 2008 5:31 am
Guest
Quote:
if you have nothing than just a set of vectors and no additional
structure (say a parameter which varies in generating them)
then the only way I see is the following:
provided you know at least which is the initial and which the end
point ("vector" means this) and an "order" (which one is number
1,2,.....) then you could connect pairwise the initial and the end points.
this introduces 2(n-1) connection lines for n vectors.
these connection lines are now parameterized by their length.
and say you want a vector in the "middle" between vector i and i+1,
then take the middle point in the connection line of the initial
coordinates and the middle point in the connection
of the end points and connect them by a vector: this is the interpolating
vector. hence, if

vec(i)= (P(i),Q(i)) i=1,...,n P(i) initial, Q(i) end-point of vector i

then your result will be

(lambda*P(i) + (1-lambda)*P(i+1), lambda*Q(i)+(1-lambda)*Q(i+1)) ,
0<=lambda<=1 , 1<=i<=n-1

some kind of piecewise linear interpolation ...

clearly you could go further in defining a smooth interpolation curve n space for
the initial and the end points, and then connect the points there, but maybe
this is overshooting

I am not sure if I understand this correctly. I understand how to get
a vector couple. The vector inbetween the two vector can now be
interpolated by connecting the beginning and the end of the coupled
vectors. But isn't that only possible when the interpolated vector
lays directly on the line between the start and the end points ? What
about the vector which are not directly on these connection lines ?

Greetings
Oliver
Oliver Zind...
Posted: Thu May 08, 2008 5:31 am
Guest
Quote:
Each vector component, in effect, forms an image. Similarly, a color
image is, in effect, a vector field. As such, you have a very large
selection of image processing algorithms for inpainting and
interpolation to chose. Google "image inpainting".

This is a very interesting idea. In fact we have a 3 dim vector space
so we can compare this with a RGB value from an image. I will google
this. Perhaps i find a solution.

Thanks

Greetings
Oliver
Oliver Zind...
Posted: Fri May 09, 2008 1:33 am
Guest
Quote:
forget it: you obviously don't have an ordered set of vectors and want
to interpolate between to successives, but you seem to have a unstructured set
of 3D vectors. the idea with RGB assumes you can associate the 3 values with
a pixel in a 2D area: again this means that you need some structure in this
vector set? so: what is the structure in this data set: i could guess
each vector represents a point of a surface in 3d?

The general idea is a transformation from one 3 dim space to an other
3 dim space. I want to transform real 3 dim datas which I measured to
target values. That means I measure a three dim datas and I have for
each data a target value where it have to be. It is to calibrate a
measurement system. You have real datas of a measurement of a
predefined target and you have the datas from a reference measurement.

So it is nothing else that a calibration. I tried several different
possibilities in the last months but I didn't find the 100% solution.
Now I thought, that a set of 3 dim real values and target values are
nothing else than a vector field. If it is possible to make a numeric
calculation of that vector field it will be possible to improve the
calibration.

It is "only" neccessary to find a way to calculate vectors which are
lying between other vector.

cu
Oliver
Peter Spellucci...
Posted: Fri May 09, 2008 3:54 am
Guest
In article <4823ee66.1297328 at (no spam) news.t-online.de>,
Oliver.Zind at (no spam) web.de (Oliver Zind) writes:
Quote:

forget it: you obviously don't have an ordered set of vectors and want
to interpolate between to successives, but you seem to have a unstructured set
of 3D vectors. the idea with RGB assumes you can associate the 3 values with
a pixel in a 2D area: again this means that you need some structure in this
vector set? so: what is the structure in this data set: i could guess
each vector represents a point of a surface in 3d?

The general idea is a transformation from one 3 dim space to an other
3 dim space. I want to transform real 3 dim datas which I measured to
target values. That means I measure a three dim datas and I have for
each data a target value where it have to be. It is to calibrate a
measurement system. You have real datas of a measurement of a
predefined target and you have the datas from a reference measurement.

So it is nothing else that a calibration. I tried several different
possibilities in the last months but I didn't find the 100% solution.
Now I thought, that a set of 3 dim real values and target values are
nothing else than a vector field. If it is possible to make a numeric
calculation of that vector field it will be possible to improve the
calibration.

It is "only" neccessary to find a way to calculate vectors which are
lying between other vector.

cu
Oliver



well, you have in principle a vector filed : x in R^3 -> F(x) in R^3
but no analytical form of F, only the information for input x=x(i)
the outcome should be y(i) (=F(x(i)).
now you what to model that F. a hard task, indeed.

one proposal : consider F as locally linear
and try this:

given some x , collect from your set of x(i) a sufficient number
of vectors "nearby" x. if the data set is large, this itself is a costly task,
in that case simply to compute all euclidean distances and sorting might
be already prohibitive, but well , for the beginning do that.
"sufficiently many means" there are at least 3 linearly independent
x(i), x(j), x(k) (dependent of the given x) but some more (say six
vectors or so)
might be advisable in order to cope with measurements errors.
then solve

x = sum _{i} alpha(i) x(i)

in the least squares sense
(if you have only three x(i),x(j),x(k) then this is an exactly sovable linear
system, otherwise you get a least squares solution, take the minimum norm
leats squares solution which is unique)

then take as F(x) def= sum _{i} alpha(i) F(x(i))

(this assumes that "near" x F can be sufficiently well approximated by a
linear map. )

least squares software is to be found here

http://plato.asu.edu/sub/nonlsq.html

(lapack/dgelss )
hth
peter
 
Page 1 of 1       All times are GMT - 5 Hours
The time now is Fri Dec 05, 2008 7:39 am