《入门经典》——8.4

  几道基于叉积的简单数学题目:

 

  Q:参考图片,现直角坐标系第一象限的整数点视为果树,现在我们给出三角形的三个点坐标,那么请问有多少棵果树被包在这个三角形当中(包括边界上的)。

 

  分析:其实这是一道很典型的基于穷举和叉积的计算几何问题,叉积在几何问题中应用非常广,在这里就用作点定位。具体的原理笔者已经在《计算几何及其应用》的专栏或者参考“计算几何讲义”这个专栏给出,它在计算面积、推导n凸边形的面积计算公式中都起着重要的作用。

  对于这道问题,基于给出三角形的三个点我们能够首先维护出一个较大的矩形,然后枚举矩形边界和内部的所有点,判断该点是否在三角形区域然后顺便计数即可。

  然而具体到代码实现上,如何用叉积进行操作呢?

  这里设待判断的点是O,外框三角形是△ABC,那么简单的讨论一下O点所在位置,我们就能够发现,如下的表达式能够表达O点在三角形内部。

 

                           

posted on 2016-08-04 09:41  在苏州的城边  阅读(161)  评论(0编辑  收藏  举报

导航