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

Unity中如何实现绘制Sin函数图像

在Unity中可以使用LineRenderer组件来绘制线条,通过添加Position,来添加线段的拐点,

------------------>

也就是说,绘制Sin函数图像只要采样Sin函数的不同点,然后赋值给LineRenderer即可。 

实现过程:

首先在场景中创建一个空物体,添加LineRenderer组件,创建WaveDisplay脚本:

public class WaveDisplay : MonoBehaviour
{
    LineRenderer lineRenderer;
    public int posCount ; //采样点个数
    public float frequency = .5f; //频率
    public float amplitude = 1f; //振幅


    // Start is called before the first frame update
    void Start()
    {
        this.lineRenderer = GetComponent<LineRenderer>();
        this.Draw();
    }

    void Draw()
    {
        float xStart = 0f;
        float tau = 2 * Mathf.PI;
        float xFinish = tau;

        this.lineRenderer.positionCount = posCount;

        for (int i = 0; i < posCount; i++) {
            float progress = (float)i / (posCount - 1);
            float x = Mathf.Lerp(xStart, xFinish, progress);
            float y = amplitude * Mathf.Sin(tau * frequency * x);
            this.lineRenderer.SetPosition(i, new Vector3(x, y, 0));
        }
    }
}

结果:


http://www.kler.cn/a/451253.html

相关文章:

  • 24 go语言(golang) - gorm框架安装及使用案例详解
  • 浅谈TARA在汽车网络安全中的关键角色
  • MarkItDown的使用(将Word、Excel、PDF等转换为Markdown格式)
  • Doris 资源软硬限详解
  • Fuel库实战:下载失败时的异常处理策略
  • 云原生后端开发(一)
  • whisper.cpp: Android端测试 -- Android端手机部署音频大模型
  • 独一无二,万字详谈——Linux之文件管理
  • 虚幻引擎结构之UWorld
  • 16.1、网络安全风险评估过程
  • 基于Spring Boot的九州美食城商户一体化系统
  • HTML+CSS+JS制作外贸网站(内附源码,含5个页面)
  • 3.学习webpack配置 尝试打包ts文件
  • 【Git】-- 版本说明
  • 每天40分玩转Django:Django国际化
  • 【Kibana01】企业级日志分析系统ELK之Kibana的安装与介绍
  • 学习一下USB DFU
  • AI驱动的数据分析:利用自然语言实现数据查询到可视化呈现
  • 2.在 Vue 3 中使用 ECharts 实现动态时间轴效果
  • Android Studio打开一个外部的Android app程序
  • embeding 层到底是什么
  • YOLOv8 引入高效的可变形卷积网络 DCNv4 | 重新思考用于视觉应用的动态和稀疏算子
  • 【hackmyvm】BlackWidow靶机wp
  • MongoDB教程002:文档(表)的增删改查
  • 如何在防火墙上指定ip访问服务器上任何端口呢
  • websocket再项目中的使用