根据面积法,如果P在三角形ABC内,那么三角形ABP的面积+三角形BCP的面积+三角形ACP的面积应该等于三角形ABC的面积。算法如下:
#include <iostream>
#include <math.h>
using namespace std;
#define ABS_FLOAT_0 0.0001
struct point_float
{
float x;
float y;
};
/**
* @brief 计算三角形面积
*/
float GetTriangleSquar(const point_float pt0, const point_float pt1, const point_float pt2)
{
point_float AB, BC;
AB.x = pt1.x - pt0.x;
AB.y = pt1.y - pt0.y;
BC.x = pt2.x - pt1.x;
BC.y = pt2.y - pt1.y;
return fabs((AB.x * BC.y - AB.y * BC.x)) / 2.0f;
}
/**
\* @brief 判断给定一点是否在三角形内或边上
*/
bool IsInTriangle(
constpoint_float A,
constpoint_float B,
constpoint_float C,
constpoint_float D)
{
floatSABC, SADB, SBDC, SADC;
SABC = GetTriangleSquar(A, B, C);
SADB = GetTriangleSquar(A, D, B);
SBDC = GetTriangleSquar(B, D, C);
SADC = GetTriangleSquar(A, D, C);
floatSumSuqar = SADB + SBDC + SADC;
if((-ABS_FLOAT_0 < (SABC - SumSuqar)) && ((SABC - SumSuqar) < ABS_FLOAT_0))
{
returntrue;
}
else
{
returnfalse;
}
}
在空间中,有两条线段,分别是线段AB和线段CD,它们的顶点坐标分别是A(x1,y1,z1),B(x2,y2,z2),C(x3,y3,z3);D(x4,y4,z4),请问如何求线段AB与线段CD的交点坐标?
问题内容: 在Android中,我有一个Path对象,我碰巧知道它定义了一条闭合路径,因此我需要弄清楚路径中是否包含给定点。我所希望的是一些类似的东西 但这似乎并不存在。 我要这样做的特定原因是因为我在屏幕上有一组形状定义为路径,并且我想弄清楚用户单击了哪个形状。如果有更好的方法来解决这一问题,例如使用不同的UI元素,而不是自己“艰难地”进行操作,我愿意提出建议。 如果需要的话,我愿意自己编写算法
本文向大家介绍判断一个链表是否为回文链表,说出你的思路并手写代码相关面试题,主要包含被问及判断一个链表是否为回文链表,说出你的思路并手写代码时的应答技巧和注意事项,需要的朋友参考一下 参考回答: 思路:使用栈存储链表前半部分,然后一个个出栈,与后半部分元素比较,如果链表长度未知,可以使用快慢指针的方法,将慢指针指向的元素入栈,然后如果快指针指向了链表尾部,此时慢指针指向了链表中间
描述 (Description) 字符类[az&&[^mp]]匹配从a到z的任何字符,除了m到p。 例子 (Example) 以下示例显示了字符类匹配的用法。 package com.wenjiangs; import java.util.regex.Matcher; import java.util.regex.Pattern; public class CharacterClassDemo {
我有以下功能: 此代码给出了
问题内容: 我已经非常努力地设法使位图覆盖屏幕。我也可以获取触摸输入,但是它可以在屏幕上的任何地方获取触摸输入。 我想知道如何检查触摸是否在屏幕上可见的位图上。 服务和视图类如下。我曾想过,但我想不出一种方法:( 问题答案: 考虑使用(或的任何其他子类)代替直接使用。因为您当前的方法实现不正确,这将导致您在显示子视图时遇到问题。 现在,更接近您的问题。您应该初始化并只存储您的的左,上,右和下位置。