Make your own free website on





Vectors are built into the HP 48 and are handy tools for programming in Surveying.

What are vectors ?

Probably most of you know already. A simple definition is that the vector between two points is simply the difference in co-ordinates between the two points. The rows and columns of a matrix are referred to as row and column vectors. In the matrix context the vector can be any dimension.

Dimension just refers to the number of elements in the vector. We shall just be dealing with two and three dimensional vectors.

On the HP 48 a three dimensional vector looks like [22.56 56.892 14.201] & a two dimensional looks like [52.2 55.893]

How to create vectors

See chapter 13 in the user manual for the full treatment. Do the following key in 45.36 ENT key in 25.631 ENT Now press MTH VECTR V2. [ 45.36 25.631 ] should now be displayed on your calculator. For three dimensional vector put three numbers on the stack and press V3 instead of V2.

As stated before, vectors are objects and can be stored and manipulated the same as all other objects.

The use of vectors.

On the HP 48 the vectors can be used in the normal mathematical sense. ie. the addition of vectors, dot product and cross product. They can also be used to build matrices.

As an exercise try creating vectors and using some of the above commands. (See chapter 13 of the owners manual)

Surveying use of vectors

Some unusual problems in Surveying can be solved by using vectors.

Problem 1

You are required to find the RL of both the inlet & outlet of a sewer manhole. Because of the position of the opening at the top, it is impossible to hold a level staff vertical.


Hold a reflector rod so that the bottom point is on the point where the RL is required. The rod will not be vertical. Brace the rod so that it cannot move and extend it to the maximum. Say 2.000 meters. Take a shot on the prism and record bearing, distance and vertical difference. ( Or use a data recorder.) Keeping the rod braced in the same position, slide the reflector down to the lowest position that can be seen. Say 1.500 meters. Again take a shot and record the same data.

Calculate the co-ords of both positions. Enter the low co-ords into the calculator as a vector B Now enter the high co-ords as a vector T

Then the vector pointing downwards parallel to the rod is = B - T. (Simple subtraction). Press ENT so that the vector appears twice on the stack. Use the function ABS found under vectors. Now the distance between the two shots will be displayed. Simply press the divide key and now a unit vector parallel to the rod will be displayed.

Press ENT so that the unit vector appears twice, key in 2.00 and press * ; a vector parallel and equal to 2.00 meters in length will appear. Key in vector T and press +. Now the co-ords of the point will appear as required.

For a check DROP the last result; the unit vector will reappear. Key in 1.500 and press * , key in B and press Again the co-ords required will appear. May be slightly different, should be no more than a couple of mills.

The above may seem a bit long winded. However if you run through the above and try and follow the logic behind it you will see that is really simple and straight forward. If you are going to use this idea frequently then it would be best to write a simple program. All the above commands can be programmed and you will see that writing a program for the above would be simple.

The above idea could be extended for use in other situations. eg. to pick up say the corner of a house that you cannot see directly. In this case the rod would be held out approximately horizontal.

It does not really matter what angle it is held at as long as it is held rigid ) Because you are projecting back a small distance along a relatively long rod; I doubt that high accuracy can be achieved by using this method.

A levelling staff can be used in the manhole situation. But it

should be kept in mind that the point of contact of the staff at

the bottom should be in line with the the two reflector positions.

I think some accuracy would be lost using a staff. ( A good topic

for a student to explore.

Use of the cross product.

Just to refresh your memory ; the cross product is one way of multiplying two three dimensional vectors. The result is another three dimensional vector at right angles to the plane of the first two vectors.

The sign for cross multiplication used in these notes will be #. The normal symbol is not available on every keyboard

Thus if we have two vectors A & B ; there cross product will be = A#B

Another convention I will use is that a Vector will be shown as A, its length a. Therefore if A#B = C, then ABS(A#B) = c


Let the angle between two vectors A & B be t.

Then sin(t) = ABS(A#B)


If A & B are parallel then, A#B = 0

A#B = -B#A

I will now introduce the concept of the Surveying cross product.

Let A = ( al, a2, 0 ) and B = ( b1, b2, 0

For the Surveying cross product I will use the symbol @

Now in this context A#B will always produce a vector as below

(0, 0, z)

Then the Surveying cross product is defined as below.

A@B = z = ab sin(t)


Note z is not the absolute value of the square off vector; it can be either +ive or -ive.


Note the convention adopted here is that ~ will represent a forward arrow

Key in the vector ( 45, 35, 0) ENTER

Key in the vector ( 22, 17, 0) ENTER

Press CROSS the vector ( 0, 0, -5 ) will appear

Press PRG press TYPE then OBJ

The stack will now show as below.




                                                                     { 3.00 }

press DROP and the Surveying cross product of -5 will appear.

Therefore the HP 48 program for the Surveying cross product would be as shown below.

<< ~ a b

<< a b CROSS OBJ ~



I have stored this program under SCROSS. The program must have two vectors on the stack. Look up the commands in the USER manual and try to work out what is happening. It is dead simply really. Try reversing the above vectors. The result should be 5.





The modern way of looking at road alignments is to store the road centre line in the form of chainage and offset co-ordinates. Initially IPs and curve radii are input. Then ordinary co-ords can be transformed into chainage offset co-ords, or vice versa. Which in turn enables a Surveyor to either set out a road formation or record as-con of the constructed road.

Essential in all this process is the ability of the calculator to determine the direction of the deflection of a curve. ie. if the curve deflects right or left. This is obvious if you plot the IPs; but it is not obvious to the calculator.

A simple test in this regard is to treat the two straights as vectors and take the @ product. The sign of this number will determine the direction of deflection. A -ive number indicates a deflection to the right and +ive to the left.


Finding the chainage and offset of a given point to a given baseline. For this we will use the above definition of the @ product, plus the more conventional dot product or inner product.

If we have two vectors A & B of lengths a & b respectively, and an angle of t between A & B. Then the following relationship holds for the dot product.

A.B = ab cos(t)

Therefore the two components need to be calculated to determine chainage and offset are.

Offset = A@B


& Chainage component = A.B


In this context b is the length of the baseline. Note the vectors must be two dimensional vectors for the above to work. If you use three dimensional vectors you will no longer be using the horizontal plane; which we use in plane Surveying. Strictly speaking you should not be able to get a cross product with two dimensional vectors. The HP 48 will give you a result. It assumes that there is a third component of zero value and this is just what we need.

As you can see the above is extremely simple.




For the third example we will try something unusual. This example gets away from the traditional horizontal plane used in plane Surveying.

Some time ago I was asked to check the alignment of a auger at one of the local sugar mills. The auger had three bearings; one at the bottom, one in the middle and one at the top. Top and bottom bearings were fixed. For the auger to function properly the middle bearing had to be exactly on line with the top and bottom bearings. If this alignment was not correct the middle bearing would eventually chew it self out.

Conventional methods could not be used. It was not possible to sight down a line parallel to the bearing. All that could be done was to pick the centres of all three bearings from radiations. To further complicate the problem the bearing was inclined to the horizontal by about 30 degrees. The mill wanted to know how much to shift the middle bearing. The shift had to be given in millimetres left or right and up or down square to the line of the bearing. Also the distance along the bearing from the bottom end.

This amounted to tilting the plane of reference from horizontal to one running through the bearing, then producing co-ords in relation to this plane. The offset could easily be calculated by conventional methods. The calculation for the amount up and down square to the main bearing and the chainage were more difficult.

See next page for diagram.