Open main menu

Difference between revisions of "SCI/FreeSCI/Pathfinding/Semantics"

Linkify and formatting fixes
(Merging of the FreeSCI Pathfinding documentation. Work in progress.)
 
(Linkify and formatting fixes)
Line 26: Line 26:
As mentioned earlier, we never encountered a near-point access polygon in a game. Therefore we can only speculate as to the reason for turning near-point access polygons into total access polygon. A possible explanation might be that starting in a near-point access polygon could cause Ego to walk off into a different direction than the user had indicated. We have no plausible explanation for why they are turned into total access polygons, rather than being removed altogether.
As mentioned earlier, we never encountered a near-point access polygon in a game. Therefore we can only speculate as to the reason for turning near-point access polygons into total access polygon. A possible explanation might be that starting in a near-point access polygon could cause Ego to walk off into a different direction than the user had indicated. We have no plausible explanation for why they are turned into total access polygons, rather than being removed altogether.


As mentioned in Sierra's pathfinding patent section olygon edges along the display border should not be part of the path that is returned by AvoidPath. We determined that this also goes for vertices along the display border, as illustrated in Figure [*]. The dotted line shows the path that would have been taken if the polygon were not touching the display border. We also determined that polygon edges along the display border are ignored when it comes to computing the near point. This is illustrated in Figure [*]. <i>t'''</i> is the near point in this case and not <i>t'</i> or <i>t''</i>, even though both are closer to <i>t'</i> than <i>t'''</i> is.
 
==Display border==
As mentioned in [[SCI/FreeSCI/Pathfinding/Patent#Sierra.27s_pathfinding_patent|Sierra's pathfinding patent]] section, polygon edges along the display border should not be part of the path that is returned by AvoidPath. We determined that this also goes for vertices along the display border, as illustrated in Figure [*]. The dotted line shows the path that would have been taken if the polygon were not touching the display border. We also determined that polygon edges along the display border are ignored when it comes to computing the near point. This is illustrated in Figure [*]. t′′′ is the near point in this case and not t′ or t′′, even though both are closer to t than t′′′ is.


==Containment test==
==Containment test==
The containment test takes as input a point <i>p</i> and a polygon <i>P</i> and determines if <i>p</i> is contained in <i>P</i>. This is obviously the case if <i>p</i> lies on the inside of <i>P</i>. However, it was unclear if points that lie exactly on an edge of <i>P</i> are considered to be inside or outside of <i>P</i>. With a modified version of the experimentator we determined that the former is the case.
The containment test takes as input a point <i>p</i> and a polygon <i>P</i> and determines if <i>p</i> is contained in <i>P</i>. This is obviously the case if <i>p</i> lies on the inside of <i>P</i>. However, it was unclear if points that lie exactly on an edge of <i>P</i> are considered to be inside or outside of <i>P</i>. With a modified version of the <tt>experimentator</tt> we determined that the former is the case.


==Vertex ordering==
==Vertex ordering==
236

edits