请教编程高手,一个简单的程序!

来源:百度知道 编辑:UC知道 时间:2024/05/29 09:47:45
给出三角形三个点的坐标,要求是按顺时针方向画出来,请问如何判断构成三角形的三个点的顺序是顺时针还是逆时针,用C语言,谢谢

补充:我用的是最常见的直角坐标系

typedef struct
{
double x;
double y;
} Point;

double det(double x1, double y1, double x2, double y2)
{
return x1*y2 - x2*y1;
}

double cross(Point a, Point b, Point c)
{
return det(b.x-a.x, b.y-a.y, c.x-a.x, c.y-a.y);
}

设a,b,c是顺序输入的三个点
记AB,AC为向量ab,ac
如果(AB叉乘AC)大于零,那么c点在向量AB,小于零在右边,等于零共线
(注意double数和0比较的方法)

设三点为p1(x1,y1),p2(x2,y2),p3(x3,y3),则:
当y1<y2 && y1<y3,
x2>x1>x3时 顺时针;
当y1<y2 && y1<y3,
x3>x1>x2时 逆时针;

坐标系采用左上角为原点。

自己在程序中加上根据点的坐标换算来判断

C不能可视化 你怎么检验 啊???