三维曲线(Hermate、Bezier)


最近冲图形学的时候碰到的Hermate(埃尔米特)曲线,本来只是想看懂绘制思想的,但是在网上看到一篇用U3D生成曲线的博客,自己也心里痒痒了,OpenGL不会用,U3D我还是能摸出来的 >_<
可能后边还会加贝塞尔(Bezier)曲线,先把Hermate曲线摸出来吧
目前只摸出来两点间的曲线,这篇博客应该可以见证我对Hermate的熟练度的增加

Hermate曲线的参数方程

参数方程的原理大概如下图…手写的…难看/扶额
在这里插入图片描述
在这里插入图片描述
代码如下

 	public Material linemat;
    public int linenum = 10;//这个是画曲线的时候曲线会分成多少段来绘制,即曲线的精细程度
    public Vector3[] linepoints=new Vector3[2];//曲线端点
    public Vector3[] normals=new Vector3[2];//曲线在端点的切线向量
    Vector3[] linepoints2;//整条曲线上的点曲线由N小段直线组成
    float t = 0;//参数从0->1表示曲线从起点到终点
    LineRenderer line;
    Matrix4x4 T, M, G;
    Vector4 T1;
    int i=0;
    // Start is called before the first frame update
    void Start()
    {
   
        line = GetComponent<LineRenderer>();
        linepoints2=new Vector3[linenum];
        // line.material = linemat;
        line.positionCount = linenum;
        InitializedMatrixMG();
    }
    void Update()
    {
   

         for (; i < linenum; i++)
        <
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值