QT笔记- 利用QLine::center()函数获得直线上均匀分布的点的坐标集合

//获得直线内的点, 不包括首尾点, 当点个数sum等于2的整数次幂时, 返回的点是绝对均匀分布的.
void MapLabel::line_points(const QLine & line, int sum, QList<QPoint> * points)
{                                              
    if(sum < 1)
        return;
    QList<QLine> lines;
    lines << line;
    while(true){
        QList<QLine> lines_2;
        foreach (QLine var, lines) {
            *points << var.center();
            if(points->size() == sum)
                return;
            lines_2 << QLine(var.p1(), var.center()) << QLine(var.center(), var.p2());
        }
        lines = lines_2;
    }
}

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值