## Manually compute the best VMC heading

I illustrated an efficient method of calculating VMG angles using a pseudo ‘binary search’ methodology, and will now do similarly for VMC. But first a few things on what exactly VMC is, and some helpful observations about the cosine function. Also note the following abbreviations:

• boatspeed = SOG (Speed Over Ground)
• heading = COG (Course Over Ground)
• target waypoint direction = WP_CC (Waypoint Compass Course)

And of course, TWS, TWD & TWA for true wind speed, direction and angle.
I will also assume basic sailing terminology is familiar to the reader.

When we consider a velocity, which is what we do when sailing, we have a direction (COG or CC) and magnitude (SOG or boatspeed). This gives us a vector quantity, which can be broken down into components along the x and y axes on a graph, or along latittude and longitude on a map. For example if we are heading NE: COG = 45, then we can consider our speed along the vertical and horizontal axes. In other words we can ask “How fast are we sailing E?” and “How fast are we sailing N?“, and this is a useful question if where we want to go is not directly NE. To find these values, we can use the trigonometric functions sine and cosine. We use (in this instance) cosine for the Easterly component and sine for the Northerly. A simple diagram will help here:

Right-Triangle showing axial vector components

The black arrow is our velocity, and the green arrow is the component of that velocity due E, the red due N. Visually, a vector is an arrow with the direction indicated and magnitude shown as length. Now, we can also rotate these component axes however we like, as long as they stay at rightangles to each other. So when we wish to know exactly how fast we are moving directly toward a target (that is not straight ahead), it is most convenient to rotate the axes such that the original horizontal (green) coincides with a rhumbline course to our target. To keep things simple, I will just use an example where due E is the target we are trying to maximise our speed toward, or the rotation angle is 0. So, to find out exactly how fast we are travelling E (the length of the green line), we simply multiply our boatspeed by the cosine of the angle between our heading and target, which in this case is 45 degrees. This is what is known as VMC, which is short for Velocity Made (to) Course. When computing VMG, we are interested in how fast we are moving either upwind or downwind, which is precisely what we want to know when we are sailing a course with a mark directly upwind or downwind. To calculate VMG, we multiplied our boatspeed by the our TWA, which is just the difference between our heading and the wind direction or SOG * cosine(TWA) = SOG * cosine(TWD – COG). So, this is the formula when we want to know how fast we are sailing to windward (or leeward if downwind), and we can use the exact same formula to see how fast we are sailing toward a different target direction by substituting in that direction for TWD. In the example above, our COG is 45, and East is at CC 90, so we have: SOG * cosine(90 – 45) for our VMC towards the East. Often this is said “with respect to” whichever direction. To get an actual number, lets say we are currently sailing at 10kts so our VMC is 7.07kts “with respect to (the) East”. Now you might ask “But there is no mention of the wind direction here, or our TWA?”, but it is hidden in the calculation for SOG – ie our boatspeed on COG=45 will depend on the TWS & TWD. So the general formula for VMC is:

SOG * cosine(COG – WP_CC)

you will see below the order of the difference between COG and WP_CC doesnt actually matter, so all you need remember is to take the difference (angle?) between them.

You might also want to read 76Trombones’ excellent post on VMC, which has much prettier pictures than mine…

A few observations about the cosine function will help us to calculate the optimum COG to maximise VMC, especially to do so more intuitively with more experience, and these are:

1. The cosine function is 1, when the input angle is 0. The implication of this is that when we are heading directly toward out target waypoint, then COG – WP_CC = 0, which means that our boatspeed IS our VMC, which makes sense when you look back at the triangle diagram, and imagine the black and green arrows are in the same direction.
2. cosine(A) = cosine(-A). The cosine of any angle is exactly the same if we take the negative of that angle. This is why I said above that it makes no difference which you put first, COG or WP_CC when taking the difference, because A – B = -(B – A). In fact usually people tend to swap depending on the values, so that they get a positive result. So in the example above, in our heads it is easiest to think “WP_CC – COG” as this gives us +45, whereas CC – WP_CC results in -45. But for doing these calculations it makes no difference which way you do it.
3. The cosine of 90 degrees, is 0. This just says mathematically, that if you are sailing at right-angles to your target, you aren’t getting any closer – SOG * 0 = 0 !
4. The value of the cosine function decreases as the angle increases from 0 to 90 degrees, or 0 to PI / 2 in radians. So what this means is that the larger the angle between COG and WP_CC, less of our boatspeed is taking us in the target direction. This is a natural consequence of points 1 & 3. Furthermore, the further away from 0 the angle, the faster the cosine approaches 0. ie the difference between cosine(0) and cosine(10) is only 0.0152, but the difference betwen cosine(80) and cosine(90) is 0.1736, over 11 times as much for the same change in angle!

