记录二维直线的斜率和截距

catalog

Base

当:斜率k可能是小数  或  截距b可能是小数时
   其实,我们仍可以用double来存直线!!
   但是需要设置一个eps精度!! 只要小于误差,就当做是:double值相同
' 注意, 垂直线的斜率 不存在!! 所以,对垂直线(甚至平行线k==0)的 都特殊处理 '   
   
vector< pair<double, double> > A;

A.PB( {
   k, b} );   ' 放入:斜率 和 截距 '

sort(A.begin(), A.end());

for(i, 0, n-1, 1){
   
	if(i == 0) ++ ans;
	else{
   
		if( DB_EQUAL(A[i].FIR, A[i-1].FIR) &&
			DB_EQUAL(A[i].SEC, A[i-1].SEC)
			continue;
		++ ans;
	} // DE_EQUAL(a,b){  return fabs(a-b) <= EPS; }
	' 1, 两个double的差,比eps还小。 说明,他俩可以看做是相同的 '
    '
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值