Mathematics Stack Exchange is a question and answer site for people studying math at any level and professionals in related fields. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I think this is very simple but for me, it is confusing to figure out a way.

Here is my problem.

I have been given a 3d line segment list obtained from a field survey. So I know each end point coordinates. Also I have an aerial image with known orientation parameters.

First, I have extracted potential line features from the image using canney operator and then get end line coordinates. Then, from, known orientation parameters I have projected all 3d line segments into image space. Now, I want to find out how my projected line segments deviate from the canney line segments.

If I take corresponding line segment pairs, then they are not equal in length and also have a slight displacement and rotational deviation. Now, my problem is how to estimate whether any error pattern exist or not in these 2 line segment sets. As I am able to obtain all end point coordinates of both data, please consider this as 2d line segments (I don't have each pixel coordinates along the line segments).

Suggestions are welcome

share|cite|improve this question
up vote 1 down vote accepted

In general, you can obtain the angle formed by two vectors by using the dot product:

$$\mathbf{x}\cdot\mathbf{y} = \|\mathbf{x}\| \|\mathbf{y}\| \cos \theta.$$

You have a few options. You could compute this angle at the point where your lines intersect by considering $\mathbf{x}$ to be the vector from the intersection point to the endpoint of the first line, and $\mathbf{y}$ being the vector from the intersection point to the endpoint of the second line.

Alternatively, you could subtract one endpoint from the other, effectively translating the second line so its endpoint is coincident with the first line's, consider this the origin, and then compute the vector dot-product in that manner.

Finally, you could encode these lines in parameter space, and examine the deviation between the parameters.

Recall that a line is given by $y = ax+b$. Thus, all points on a line in Cartesian space are represented by a single point $(a,b)$ in parameter space.

share|cite|improve this answer
really thank you for the response. But, I am so poor to understand what you said. Seems the way you said is bit advance for me. it would be nice if I can estimate both rotational deviation and distance displacement of one line with respect to the other. and similarly for other pairs. At the end, calculate something like mean values of them.. could you please, explain in an easy way. thank you. – niro Apr 2 '13 at 10:34
I am again back to this problem. could you please explain your answer in a simple way. in your way, how could i express a mean rotational and displacements...any idea please. – niro May 4 '13 at 21:13

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.