第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定

iOS 如何判斷一個點(diǎn)在圓、方框、三角形區(qū)域內(nèi)?

標(biāo)簽:
iOS

如何判断一个点是不是在方框(CGRect)、圆(Circle)、三角形(Triangle)内呢?

1.方框

//苹果官方方法可以判断+ (BOOL)point:(CGPoint)point inSquareArea:(CGRect)rect {    return CGRectContainsPoint(rect, point);
}

2.圆

//圆心到点的距离>?半径+ (BOOL)point:(CGPoint)point inCircleRect:(CGRect)rect {    CGFloat radius = rect.size.width/2.0;    CGPoint center = CGPointMake(rect.origin.x + radius, rect.origin.y + radius);    double dx = fabs(point.x - center.x);    double dy = fabs(point.y - center.y);    double dis = hypot(dx, dy);    return dis <= radius;
}

3.三角形

//点都否在三边线的右边?这个应该不是最优解+ (BOOL)point:(CGPoint)point inTriangleVertexPointsArea:(NSArray<NSValue *> *)vertexPoints {    if (vertexPoints.count == 3) {        CGPoint point0 = [vertexPoints[0] CGPointValue];        CGPoint point1 = [vertexPoints[1] CGPointValue];        CGPoint point2 = [vertexPoints[2] CGPointValue];        
        BOOL b0 = [self sign:point point1:point0 point2:point1] < 0.0f;        BOOL b1 = [self sign:point point1:point1 point2:point2] < 0.0f;        BOOL b2 = [self sign:point point1:point2 point2:point0] < 0.0f;        return ((b0 == b1) && (b1 == b2));
    }    return NO;
}

+ (CGFloat)sign:(CGPoint)point0 point1:(CGPoint)point1 point2:(CGPoint)point2 {    return (point0.x - point2.x) * (point1.y - point2.y) - (point1.x - point2.x) * (point0.y - point2.y);
}



作者:紧张的牛排
链接:https://www.jianshu.com/p/50382cd74f92


點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評論
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊有機(jī)會得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號

舉報

0/150
提交
取消