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

FPGA开源项目分享——基于 DE1-SOC 的 String Art 实现

导语

今天继续康奈尔大学FPGA课程ECE 5760的典型案例分享——基于DE1-SOC的String Art实现。

(更多其他案例请参考网站:

Final Projects ECE 5760)

图片

1. 项目概述

项目网址

ECE 5760 Final Project

项目说明

String Art起源于19世纪的数学家Mary Everest Boole的设计,随后发展成一种利用钉子和线进行作画的艺术,主要是通过线的稠密度来表现不同的图案。

该项目介绍了如何通过数学的方式,利用计算机辅助用连续的线制作出“String Art”作品,如果您对这样的String Art作品还没有什么概念,可以先看看下面这些通过String Art处理后生成的效果图:

图片

图片

图片

图片

该项目是受Barton Dring的A New Spin on String Art Machines视频启发,最终在DE1-SOC上实现了Bresenham's算法,完成了对图像进行直线艺术绘制的设计。

图片

(DE1-SOC开发板)

2. 实现原理

该项目采用的是Bresenham's算法。下面是最常见版本的伪代码:

图片

 但Barton Dring在MATLAB 中实现该算法的问题是运行速度非常慢,所以该小组的目标是在 FPGA 上实现专门的求解器,以加速该计算。

如下是该项目的系统框图:

图片

3. 视频演示

视频参考: FPGA开源项目分享——基于 DE1-SOC 的 String Art 实现

4. 源码下载

  1. ECE 5760 Final Project

相关文章:

  • 广佛站点导航助手小程序产品使用说明书
  • iOS 17.5系统或可识别并禁用未知跟踪器,苹果Find My技术应用越来越合理
  • 提升Terraform工作流程最佳实践
  • 五一假期来临,各地景区云旅游、慢直播方案设计与平台搭建
  • 预处理详解
  • golang defer实现
  • day02 VS Code开发单片机
  • web蓝桥杯真题:新鲜的蔬菜
  • 分表?分库?分库分表?实践详谈 ShardingSphere-JDBC
  • OpenAI Sora:浅析文生视频模型Sora以及技术原理简介
  • C语言奇技淫巧之--用宏定义替换函数名的另外一种思路
  • Android 属性动画及自定义3D旋转动画
  • C语言什么是指针? 什么是指针变量?
  • C++之STL整理(8)之stack用法(创建、赋值、增删查改)详解
  • 【Android】【root remount】【2】如何判断设备是否remount
  • 002-读书笔记-JavaScript高级程序设计 在HTML中使用JavaScript
  • 30秒的PHP代码片段(1)数组 - Array
  • docker容器内的网络抓包
  • JavaScript 一些 DOM 的知识点
  • JavaScript标准库系列——Math对象和Date对象(二)
  • java正则表式的使用
  • node和express搭建代理服务器(源码)
  • TiDB 源码阅读系列文章(十)Chunk 和执行框架简介
  • vue-cli在webpack的配置文件探究
  • vue-loader 源码解析系列之 selector
  • 回顾2016
  • 删除表内多余的重复数据
  • 使用API自动生成工具优化前端工作流
  • 小程序 setData 学问多
  • 一加3T解锁OEM、刷入TWRP、第三方ROM以及ROOT
  • 云大使推广中的常见热门问题
  • 在GitHub多个账号上使用不同的SSH的配置方法
  • 阿里云服务器如何修改远程端口?
  • (007)XHTML文档之标题——h1~h6
  • (day 12)JavaScript学习笔记(数组3)
  • (HAL)STM32F103C6T8——软件模拟I2C驱动0.96寸OLED屏幕
  • (LNMP) How To Install Linux, nginx, MySQL, PHP
  • (二) Windows 下 Sublime Text 3 安装离线插件 Anaconda
  • (附源码)计算机毕业设计大学生兼职系统
  • (六)什么是Vite——热更新时vite、webpack做了什么
  • (转)jdk与jre的区别
  • (转载)CentOS查看系统信息|CentOS查看命令
  • .babyk勒索病毒解析:恶意更新如何威胁您的数据安全
  • .NET 应用启用与禁用自动生成绑定重定向 (bindingRedirect),解决不同版本 dll 的依赖问题
  • .NET/C# 检测电脑上安装的 .NET Framework 的版本
  • .net获取当前url各种属性(文件名、参数、域名 等)的方法
  • /etc/fstab和/etc/mtab的区别
  • @RequestParam,@RequestBody和@PathVariable 区别
  • @RunWith注解作用
  • [ 云计算 | AWS ] 对比分析:Amazon SNS 与 SQS 消息服务的异同与选择
  • [20190401]关于semtimedop函数调用.txt
  • [Angular] 笔记 18:Angular Router
  • [BROADCASTING]tensor的扩散机制
  • [Bzoj4722]由乃(线段树好题)(倍增处理模数小快速幂)
  • [C#基础知识]专题十三:全面解析对象集合初始化器、匿名类型和隐式类型