Post by iconPost by Le_Grand_DIC | 2016-11-17 | 20:43:25

Cvetan, does the routing acknowledges the red line below which the speed is "strongly reduced" ? I know it's not easy because the latitude varies. But as of today there is a problem because the route is very close to Saint Helene, itself close to the red line.

commenticon 66 Comments
Post by iconPost by Michel | 2016-11-18 | 00:38:30
May be that VR club house is out !
I never understand why VR had a largest scale on all navy event !
LiveSkipper had a better play since 2006 BWR but unknown or not top of game play knowlewdge.
Post by iconPost by zezo | 2016-11-18 | 12:16:39
The reason is simple - they pay the official races to have the game linked from the official race page.
Post by iconPost by LaRe-Belle | 2016-11-18 | 09:43:44
Good morning Cvetan it seems that the weather does not correspond this morning. Thank you for your work!
Post by iconPost by zezo | 2016-11-18 | 12:21:35
Could be. I don't see huge differences now.

The wind is expected to differ somehow - Let's say 2-3 degrees in direction and 0.2 knots in speed.

If you see bigger difference please let me know the place where it happened.
Post by iconPost by zezo | 2016-11-18 | 12:26:51
I added the penalty as it was described one year ago (decrease below 60S, zero speed at 61):

if (pos->lat <= D2R (-60))
if (pos->lat <= D2R (-61))
penalty = 0;
penalty *= (0.75 + (R2D (pos->lat) + 60) / 2);
Post by iconPost by jacenty67 | 2016-11-18 | 13:59:54
Hi Cvetan!

On VR map it looks like we can't go below 40, not 60...
And this is not o straight line...
Post by iconPost by zezo | 2016-11-18 | 14:04:54
This is for the Sodebo challenge.

For the Vendee I've just added the first 4 points of the line as ice gates. It may not be enough to keep the routing strictly above the red line, but I'll think of something when it comes to it.
Post by iconPost by Anthony | 2016-11-18 | 15:50:42
bonjour pourrait on avoir l'ancien point d'arrivé de zezo juste avant la mise a jour avec les 4 points car ma route n'est plus coherente!cordialement .
Post by iconPost by zezo | 2016-11-18 | 16:23:35
You should probably go with Ice 3 or Ice 4 as destination at this point of the race.
Post by iconPost by WaterHammer | 2016-11-23 | 18:00:51
Hi Cvetan,
any new developments on the exclusion of the ice zone? Currently the routing dives quite deep south of it between the gate points implemented by you.
Many thanks and fair winds!
Post by iconPost by finbarro | 2016-11-23 | 21:39:11
Cvetan, are you going to exclude the area of ice (ice exclusion zone) from the routing? I set my destination as "Ice 1" but the routing shows me going further south again after "Ice 1" to "Ice 2". Will this greatly reduce my speed??
Maybe you could shade the Ice Exclusion Zone and we would then know exactly where to avoid.

BTW Thanks for all the great work.

Post by iconPost by zezo | 2016-11-24 | 21:48:48
I will do something about it some day, but there are other issues right now.
Post by iconPost by jago3813 | 2016-11-25 | 13:15:00
Hi Cvetan,

If you do not mind, I may suggest something...

First of all, I assume that the IcePoints are sorted (increasing longitude, periodicity to be managed).
Using the maximum latitude of the Ice Points - or a majoration of it, you can just let the algorithm go if the position latitude is greater than this value.
If not, then look for the IcePoint (IPk) for which the longitude is smaller than pos->long AND next IcePoint (IPk+1) has a longitude greater than pos->long. Once this is found, just check the sign of the cross-product (IPkIPk+1) with (IPkPos):

(IPk+1->long - IPk->long)*(pos->lat-IPk->lat) - (IPk+1->lat - IPk->lat)*(pos->long-IPk->long)

if it is positive, the point is in acceptable position, if not it is in the Ice Exclusion zone.

Of course, it has approximations (the earth is no planar (...)) but it should be acceptable. What is not clear to me is what could be the cost of such computation embedded in your algorithm/optimization.
What I propose is also assuming that the exclusion zone is convex. It is easy to adapt to non-convex case (which would me that the IcePoints cannot be sorted according to increasing longitude), with a bit more opertions to be performed.

Thanks for what you are doing with this tool, I really enjoy using it!

Post by iconPost by zezo | 2016-11-25 | 14:07:28
Thanks. I was thinking about the same type of solution.

