• <small id='z8PZ5'></small><noframes id='z8PZ5'>

    <tfoot id='z8PZ5'></tfoot>

      <i id='z8PZ5'><tr id='z8PZ5'><dt id='z8PZ5'><q id='z8PZ5'><span id='z8PZ5'><b id='z8PZ5'><form id='z8PZ5'><ins id='z8PZ5'></ins><ul id='z8PZ5'></ul><sub id='z8PZ5'></sub></form><legend id='z8PZ5'></legend><bdo id='z8PZ5'><pre id='z8PZ5'><center id='z8PZ5'></center></pre></bdo></b><th id='z8PZ5'></th></span></q></dt></tr></i><div id='z8PZ5'><tfoot id='z8PZ5'></tfoot><dl id='z8PZ5'><fieldset id='z8PZ5'></fieldset></dl></div>

        • <bdo id='z8PZ5'></bdo><ul id='z8PZ5'></ul>
        <legend id='z8PZ5'><style id='z8PZ5'><dir id='z8PZ5'><q id='z8PZ5'></q></dir></style></legend>
      1. 如何检查一个点是否低于一条线?

        时间:2023-09-12
        <tfoot id='orjPb'></tfoot>
        <i id='orjPb'><tr id='orjPb'><dt id='orjPb'><q id='orjPb'><span id='orjPb'><b id='orjPb'><form id='orjPb'><ins id='orjPb'></ins><ul id='orjPb'></ul><sub id='orjPb'></sub></form><legend id='orjPb'></legend><bdo id='orjPb'><pre id='orjPb'><center id='orjPb'></center></pre></bdo></b><th id='orjPb'></th></span></q></dt></tr></i><div id='orjPb'><tfoot id='orjPb'></tfoot><dl id='orjPb'><fieldset id='orjPb'></fieldset></dl></div>
          <tbody id='orjPb'></tbody>
          <bdo id='orjPb'></bdo><ul id='orjPb'></ul>
        • <legend id='orjPb'><style id='orjPb'><dir id='orjPb'><q id='orjPb'></q></dir></style></legend>
        • <small id='orjPb'></small><noframes id='orjPb'>

                  本文介绍了如何检查一个点是否低于一条线?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

                  问题描述

                  如何检查点是否低于线?

                  How can I check if a point is below a line or not ?

                  我有以下数据:

                  Line [ {x1,y1}, {x2,y2} ]
                  Points {xA,yA}, {xB,yB} ...
                  

                  我需要在python中编写一个小算法来检测线的一侧和另一侧的点.

                  I need to write a small algorithm in python to detect points on one side and the other side of the line.

                  谢谢

                  推荐答案

                  你可以尝试使用交叉产品 -- http://en.wikipedia.org/wiki/Cross_product.

                  You could try using a cross product -- http://en.wikipedia.org/wiki/Cross_product.

                  v1 = (x2-x1, y2-y1)   # Vector 1
                  v2 = (x2-xA, y2-yA)   # Vector 2
                  xp = v1[0]*v2[1] - v1[1]*v2[0]  # Cross product
                  if xp > 0:
                      print('on one side')
                  elif xp < 0:
                      print('on the other')
                  else:
                      print('on the same line!')
                  

                  您需要校准每一面的内容.如果您希望它位于下方";或以上"您需要确保线上的点是水平排序的.

                  You'd need to calibrate what each side is. If you want it to be "below" or "above" you need to ensure the points on the line are sorted horizontally.

                  我还没有测试过.

                  编辑我最初输入了点积公式.:o

                  Edit I initially put in the dot product formula. :o

                  编辑 2 哦,我将坐标放入集合而不是元组.如果您运行的是相当现代的 Python 版本,则对向量使用 namedtuple('point', 'x y') 会很好.

                  Edit 2 D'oh, I was putting the coordinates into a set instead of a tuple. Using namedtuple('point', 'x y') for the vectors is nice if you're running a reasonably modern version of Python.

                  幸运的是,我发现计算二维向量的叉积.

                  这篇关于如何检查一个点是否低于一条线?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!

                  上一篇:python中圆形中均匀间隔点的生成器 下一篇:3D 中的射线和正方形/矩形相交

                  相关文章

                  最新文章

                  1. <small id='pildI'></small><noframes id='pildI'>

                    1. <legend id='pildI'><style id='pildI'><dir id='pildI'><q id='pildI'></q></dir></style></legend>
                      <i id='pildI'><tr id='pildI'><dt id='pildI'><q id='pildI'><span id='pildI'><b id='pildI'><form id='pildI'><ins id='pildI'></ins><ul id='pildI'></ul><sub id='pildI'></sub></form><legend id='pildI'></legend><bdo id='pildI'><pre id='pildI'><center id='pildI'></center></pre></bdo></b><th id='pildI'></th></span></q></dt></tr></i><div id='pildI'><tfoot id='pildI'></tfoot><dl id='pildI'><fieldset id='pildI'></fieldset></dl></div>
                      <tfoot id='pildI'></tfoot>
                        <bdo id='pildI'></bdo><ul id='pildI'></ul>