我是想找一个快速的方法,求斜率的先不说,比如按点到直线的距离为0,点到直线的距离好象就有快速算法,比如用点乘什么的,请大家帮忙,谢谢
解决方案 »
- 发一个自绘菜单DLL库(仅3个函数实现)
- 诚心请各位朋友讲解一下VC的数据库编程技术,刚刚接解数据库编程,觉得很好,欲用。请说一下这方面的入门。
- 简单问题,送分!
- 关于cryptoapi解析p12证书的问题
- 请教各位大虾:VC6 MSComm 发送非String的带0的二进制数据如何做?急!
- 在VC中如何利用ODBC向SQLServer中一次插入大量数据。
- 使用activeskin控件,在程序中如何动态加载与卸载皮肤?
- sutdent是一个结构体,我定义student * stu[1000],然后stu=(student *)calloc(1000,sizeof(student));报错!
- 300! 说话算数! WINDOWS有一大堆 没有公开的函数! MSDN 上没有,就是有写的也很不详细,我到那里能找到这方面比较全面的资料啊!
- 如何编程用鼠标移动没有标题栏的对话框?
- CListCtrl的排序问题
- 求助!
#define LEFT_LINE 1
#define ON_LINE
#define RIGHT_LINEtypedef struct tagDoublePoint
{
double x;
double y;
}DoublePoint;//判断点p在直线p1->p2的哪一边
//返回左LEFT_LINE(1),线上ON_LINE(0),右RIGHT_LINE(-1)
int PreftoL(DoublePoint p, DoublePoint p1, DoublePoint p2)
{
DoublePoint v1, v2;
Double Z; //计算矢量v1=p1->p2
v1.X=p2.X-p1.X;
v1.Y=p2.Y-p1.Y; //计算矢量v2=p1->p
v2.X=p.X-p1.X;
v2.Y=p.Y-p1.Y; //计算矢量v1,v2的叉积的Z坐标
Z=v1.X*v2.Y-v1.Y*v2.X;
//如果Z坐标大于0则在左,小于0则在右,等于0则在线上
if(Z > JSWUCHA)
return LEFT_LINE;
else if(Z < -JSWUCHA)
return RIGHT_LINE;
else
return ON_LINE;
}