不规则图形 尖角转圆角

本文介绍了将不规则图形的尖锐边缘转换为圆角的算法步骤,包括选取三点A, B, C,计算射线向量,建立垂线坐标,确定圆心和半径,最后生成圆角点,实现视觉上的阴影美化。" 125225001,343751,理解与实现FCFS和SJF作业调度算法,"['调度算法', '操作系统', '软件工程', '作业控制', '编程实践']
摘要由CSDN通过智能技术生成

用于视线效果,不可见区域的阴影美化,将尖锐的阴影边缘柔和成圆角。
pre
cur
1. 取3个点A,B,C
2. 计算得到射线向量BA, BC
3. 射线BA, BC分别从B点沿射线方向,取若干距离的点作为垂线坐标点
4. 分别以垂点做垂线,并计算垂线的斜率
5. 已知一点与斜率,分别得出二者垂线的方程并计算两条垂线的交点。将交点设为圆心,半径是圆心到垂点的距离。
6. 确定了圆心之后,两个垂点之间的短弧,即是圆角。
7. 判断垂线的角度,取点移动的方向是逆时针。假如A点为逆时针的起始点,则从BA的向量角度递增至BC,逐间隔计算圆上的点
8. 根据圆心,半径,角度,逆时针逐间隔计算圆上的点
9. 将得到的点连接,即为圆角点。

void convertToCircle(std::vector<Vec2>& pointList)
{
    std::vector<Vec2> vecNewPoint;
    std::vector<Vec2>::iterator itrPt;
    std::vector<Vec2>::iterator itrPtPre;
    std::
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值