For a relatively big (say > 10) number of points it could actually be faster than the static checks that I'm using now if combined with binary search of the needed data.
Post by iconPost by jago3813 | 2016-11-25 | 15:13:19

If you have any doubts/questions, or if you are facing issues with what I proposed, let me know!

Post by iconPost by jago3813 | 2016-11-25 | 17:56:04
Even quicker and more precise could be the following:
The exclusion zone latitude is a function of the longitude (there is one single exclusion latitude for any longitude value). If you can generate the exculsion latitude for let's say each 1 degree of longitude (it could be each 0.5, or whatever), then no need to locate in a sorted list the current valid interval, a direct evaluation from the longitude value will give it (integer part in case of 1 degree step). Then you just make a linear interpolation of the latitudes of the 2 bounds of your interval, and compare current position's latitude with the computed "exclusion latitude".

Post by iconPost by joebar | 2016-11-25 | 18:32:08
These are the coordinates of the ice limits as (long,lat). I measured a point every 5 degrees in longitude.

[(-180, -55), (-175, -55.5), (-170, -55.5), (-165, -55), (-160, -54), (-155, -53), (-150, -53), (-145, -53), (-140, -53), (-135, -53), (-130, -53), (-125, -53), (-120, -53.5), (-115, -54), (-110, -54.5), (-105, -55), (-100, -55.5), (-95, -56.25), (-90, -57), (-85, -58), (-80, -58.5), (-75, -58.5), (-70, -58), (-65, -57), (-60, -56), (-55, -55), (-50, -53), (-45, -51), (-40, -48), (-35, -46), (-30, -45), (-25, -44), (-20, -43), (-15, -42), (-10, -40.5), (-5, -41.25), (0, -42), (5, -42.25), (10, -42.5), (15, -42.75), (20, -43), (25, -43.5), (30, -44), (35, -44.5), (40, -45), (45, -45), (50, -45), (55, -46.5), (60, -49), (65, -50), (70, -50.5), (75, -50), (80, -50), (85, -50), (90, -49), (95, -48), (100, -47), (105, -46), (110, -46), (115, -46), (120, -46), (125, -47.83), (130, -49.67), (135, -51.5), (140, -51.5), (145, -51.5), (150, -52), (155, -52.5), (160, -53), (165, -53.5), (170, -54), (175, -54.5)]
Post by iconPost by zezo | 2016-11-25 | 18:32:51
I like this approach. Come to think of it, I manage the boat polars exactly this way - preliminary interpolation down to 1
knot (with external program) and then a table lookup with a linear interpolation:

i = (int) wind;

wind1 = i;
wind2 = i+1;

return v1+(v2-v1)*(wind-wind1)/(wind2-wind1);
Post by iconPost by jago3813 | 2016-11-25 | 19:56:35
I do not know how you got the Ice Exclusion definition. If you want to use the one given by "joebar", just append at the of the array the first value, changing its longitude to +180. Then, code could be like:

int step = 5; // Depends on the definition you have

int index = ((int)(pos->long + 180.))/5;

double lat1 = exclusion_lat[index];
double lat2 = exclusion_lat[index+1];
double long1 = -180. + index*step;

return lat1 + (lat2 - lat1)*(pos->long - long1)/step;

I am not so sure about what the cast to (int) is doing, but it should be correct as we will aply on positive values.

Post by iconPost by flyman44 | 2016-11-27 | 23:42:03
Post by iconPost by flyman44 | 2016-11-27 | 23:50:15
Hi Cvetan. May be stupid approach but why not modify directly yhe wind map by a standart oparation from layout. for each wind map 'AND' 0 or 1 from layout? No need to change routine then..
Just need to create the new wind map with exclusion zone..


0 is the exclusion zone.
PS. Many thanks for all of your work..;) So grateful..
Post by iconPost by zezo | 2017-12-07 | 21:18:13
Closing the inadvarent italic tag.
Post by iconPost by guigui | 2016-11-25 | 17:35:19
A way to do it would be to add a landmass south of the line, like a new continent.
More drawing, less math. It's not a very "elegant" solution but it would make the job.

That's what I did for VRTOOL. VRTOOL uses a black and white BMP image for collision detection. I modified the BMP file with a black continent south of the line.
I used a crude BMP because my computer can't handle the big original file, but hey, it works. I just have to look for the small islands...
Post by iconPost by jago3813 | 2016-11-26 | 09:25:06
Hi Cvetan,