So, armed with this we are ready to calculate the angle which will maximise the speed at which we sail toward any given direction, ie VMC. All you need for this is a Calculator (software or handheld), Schakel’s DC Calculator (DCC) open to the ‘Boatspeed’ tab, and something to write with/on (or a text editor). For this example, we will stick with a target direction of due East, use the IMOCA polar and actual weather in SOL as I am writing this: TWS=5.3 kts, TWD = 278.7 degrees. Enter these into the DCC, and just leave them.

Now, the first direction we should try is sailing directly toward our target COG=90. When we put this into DCC we find a SOG of 4.9kts, and as we are heading directly at our target this is also our VMC, and we write this down, just 90=4.9 will do. Now the next question is whether to point higher or lower. Well, we can just try a bit either side of this heading and see what we get. Lets try 10 derees and we get for COG=80 -> BS=5.5kts so VMC = 5.5 * cosine(90-80) = 5.42kts and for COG=100 -> BS=4.6 and VMC = 4.6 * cosine(90-100) = 4.53kts, so it is pretty clear we will need to point UP (more North) to increase our VMC. Be careful here as a lower SOG does not always result in a lower VMC – for example upwind on the non-favoured tack, VMC is increased by pinching (pointing slightly higher than the max VMG angle) but that is a different calculation.

So now we know which direction to look, how to narrow in on the best angle? Well, we simply compute the VMC for a course well away from the direct route. We know if we go as far as 90 degrees away our VMC will be 0, and intuitively if the max VMC angle is more than about 45 degrees away, then we are either beating or running, or we need to be sailing so far off course for some other reason like better conditions in a few days on a long leg like Legs 3, 4 and 5 of the IMOCA Global Challenge. All these are outside the scope of this article, so we will stick with COGs within 45 degrees of our target. So what does a COG of 45 result in? Plugging 45 into DCC shows we would sail at a SOG of 8.2kts, and our VMC is 8.2 * cosine(90-45) = 5.80 kts. If you really want you can take an angle further out and check, doing so for COG=35 gives 8.9 & 5.10 for SOG and VMC respectively, which is < 5.8 kts. Record “45=5.80”.

So, now we can employ our ‘halving’ strategy to this calculation. We know the optimum is somewhere between 45 and 90, so check bang in the middle: 67.5 and DCC tells us our boatspeed here is 6.2kts, * cos(22.5) = 5.73kts VMC. Write down “67.5=5.73“.

Now we have 3 VMC values, for 3 different COGs. What we do now is to take the 2 largest and split them down the middle or take the average – here it is 45 and 67.5, and the angle to use next is (45+67.5)/2 = 56.25 degrees. DCC shows a SOG of 7.2kts,  multiply by cosine (90-56.25) = * cosine(33.75) = 5.99kts… We are getting East faster! Recording this and repeating gives us angle of 50.63 (between 56.25 & 45 – our 2 best angles so far) which has a SOG of 7.7kts and *cos(39.37)=5.95kts VMC. One more iteration (for a total of 5) yeilds a VMC of 5.94 at 53.44 degrees, and the change in our new computed value is almost zero, which means we have found an answer. We have VMC=5.99kts at COG=56.25 and the next largest value occurs at COG=50.63 with a VMC of 5.95. At this level of accuracy we are starting to deal with INaccuracies between different methods of calculating the SOG, so we cant really hope to get better, and also we have found a range of angles where the VMC only varies by 0.04kts or < 0.85% of the SOG! Now to decide exactly what angle to sail on, we think back to where we are trying to maximise VMC toward which is East or 90, and pick the angle closest to that, which here is 56.25. So, in only 5 iterations we have calculated this as the optimum angle to sail to within less than 1% error – not including 2 calculations to tell us whether to point up or down, and the original direct course. And in practice, you would probably skip the last iteration and say “Its about 56 degrees” once you compute the 4th iteration to be so close, but to illustrate here I did the extra calculation. So all up, that is 7 cosines and multiplications, and plugging 7 COGs into DCC, likely only 5 once you get a feel for whether to point up or down without actually performing a calculation – about 3 minutes with practice…

So again, the general strategy is to check the direct course, then find out whether to point up or down (and with experience doing this you can tell visually from the polar). Then take a heading/COG 45 degrees in that direction, and iteratively split the 2 headings that give you the maximum VMCs computed so far, recording the results as you go.

Happy Calculating 😉

NOTE – if you write a spreadsheet to automate this calculation, you will need to convert all angles input to the cosine function into radians. This is simple enough as most spreadsheets will have a “to radians” or TORAD function, but incase you are interested is is simply ANGLE * PI / 180. And possibly follow a completely different method, ie compute for all twa’s and then use a MAX function ??

Indeed Schakel just today posted an article on how to create a spreadsheet to calculate VMG, and with a little imagination and ingenuity (both?) vmc can quite easily be added following the same method. Read it here.