<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">Le 14/06/2018 à 18:22, Arnold Rots a
      écrit :<br>
    </div>
    <blockquote type="cite"
cite="mid:CAJXToE-JNhy+kXoy2ahHhOEsvuQJwEAad71=TXLgYw-geuv57w@mail.gmail.com">
      <div dir="ltr">
        <div>The downside is that this only applies to spherical
          celestial coordinate systems.</div>
      </div>
    </blockquote>
    You are right, my mistake. I should have talked about the z-axis
    unit-point (i.e. the point of coordinate (0, 0, 1)).<br>
    <br>
    Said differently to be more generic:<br>
    <br>
    the z-axis unit point is in the inside area of the polygon if it is
    on the left (or a better term to say (v1 x v2) . z &gt; 0) of the
    first edge whose support plane is not coplanar with the z-axis.<br>
    <br>
    (it is only an example of possible convention)<br>
    <br>
    The x-axis correspond to (lon, lat) = (0, 0)<br>
    The y-axis correspond to (lon, lat) = (pi/2, 0)<br>
    The z-axis correspond to (lon, lat) = (0, pi/2)<br>
    We suppose that we always use the right-hand rule.<br>
    <br>
    <blockquote type="cite"
cite="mid:CAJXToE-JNhy+kXoy2ahHhOEsvuQJwEAad71=TXLgYw-geuv57w@mail.gmail.com">
      <div dir="ltr">
        <div>And I maintain that it is a very bad idea to allow
          self-intersecting polygons.</div>
      </div>
    </blockquote>
    Sorry, but I am not sure to understand why.<br>
    <br>
    If we let a user the possibility to draw a polygon by hand on the
    sphere, why forbidding self-crossing polygons?<br>
    <br>
    E.g. in the TOPCAT 2D-plot, you are allowed to draw self-crossing
    regions.<br>
    Both as a TOPCAT user and as an implementor, I think this is the
    easier way to go in an application.<br>
    <br>
    &gt; the halfspaces used by the SDSS people provide a perfect and
    unambiguous way to specify any shape, with the exception of
    ellipses. <br>
    And the exception of HEALPix cells, and ...<br>
    <br>
     <br>
    <br>
    François-Xavier<br>
    <br>
    <br>
    <blockquote type="cite"
cite="mid:CAJXToE-JNhy+kXoy2ahHhOEsvuQJwEAad71=TXLgYw-geuv57w@mail.gmail.com">
      <div dir="ltr">
        <div><br>
        </div>
        <div>  - Arnold<br>
        </div>
      </div>
      <div class="gmail_extra"><br clear="all">
        <div>
          <div class="gmail_signature" data-smartmail="gmail_signature">
            <div dir="ltr">-------------------------------------------------------------------------------------------------------------<br>
              Arnold H. Rots                                         
              Chandra X-ray Science Center<br>
              Smithsonian Astrophysical Observatory                  
              tel:  +1 617 496 7701<br>
              60 Garden Street, MS 67                                   
                fax:  +1 617 495 7356<br>
              Cambridge, MA 02138                                    
                  <a href="mailto:arots@cfa.harvard.edu"
                target="_blank" moz-do-not-send="true">arots@cfa.harvard.edu</a><br>
              USA                                                   <a
                href="http://hea-www.harvard.edu/%7Earots/"
                target="_blank" moz-do-not-send="true">http://hea-www.harvard.edu/~arots/</a><br>
--------------------------------------------------------------------------------------------------------------<br>
              <br>
            </div>
          </div>
        </div>
        <br>
        <div class="gmail_quote">On Thu, Jun 14, 2018 at 9:13 AM,
          Francois-Xavier PINEAU <span dir="ltr">&lt;<a
              href="mailto:francois-xavier.pineau@astro.unistra.fr"
              target="_blank" moz-do-not-send="true">francois-xavier.pineau@astro.unistra.fr</a>&gt;</span>
          wrote:<br>
          <blockquote class="gmail_quote" style="margin:0 0 0
            .8ex;border-left:1px #ccc solid;padding-left:1ex"><span
              class=""><br>
              Le 13/06/2018 à 23:58, Markus Nullmeier a écrit :<br>
              <blockquote class="gmail_quote" style="margin:0 0 0
                .8ex;border-left:1px #ccc solid;padding-left:1ex">
                Hello list,<br>
                <br>
                On 13/06/18 10:05, Francois-Xavier PINEAU wrote:<br>
                <blockquote class="gmail_quote" style="margin:0 0 0
                  .8ex;border-left:1px #ccc solid;padding-left:1ex">
                  Example: if we take the case of a simple 4 vertices's
                  polygon having a<br>
                  butterfly shape (i.e. having two crossing great-circle
                  arcs), then the<br>
                  inside of one "wing" is in the counter-clockwise sense
                  while the inside<br>
                  of the other "wing" is in the clockwise sense.<br>
                </blockquote>
                Well, a definition that allows polygon edges to
                intersect would be<br>
                unsound, probably in several ways. One of them is the
                mentioned<br>
                inability to describe the complement of a polygon as a
                single polygon.<br>
              </blockquote>
            </span>
            Ok, a polygon (defined by a list of successive vertices)
            defines two complementary areas on the unit sphere.<br>
            To know which one is considered as being inside the polygon,
            why not taking a reference point like the North pole (N):<br>
            <br>
            If N is on the left side of the first great-arc of the
            polygon (mathematically, if ((vertex1 cross_product vertex2)
            scalar_product north pole) &gt; 0), then N is in the area
            considered as being inside the polygon, else it is in the
            outside area.<br>
            <br>
            <br>
            I see one possible complication:<br>
             if N is a vertex or on an edge of the polygon, then:<br>
             - the first edge must not contain N<br>
             - if N is considered as inside: the inside is defined by
            the area(s) on the left part of the edge(s) containing N<br>
             - if N is considered as outside: the inside is the
            complement of the area considering N inside<br>
            <br>
            This simple definition is able to deal with both simple and
            self-intersecting polygons.<br>
            <br>
            In attachment, 3 large polygons (2 self intersecting, and
            one having a surface area &gt; 2*pi): I adapted the
            following 10 lines of code (in 2d) to the spherical case (<a
href="https://wrf.ecse.rpi.edu//Research/Short_Notes/pnpoly.html"
              rel="noreferrer" target="_blank" moz-do-not-send="true">https://wrf.ecse.rpi.edu//Res<wbr>earch/Short_Notes/pnpoly.html</a>)<wbr>.<br>
            <br>
            Kind regards,<br>
            <br>
            <br>
            François-Xavier<br>
            <br>
            <br>
            <br>
            <br>
            <br>
          </blockquote>
        </div>
        <br>
      </div>
    </blockquote>
    <br>
  </body>
</html>