Opened 4 years ago

Last modified 4 years ago

#286 new defect

Detect re-start after taking first turnpoint

Reported by: Joerg Ewald Owned by: Joerg Ewald
Priority: major Milestone: 2014
Component: FsComp Version: 2013 R3
Keywords: Cc:

Description (last modified by Joerg Ewald)

Brian Harris reports:

I want to report a small problem: It concerns a start crossing in task 1 and I don't think FS handles it correctly.

Task 1 had 2 start gates

Pilot 6 Christian Voiblet was scored on his first crossing of the start, so was given the 1st start time, but he came back and crossed it again, and should have been given the second start gate.

FS gives his valid start crossing at point 2009 time 15:00:41

But his last crossing into the start was point 3281 at 15:21:53 so this should have given him the second start.

It may be a slightly unusual occurence, as he took the start and the first WP before returning and taking the start again, in order to use the later start time. It could be crossing into the first WP has led to the problem?

Attachments (2)

STA_class1.fsdb (61.4 KB) - added by Joerg Ewald 4 years ago.
Christian voiblet.6.igc (752.8 KB) - added by Joerg Ewald 4 years ago.

Download all attachments as: .zip

Change History (5)

Changed 4 years ago by Joerg Ewald

Attachment: STA_class1.fsdb added

Changed 4 years ago by Joerg Ewald

Attachment: Christian voiblet.6.igc added

comment:1 Changed 4 years ago by Joerg Ewald

Description: modified (diff)

comment:2 Changed 4 years ago by Joerg Ewald

My reponse to Brian: FS will definitely not find a re-start after you have a valid crossing for the first subsequent cylinder after SSS.

Some background: You probably are familiar with all the crossings for each turnpoint, they are listed in the FsComp window of FS. To find the valid crossings, we search for a path through those crossings that “makes sense”, meaning, it goes from the last turnpoint that was crossed all the way back to the start, and the times for those crossings are in the right order.

To do this, for all turnpoints except SSS, we always look for the earliest crossing that makes such a path possible. For SSS, it’s the last one. And because, in Christian’s case, there is a valid path through all his turnpoints with the first set of crossings for TP3 (the ones at or after 15:05:42), the later path is not considered.

To change that, we would have to repeat this path-finding procedure to find out if we can find a valid path also after a later start time.

comment:3 Changed 4 years ago by Joerg Ewald

This is what needs to change:

The current algorithm (implemented in method FindPathThroughCrossings? in FsTaskFlight?.Flight) works great for race to goal tasks with a single start gate. For elapsed time races and race to goal tasks with multiple start gates, it needs to be modified. In both cases, the algorithm needs to run several times instead of only once as we do now:

Race to Goal with multiple start gates:

  1. Run FindPathThroughCrossings? with all crossings
  2. If the result is positive (we found a path) and the path goes through all the turnpoints (pilot reached goal): Remove all crossings for SSS that are before the second start gate. Then repeat FindPathThroughCrossings?.
  3. Continue for later start gates, as long as FindPathThroughCrossings? results in a complete path though all turnpoints.
  4. The last set of crossings resulting in a complete path is the one that must be used for scoring.

Elasped time race:

  1. Run FindPathThroughCrossings? with all crossings
  2. If the result is positive (we found a path) and the path goes through all the turnpoints (pilot reached goal): Remove all crossings for SSS up to and including the one that was used for this path. Then repeat FindPathThroughCrossings?.
  3. Continue, removing the earliest crossing for SSS, as long as FindPathThroughCrossings? results in a complete path though all turnpoints.
  4. The last set of crossings resulting in a complete path is the one that must be used for scoring.
Note: See TracTickets for help on using tickets.