当前位置: 首页 > news >正文

做网站费用走什么科目卓天商务怎么入驻

做网站费用走什么科目,卓天商务怎么入驻,互联网推广销售,新站优化案例Chaikin算法——计算折线对应的平滑曲线坐标点 本文将介绍一种计算折线对应的平滑曲线坐标点的算法。该算法使用Chaikin曲线平滑处理的方法#xff0c;通过控制张力因子和迭代次数来调整曲线的平滑程度和精度。通过对原始点集合进行切割和插值操作#xff0c;得到平滑的曲线坐… Chaikin算法——计算折线对应的平滑曲线坐标点 本文将介绍一种计算折线对应的平滑曲线坐标点的算法。该算法使用Chaikin曲线平滑处理的方法通过控制张力因子和迭代次数来调整曲线的平滑程度和精度。通过对原始点集合进行切割和插值操作得到平滑的曲线坐标点集合。实验结果表明该算法能够有效地平滑折线并且具有较高的精度和可控性。 文章目录 Chaikin算法——计算折线对应的平滑曲线坐标点引言算法算法流程Chaikin曲线平滑处理 实验与结果测试1验证不同迭代次数下的算法结果测试2观察不同张力因子下的算法结果 结论参考资料 引言 在计算机图形学和数据可视化领域平滑曲线的生成是一个重要的问题。平滑曲线可以使得数据更加易于理解和分析同时也可以提高图形的美观性。折线是一种常见的曲线表示方法但是折线本身具有较高的噪声和锯齿状的特点需要进行平滑处理。本文提出了一种基于Chaikin曲线平滑处理的算法可以将折线转化为平滑的曲线。 算法 算法流程 流程的具体步骤如下 检查输入的坐标点集合的合法性确保至少有3个坐标点。对输入的参数进行范围约束确保迭代次数大于等于1张力因子在0到1之间。将张力因子映射到0.05到0.45之间以便在计算切割距离时使用。迭代计算使用Chaikin曲线平滑处理的方法对坐标点集合进行处理。返回平滑后的曲线坐标点集合。 /// summary/// 计算折线对应的平滑曲线坐标点/// /summary/// param namepoints坐标集合/param/// param nametension张力因子[0,1]用于控制曲线的平滑程度。张力因子越小时切割点会越靠近线段的起始点反之会靠近线段的结束点。/param/// param nameiterationCount迭代次数用于控制曲线平滑的精度/param/// returns/returns/// exception crefArgumentException/exceptionprivate ListPoint SmoothCurveChaikin(Point[] points, float tension 0.5f, byte iterationCount 1){// 坐标点合法性检查if (points null || points.Length 3){throw new ArgumentException(至少需要3个坐标点。, nameof(points));}// 参数范围约束iterationCount Math.Max(iterationCount, (byte)1);tension Math.Max(tension, 0);tension Math.Min(tension, 1);// 参数的限制在0到1之间是为了简化参数的使用和理解。将张力因子的取值范围映射到0到1之间使得参数的范围更加直观和易于控制。// 通过将张力因子乘以0.4并加上0.05可以将0到1之间的参数映射到0.05到0.45之间以便在计算切割距离时使用。// 张力因子在这里用于控制曲线的平滑程度。具体来说张力因子定义了线段半长切角距离的一个尺度取值范围在0.05到0.45之间。// 当张力因子为0.5时相当于使用了经典的Chaikin算法即将每个线段切割成四分之一和四分之三的两个点。这样可以保持曲线的对称性。double cutdist 0.05 (tension * 0.4);// 迭代计算ListPoint lst points.ToList();for (int i 1; i iterationCount; i){lst SmoothChaikin(lst, cutdist);}return lst;}Chaikin曲线平滑处理 Chaikin曲线平滑处理是一种基于切割和插值的方法通过对线段进行切割和插值操作得到平滑的曲线。 具体步骤如下 添加第一个点即原始点集合的第一个点。将每一个点拆分成前后两个点通过计算切割距离参数和原始点的坐标进行插值计算。添加插值计算得到的两个点。添加最后一个点即原始点集合的最后一个点。返回平滑后的曲线坐标点集合。 /// summary/// 对点集合进行Chaikin曲线平滑处理/// /summary/// param namepoints要进行平滑处理的曲线的原始点/param/// param namecuttingDist切割距离参数用于定义线段切割的尺度。取值范围通常在0.05到0.45之间用于控制曲线的平滑程度/param/// returns/returnsprivate ListPoint SmoothChaikin(ListPoint points, double cuttingDist){// 添加第一个点ListPoint nl new ListPoint { points[0] };// 将每一个点拆分成前后两个点Point q, r;for (int i 0; i points.Count - 1; i){q new Point((int)Math.Round(((1 - cuttingDist) * points[i].X cuttingDist * points[i 1].X)),(int)Math.Round(((1 - cuttingDist) * points[i].Y cuttingDist * points[i 1].Y)));r new Point((int)Math.Round((cuttingDist * points[i].X (1 - cuttingDist) * points[i 1].X)),(int)Math.Round((cuttingDist * points[i].Y (1 - cuttingDist) * points[i 1].Y)));nl.Add(q);nl.Add(r);}// 添加最后一个点nl.Add(points.Last());return nl;}实验与结果 为了验证算法的有效性和可靠性我们进行了两组测试。 测试1验证不同迭代次数下的算法结果 测试步骤 将张力因子设置为0.5。调整迭代次数为1、2、3。对比不同迭代次数下的算法结果。 测试2观察不同张力因子下的算法结果 测试步骤 将迭代次数设置为1。调整张力因子为0、0.2、0.4、0.6、0.8。观察不同张力因子下的算法结果。 本算法在不同的参数设置下进行了实验得到了不同平滑程度和精度的曲线。实验结果表明当张力因子较小时切割点会靠近线段的起始点曲线的平滑程度较低当张力因子较大时切割点会靠近线段的结束点曲线的平滑程度较高。迭代次数的增加可以提高曲线的平滑精度但也会增加计算的时间复杂度。实验结果还表明本算法能够有效地平滑折线并且具有较高的精度和可控性。 结论 本文介绍了一种计算折线对应的平滑曲线坐标点的算法。该算法使用Chaikin曲线平滑处理的方法通过控制张力因子和迭代次数来调整曲线的平滑程度和精度。实验结果表明该算法能够有效地平滑折线并且具有较高的精度和可控性。未来的工作可以进一步优化算法的性能和扩展算法的应用范围。 参考资料 2D Polyline Vertex Smoothing
http://www.hkea.cn/news/14564344/

