三角形的有向面积公式+菜园求树问题

       
    假设菜园里面的果树是按照平面坐标系来排列的,坐标系的x,y都是一系列的整数,我们这里假设为1~10的整数。现在在这个平面系中输入任意三点(在10,10之内)组成一个三角形,求三角形所包围的树的个数(树就是坐标系的整数点)。

    如果我们把这个问题简化一下,很明显就是在求一个点是在三角形内部还是在外部,所以我们可以采取遍历坐标系中的所有点,看这些点是在三角形的内部还是外部(包括在线上的点)

    要求一个点是否在三角形内部,这就需要用到三角形的有向面积计算公式了。所谓三角形的有向面积计算公式,就是指:从第一点开始,用前一点横坐标减后一点横坐标与两坐标之和的乘积求梯形面积,直到完成多边性的封闭,得到三角形的有向面积。此时,如果求出的值是正的(S>0),则得出A->B->C为逆时针,否则为顺时针。

    感觉这样很麻烦,还要求梯形的面积等,所以可以用一种更简单的方法来求三角形的有向面积。这里我们假设平面坐标系中的三点为:A(x1,y1) B(x2,y2) C(x3,y3),那么有向面积的公式就是(x1*y2+x2*y3+x3*y1-x1*y3-x2*y1-x3*y2)/2。如果算出来这个数字是大于0,那么A,B,C三个点构成的三角形为逆时针的,否则为顺时针的。

    这里我们假设A(3,5),B(4,1),C(1,1)来算下三角形的有向面积。根据上面的公式就有3+4+5-3-20-1=-12,再除以2得到-6。所以三角形的有向面积为-6,而且根据上面所说的正数与负数的关系,
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值