贝塞尔曲线做抛物线

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Timeline;
public class TimeControl : MonoBehaviour,ITimeControl
{
    public GameObject effectPrefab;
    GameObject effect;
    Vector3 origin, target;
    private void Awake()
    {
        origin = GameObject.Find("坤坤子").transform.position+ GameObject.Find("坤坤子").transform.forward*0.6f+Vector3.up;
        target=GameObject.Find("Pos").transform.position;
    }
    public void OnControlTimeStart()
    {
        if(effect==null)
        {
            effect=Instantiate(effectPrefab);
        }
    }

    public void OnControlTimeStop()
    {
        if (effect != null)
        {
            DestroyImmediate(effect);
            Destroy(gameObject);
        }
    }

    public void SetTime(double time)
    {
        List<Vector3>list= new List<Vector3>();
        list.Add(origin);
        list.Add(Vector3.Lerp(origin, target, 0.5f) + Vector3.up * 3);
        list.Add(target);
        effect.transform.position = BSR(list,(float) time);
    }
    public Vector3 BSR(List<Vector3> list,float time)
    {
        List<Vector3> newList=new List<Vector3>();
        for (int i = 0; i < list.Count-1; i++)
        {
            newList.Add(Vector3.Lerp(list[i], list[i+1],time));
        }
        if (list.Count == 1)
        {
            return list[0];
        }
        else
        {
            return BSR(newList, time);
        }
    }
}

贝塞尔曲线是一种数学曲线,它由一系列控制点定义,并通过这些控制点的位置来决定曲线的形状。这种曲线在计算机图形学中有着广泛的应用,例如在绘制平滑的线条和曲线时。贝塞尔曲线可以是一阶、二阶、三阶或更高阶的,每增加一个控制点,曲线的阶数就增加一阶。

贝塞尔曲线的特点

  • 端点插值性质:贝塞尔曲线始终通过其起始点和结束点。

  • 端点切线定理:曲线在起点和终点的切线方向等于通过这些点的控制线段的方向。

  • 凸包性质:贝塞尔曲线位于其所有控制点构成的凸包内部。

  • 仿射变换不变性:通过仿射变换(平移、旋转、缩放等)得到的新曲线仍然是贝塞尔曲线。

  • 变差缩减性质:贝塞尔曲线通常比通过相同控制点的折线要光滑。

贝塞尔曲线的应用

贝塞尔曲线在计算机图形学中被广泛使用,例如在矢量图形编辑软件中绘制路径,或者在动画制作中创建平滑的运动轨迹。此外,它们也被用于工业设计、建筑设计以及其他需要精确控制形状和运动的领域。

贝塞尔曲线的计算

贝塞尔曲线的计算涉及到复杂的数学公式,但是在计算机编程中,这些计算通常由图形库自动处理。开发者只需指定控制点的位置,图形库就会负责计算并渲染出相应的曲线。

以上信息基于最新的搜索结果,希望能够帮助您更好地理解贝塞尔曲线。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

抓屁放脚本里

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值