您的位置:首页 > 财经 > 产业 > 腾讯云网站搭建流程_网站建设的5个步骤是什么_如何优化seo技巧_搜索引擎优化方法与技巧

腾讯云网站搭建流程_网站建设的5个步骤是什么_如何优化seo技巧_搜索引擎优化方法与技巧

2024/10/6 8:35:07 来源:https://blog.csdn.net/hp150119/article/details/142514222  浏览:    关键词:腾讯云网站搭建流程_网站建设的5个步骤是什么_如何优化seo技巧_搜索引擎优化方法与技巧
腾讯云网站搭建流程_网站建设的5个步骤是什么_如何优化seo技巧_搜索引擎优化方法与技巧

        之前做过使用Dreamteck Splines插件构建车道线之前需求是给定车道线的点位,根据点位来进行构建。

        由于AI识别出来的点位不线性,画出来的车道线经常是歪七扭八,所以使用五阶曲线系数进行构建。

        使用在线图形计算器进行测试构建,公式为:

x=a+b*y+c*y^2-d*y^3+e*y^4

        我使用的测试系数为:

        a=1,b=0.01,c=0.005,d=0.0001,e=0

        代入后公式即为:

x=1+0.01y+0.005y^2-0.0001y^3+0y^4

        这里是输入y轴坐标点,返回结果为x坐标,想知道多远的点位坐标,将位置信息代入y即可。

构建出来的图形如下图所示,

        在unity中,将公式转为代码,输入五阶曲线系数数组,与y点的坐标,返回值为该坐标的x点坐标。即为:

 public float GetSplineX(float[] fit_params, float y_point){      return fit_params[0] + (fit_params[1] * y_point) + (fit_params[2] * (float)Math.Pow(y_point, 2.0)) - (fit_params[3] * (float)Math.Pow(y_point, 3.0)) + (fit_params[4] * (float)Math.Pow(y_point, 4.0));}

        初始化时构建车道线,创建Spline的物体

  private void CreatSplineMesh(){Spline_Render_Objs = new GameObject("Spline");Spline_Render_Objs.transform.localPosition = Vector3.zero;Spline_Render_Objs.transform.SetParent(base.transform);splineComputer = Spline_Render_Objs.AddComponent<SplineComputer>();splineComputer.type = Spline.Type.BSpline;//使用插件自带的Bspline效果划线,也可以选择贝塞尔曲线splineComputer.sampleRate = 5;splineComputer.sampleMode = SplineComputer.SampleMode.Uniform;splineComputer.space = SplineComputer.Space.Local;Spline_Render_Objs.AddComponent<MeshRenderer>().material = DottedLine_mat;//指定车道线材质SplineRenderer splineRenderer = Spline_Render_Objs.AddComponent<SplineRenderer>();splineRenderer.spline = splineComputer;splineRenderer.uvMode = MeshGenerator.UVMode.UniformClip;splineRenderer.uvScale = new Vector2(1f, 0.2f);splineComputer.RebuildImmediate();}

        在进行点位创建和赋值

for (int i = 0; i < y_distance; i++)//y_distance为具体想显示的长度
{x_Pos = GetSplineX(lane_info.lane_fit_params_left_5rd, i);SplinePoint m_point = new SplinePoint();m_point.position = pos;m_point.size = 0.5f;m_point.color = Color.white;splineComputer.SetPoint(_idx, m_point);
}

        构建出来的车道线如下图所示,这里只选择了0-39米的点位。

        目前车道线的长短可以根据Y轴的距离进行调整。

        但是若是遇到虚线+实线+虚线的车道线,该方法还有待升级(我也没想好咋整)

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com