相关文章:

  • 做网站一排文字怎么水平对齐文章做模板 wordpress
  • 企业自适应网站制作书签制作简单漂亮
  • 网站开发中的api指什么i织梦cms网站
  • 通化市住房和城乡建设局网站建设银行个人网银登录
  • 饰品公司网站建设方案广告设计专业有哪些
  • 网站登录注册页面模板下载传媒公司运营是干嘛的
  • 学校网站做几级等保山东省建设厅网站首页
  • 网站布局方法app网站怎么制作
  • 网站落地页怎么做股权分配系统建设网站
  • 南京哪些公司做网站软文推送
  • 沈阳网站建设思路网站手机访问 动易
  • 哪家公司制作网站wordpress更换文章背景色
  • 汕头企业建站中国城乡住房建设部网站
  • 网站建设与维护论文wordpress 多人编辑器
  • 网站开发php支付接口网站对图片优化吗
  • 手机大型网站服务器有了网站怎么做
  • 重庆綦江网站制作公司推荐长春建设网站
  • 织梦做双语网站著名的wordpress主题
  • 旅游包车网站最新模板百度知道个人中心
  • 内网网站建设的必要性做旅游海报的软件或是网站
  • 兰溪好品质高端网站设计指纹锁在什么网站做宣传好
  • 怎么在百度上搜到自己的网站红酒哪个网站做的好
  • 上海做响应式网站的公司天津建网站
  • 衡水网站建设联系电话如何能让网站尽快备案通过
  • 现在帮人做网站赚钱吗淮北论坛官网
  • 公司网站域名注册百度收录排名好的网站
  • 加上强机关网站建设管理的通知wordpress 手机无菜单
  • 毕业设计网站建设题目网络运维工程师简历怎么写
  • 网站关键词太多切实加强网站建设
  • 孝义网站开发公司做app和网站怎样