如何确定三点共线???
给出代码
30分
给出代码
30分
解决方案 »
- 如何在cxGrid1DBBandedTableView 控件中将小数显示成百分数
- 求助,关于Sybase事务中的执行和查询操作的Delphi实现
- cxLookupComboBoxEx问题,比如下拉的列是中文的,输入的时候只能一个字一个字的输入。如何解决?
- 请教关于table.locata的用法
- SQL语句
- ADO对access操作后DBGrid的更新问题
- 网络平台这个光鲜的肥皂泡越来越肥了
- 自定义控件中如何给一个TStrings类型的属性赋初试值?
- 如何开发MIS+OA的系统
- delphi7 小白跪求大神,窗体关闭时提醒保存的问题
- 我用spcom做了一个串口通讯软件,用一会就不通讯了,不知哪位有高
- 问一个简单的问题:在一些语句中经常会看到$37之类的语句,什么意思?是代表几进制
如果x1/y1 = x2/y2 = x3/y3 则三点共线!
x1,y1,x2,y2,x3,y3 :float;
begin
if x1/y1 = x2/y2 = x3/y3 then ....//若不合你意则作差,看差的绝对值的范围!
else ....end;
if (Y1*Y2*Y3<>0) then
if (x1/y1=x2/y2) and (x2/y2 = x3/y3) then
//共线
if Y1=0 and Y2=0 and Y3=0 then
//共线
呵呵~~~~~~~~~
X1/0不错就用鬼了!!
if (y1<>y2) and (y3<>y2) then
if (x2-x1)/(y2-y1)=(x3-x2)/(y3-y2) then //斜率相同
//共线
if (y1=y2) and (y2=y3) then //水平时
//共线
if x1=x3 then
showmessage('在同一直线上')
else
showmessage('不在同一直线上')
else
if x2=x3 then
showmessage('不在同一直线上')
else
if (y2-y1)/(x2-x1)=(y3-y2)/(x3-x2) then //判断(x1,y1)与(x2,y2)
//组成的直线的斜率是否与(x2,y2)与(x3,y3)组成的斜率相等
showmessage('在同一直线上')
else
showmessage('不在同一直线上');