the gap between IcePoint2 and IcePoint3 is really too big (I am not far from IP2 now): is it possible to add intermediate points if you do not implement what is proposed?
Many thanks,

Post by iconPost by Sachafenestraz | 2016-11-26 | 09:37:17
Hi Cvetan,
I have a problem, when i configurate the boat the zezo is letting me pass under the Exclusion line.. like picture below
Thank you!
Sacha Fenestraz
Post by iconPost by THOR250 | 2016-11-26 | 13:33:10
Hi Cvetan,

Nous avons un problème, la route proposé va dans la zone d'exclusion, comment peut on faire ?

merci d'avance pour la réponse

Je vous adresse toutes mes félicitations pour votre travail , c'est super, génial, vous êtes formidable

good weekend

Post by iconPost by laurent-r | 2016-11-28 | 08:38:11
Weldone Cvetan .
Ice Exclusion is here, great job, thank you !
Post by iconPost by petole | 2016-11-28 | 08:53:59
Thank You Cvetan ! You made it !!
Post by iconPost by zezo | 2016-11-28 | 09:02:09
The exclusion zone is here. I have to check some details, but should work in general.

Thanks to all people who helped with suggestions and data, especially to joebar for the nice array and everything else - it saved me a lot of time.
Post by iconPost by jago3813 | 2016-11-28 | 11:12:15
Hi Cvetan,

Really nice job, thanks a lot.

Post by iconPost by flyman44 | 2016-11-28 | 11:22:32
Donation Done !! .. Tks a lot..
Flyman 44
Post by iconPost by flyman44 | 2016-11-28 | 11:22:34
Donation Done !! .. Tks a lot..
Flyman 44
Post by iconPost by Alexblond2005 | 2016-11-28 | 20:25:59
Very nice Job. Zezo, you are the real winner of this race! And VR would have to thank you also...
Best regards
Post by iconPost by Inicio | 2016-11-28 | 09:20:13
Thanks Thanks! Thanks Thanks!
Post by iconPost by mathfdb | 2016-11-28 | 09:25:53
thanks a lot!
Post by iconPost by THOR250 | 2016-11-28 | 10:22:46
Thanksssssssssssssssssssss :) great
Post by iconPost by WaterHammer | 2016-11-28 | 10:23:48
Fantastic Cvetan! Looking really good! Many thanks for your efforts.
Post by iconPost by Peperazzi | 2016-11-28 | 10:57:12
Cvetan. Merci beaucoup. J'admire vraiment votre travail. C'est formidable.
Post by iconPost by flyman44 | 2016-11-28 | 11:18:05
Great Cvetan. Super nice job!!.. Works fantastic.!!.
Post by iconPost by NORTHKOREAN | 2016-11-28 | 11:25:16
Excellent ZEZO, it works perfectly, I hope you'll win virtual vendee globe!!
Post by iconPost by hardy2 | 2016-11-28 | 13:37:13
Merci vous êtes trop fort,Cordialement
Post by iconPost by flop-13 | 2016-11-28 | 18:33:13
Thanks a lot, but I think it's not exactly the same Red line following Virtual Regatta ... currently I put some one waypoint, with your point, and in VR I was in exterior of the red line.

Post by iconPost by zezo | 2016-11-28 | 19:30:07
The red line should be pretty close, but there will be differences if you schedule a change with a fixed TWA course because the wind is slightly different. But I'm working on that too.

When sailing close to the red line your ultimate source should be the game interface.
Post by iconPost by michgoapp | 2016-11-29 | 14:08:49
il semble que la zone d'exclusion des glaces ne soit pas la même sur VR. Lorsque je me positionne à la position VR, je me retrouve sous la ligne rouge? et ne peux plus calculer d'itinéraire.
Merci pour votre travail.
Post by iconPost by WaterHammer | 2016-11-29 | 15:30:01
I think the red line in the router follows the great circle path (orthodrome) between the spanning points (every 5 degrees I believe). This means that halfway the red line in the router is about 0.5 nm lower than the red line in the game, which seems to be a rhumb line (loxodrome). You can also observe this by the small kink in the line at the spanning points. Beware!
Post by iconPost by zezo | 2016-11-29 | 18:00:22
It's neither - in fact it's linear interpolation between the latitudes of the 5-degree points. Should be closer to the loxodrome, but not the same.

On the other hand we have no idea what is the implementation used in the game engine.

BTW the web interface should not be trusted too much either (probably due to rounding errors of the wind direction, and maybe because of new forecasts replacing the old ones too). My boat went under the red line last night with a programmed heading change, and I have left some distance to be safe.
Post by iconPost by WaterHammer | 2016-11-30 | 09:06:08
Excellent! Thank you!
Post by iconPost by 92gege56 | 2016-11-29 | 18:16:46
Encore bravo à Cvetan pour la rapidité d'implémentation de son algorithme.
Près de la ligne d'exclusion, il est délicat de se tromper de minute de changement de bord.
Mais au fait, à quelle minute les calculs sont-ils faits dans VR?
exemple si zezo indique 17h30, le réglage doit-il être fait à 27, 28 29, 30, 31 ou autre?
Merci encore pour cet outil magnifique.
Post by iconPost by michgoapp | 2016-11-29 | 20:28:07
Bonsoir Cvetan, je suis actuellement sur VR positionné en 8E37'48" et 42S09'29". Sur VR je suis au dessus de la zone d'exclusion, et sur zéro je me retrouve bien en dessous de cette limite, le routage est alors impossible. Avez vous une explication? ou une solution?
Post by iconPost by michgoapp | 2016-11-29 | 20:29:17
Pardon, sur Zezo je voulais dire sur mon post précédent!
Post by iconPost by zezo | 2016-11-29 | 21:22:27
Hmm I see 8E37'48" 42S09'29" well above the ice limit here.

The red line for Longitude 8E38 is at 42S25 in both places.
Post by iconPost by michgoapp | 2016-11-30 | 19:08:28
Merci beaucoup, tout fonctionne, j'ai du faire une erreur.
Post by iconPost by Beaware | 2016-11-30 | 19:29:16
Thank you for the work done. Congratulations, keep it up. Donated ok :)
Post by iconPost by KKAOSS | 2016-12-12 | 01:27:08
lost the exclusion zone MON DEC 12 @ 00:20 CET
Post by iconPost by KKAOSS | 2016-12-12 | 01:31:59
the RED LINE is Back ? dec 12 @ 00:30 hmmmm vendee globe ice exclusion lines (zone) all good
awesome Cvetan!
Post by iconPost by zezo | 2016-12-12 | 01:33:55
Working late at night.

It was only the user interface, the router knew about it.

Guess it's time to go to bed.
Post by iconPost by Inicio | 2016-12-12 | 09:28:43
Post by iconPost by Flying Dutchman | 2017-12-07 | 16:38:22
Hello Cvetan,

Just joint your site. Looks amazing. I was looking for na English forum for some time as the club house seems French only:)

Regarding the Antarctic Ice Exclusion zone can anyone tell me if this is implemented in the VR 2017-2018 too? Can't find any notifications about it in VR. Do we have to follow all the sailing instructions of the Volvo Ocean in this regard?

Thanks for your reply
Flying Dutchman
Post by iconPost by zezo | 2017-12-07 | 17:15:07
There is no ice limit defined a the moment. The game interface will show a red line if they add it later (which has happened before)
Post by iconPost by YourMomSA | 2017-12-07 | 21:06:29
I asked in the VR forum a week or so ago, and they confirmed there won't be an ice limit.

That doesn't mean they don't suddenly change their mind... but the question has been asked and answered... so hopefully it's a firm answer.
Post by iconPost by zezo | 2017-12-07 | 21:20:48
That probably means they haven't implemented the feature server-side yet. Because the interface is capable of displaying ice limits, but then our friend nsp wold deliberately step over the line and see that it does nothing ;-)
Post by iconPost by Ursus Maritimus | 2017-12-07 | 23:44:51
like my basketballcoach used to say: 'if the ref don't whistle, it's allowed ..'
Post by iconPost by Flying Dutchman | 2017-12-07 | 17:28:51
Ok, thanks , will keep it in mind they might add it later.
Post by iconPost by toxcct | 2017-12-07 | 18:30:20
Cvetan, I guess someone opened a "[ i ]" tag in this thread, but forgot to close it.
That breaks the page display below, and the menu on the right as well, displaying italic everywhere ^^

Post by iconPost by zezo | 2017-12-07 | 18:36:22
And now you opened another ;-)
Post by iconPost by zezo | 2017-12-07 | 18:36:41

It's actually part of the code above v1=polar_chart[angle] is 2-dimensional array ;-)
Topics list
Copyright 2009 by ZEZO.ORG. All Rights Reserved.