学习本文前你需要具备一点 p5.js 的知识,想了解的请查看 《p5.js 光速入门》。
在 canvas 里,变换是基础功能。很多基于 canvas 封装的库都有这功能,比如 《Fabric.js 变换视窗》。
在本文中,我们将学习在 p5.js 中通过使用线条、 矩形和椭圆来制作房屋的各个部分来制作房屋的简单动画。
然后我又继续想啊想,想到我们用 canvas 好像也能做出一款点彩画的绘图工具,但用原生的方式写是不可能的,因为我懒。思前想后,还是觉得用 p5.js 写会好点,毕竟这个库也是个比较知名的艺术库。
前面写了几篇 p5.js 文章 都还没涉及到3D图形,但其实 p5.js 是提供了基础的3D图形的。
本文的目标是和各位工友一起有序的快速上手 p5.js ,会讲解 p5.js 的基础用法。
但是当学校课程要求(比如今年UCL的DFPI),或者没有其他前端基础的情况下,想把processing里的一些效果在网页上展示,这时候可能就不得不使用p5.js了。
动力学主要分为正向动力学(FK)和反向动力学(IK)。 正向动力学实现起来十分简单,了解点基本原理,或者网上一搜,都能写出来。 反向动力学中比较流行的方法则是 Cyclic Coordinate Descent(CCD)和 Forward And Backward Reaching Inverse Kinematics (FABRIK)。 还有几何分析与雅可比矩阵的方法,计算起来比较复杂,用的不是太多。
在 《p5.js 光速入门》 中都是使用 CDN 的方式去使用 p5.js 的,不太符合当下的开发习惯。
起初我以为牛兄是用 Processing Java 做的,我记得没有好用的手部识别库,而一个 OpenCV 识别脸部的还各种报错。是用 Kinect 做的吗?经过和牛兄的沟通,原来是使用 p5js 实现的,使用的是一个叫做Handtrack.js的一个 js 库。
原生 canvas 提供了 save() 和 restore() 两个方法去管理画布状态。p5.js 作为一个 canvas 库,也理所当然的提供了状态管理的方法。在 p5.js 里这两个方法叫 push() 和 pop()。
本文首先介绍了TensorFlow.js的重要性及其组件,并介绍使用其在浏览器中构建机器学习模型的方法。然后,构建使用计算机的网络摄像头检测身体姿势的应用程序。
你最喜欢用什么工具来编写机器学习模型?数据科学家们对这个永恒的问题会给出各种不同的答案。一些人喜欢RStudio,另一些人更喜欢Jupyter Notebooks。我绝对属于后者。
在 《p5.js 光速入门》 里我们学过加载图片元素,学过过背景色的用法,但当时没提到背景图要怎么使用。
在刚接触 p5.js 时我以为这只是一个艺术方向的 canvas 库,没想到它还支持视频文件和视频流的播放。
p5.js 为开发者提供了很多有用的方法,这些方法实现起来可能不难,但却非常实用,能大大减少我们的开发时间。
https://segmentfault.com/a/1190000019151460
上一篇文章:填坑!完结娱乐圈明星关系图谱 发布后,古柳印象里过往留下的坑貌似只剩下 图像检索(一):因缘际会与前瞻 的后续实践代码(原文里给了参考代码链接)和在豆瓣Top250电影海报上的尝试效果了。
文章导读:这篇文章不是为了全面深入的介绍循环神经网络(recurrent neural networks),而是为那些没有任何机器学习(machine learning)背景知识的读者提供一种思路,意在展示艺术家和设计师运用简单的Javascript和p5.js库构造预训练神经网络、进而创作出交互式数字作品的过程。 引言 近年来,对于那些富有创造性的群体来说,机器学习已经成为一种流行的工具。风格迁移(style transfer)、t-sne算法、自编码器(autoencoders)、生成对抗网络(
媒介和技术的发展使设计艺术打破了原本界限:从静到动到可交互,从二维到三维到沉浸体验,技术结合设计形成的审美价值在未来是无止境的。视觉设计师们普遍形成了不断从文化、艺术中汲取风格和元素,采用计算机设计软件结合自定义传达内容在媒介载体上传播的工作模式。然而设计软件赋予了设计绚丽的视觉语言却也限制了内在的可能性:设计在不断反复之前出现的文化浪潮,许多设计因软件功能出现了泛同质化难以应对复杂多变的应用场景。现有的设计语言不够丰富,而生成艺术的发展优化了设计创造力的新路径。正如维拉·莫尔纳所言:“这听起来可能很矛盾
最近在家也不能出门,突然想到自己之前hackathon上面用P5.js做的一些小项目,虽然在本地上面写完了,但是在演示环节还是要部署在网页上,因为我自己也没有接触过网页搭建,所以当时比赛的时候,硬生生的没搞出来,最后还是放在了Openprocessing上面,那可想而知,网站实在是太慢了,整个体验效果并不是很好,所以我也一直在琢磨着有没有什么别的方法可以快速实现呢。正好我最近也在研究一些GitHub的玩法,很多人都用github pages搭建自己的网站,那我也寻思了一下,是不是也可以用github pages部署自己的p5.js代码呢,稍微尝试了一下,发现还是很容易的。
通常在C端交互上,产品与UI会在交互上提出一些比较炫酷的效果,面对视觉效果,通常来说,我们会借助第三方优秀的动画库来满足这些需求。通俗来说,就是我们并不是原生从0到1去实现,而是结合现有的库与框架帮我们高效的实现那些看似非常炫酷的效果。
p5.js 作为一款艺术类的 canvas 库,对颜色方面的支持是挺下功夫的,比如本文要介绍的渐变方法。
Canvas是常见的前端技术,但是由于API众多,使用复杂,且对程序员的数学功底、空间想象能力乃至审美都有一定要求,所以真正擅长canvas的前端并不多,但并不代表大家就学不好canvas。我在此将常用的canvas使用场景罗列出来希望能帮助到大家。
canvas 绘图时会根据当前状态来绘制。很多的 canvas 库都利用到这一特性。比如 p5.js 利用了 canvas 状态特性衍生出 push 和 pop 函数实现状态隔离(既然提到了,下一篇就讲这个)。
Python是机器学习和深度学习的首选编程语言,但绝不是唯一。训练机器学习/深度学习模型并部署对外提供服务(尤其是通过浏览器)JavaScript 是一个不错的选择,市面上也出现了很多机器学习库,比较著名的就是谷歌的 TensorFlow.js。我在《用浏览器玩机器学习,赞!》一文中已详细介绍它的用法,感兴趣的同学可以去看看。
这是 Siraj Raval 在 Youtube 上用 Tensorflow.js 实现Evolution建模的代码。
最近重温了一下 Q/Promise[1] 的设计讲解,结合自己的理解和一些小优化,决定也来写一篇手写 Promise 的文章。本文的内容适合对 Promise 的使用有一定了解的童鞋,因为过程中不会过多解释 Promise 的基础操作。我们从一个基础版本开始,渐进式地完成这个 Promise,在过程中分享我的理解和观点。内容可能有点长,废话不多说,我们开始吧。
ml5.js旨在为创意编程提供开箱即用的机器学习算法。该库封装了常用的机器学习算法和预训练模型,基于TensorFlow.js,可单独使用,也可搭配p5.js使用。
上篇文章古柳写了下关于念念不忘三年的颜色可视化的超长文,整个流程涉及: python 爬b站 api 李子柒数据、搭配 you-get 下载视频、ffmpeg 批量视频抽帧、node.js get-image-colors 模块抽图片颜色,d3.js 颜色可视化。
在前端的日常工作中,回调函数(callback)应该是见怪不怪了,但是当回调函数遇上了异步(async),这就令人发指了。那么异步是什么意思呢,简单地说就是不等你执行完,就先执行下方的代码了。
无论是开发、运维,还是测试,大家都知道Git在日常工作中的地位。所以,也是大家的必学、必备技能之一。之前公众号也发过很多git相关的文章:
自 GPT 系列对话大模型以及 DALL・E、Midjourney 等文生图大模型兴起以来,基于它们的硬核、有趣二创应用花样频出,让普通人切身地体验到了大模型的魅力。
为了帮助崭露头角的音乐家为他们的歌曲创造最佳节奏,来自日本AI创业公司的开发人员开发了一种名为Neural Beatboxer的深度学习系统,可将日常的声音转换为数小时自动编译的节奏。
ScrollTrigger是基于GSAP实现的一款高性能页面滚动触发HTML元素动画的插件。
还有几天就到国庆中秋了,快要放假了,先祝大家节日快乐!之前写过js的写作建议和技巧,那么今天就来聊聊css吧!说到css,每一个网页都离不开css,但是对于css,很多开发者的想法就是,css只要能用来布局,把效果图排出来就可以了,其它的细节或者优化,不需要怎么考虑。但是我觉得css可不只是把页面的布局完成就是完事的,还需要考虑很多细节有优化,更不会像大家想得那么简单,在学习当中,如果发现什么技巧或者优化的点,我也会学以致用!那么今天,就分享下我总结的css写作建议和性能优化的一些问题!希望能帮让大家对神奇的css有一个新认识,当然,如果大家觉得还有什么其它的建议。欢迎指点!
我们经常在社交网站上会看到一些生成艺术使用的视频或者 GIF 展示,不过不知道读者有没有仔细观察过有些视频和 GIF,他们的开头和结尾是无缝衔接的,或者说在某个时间点又开始重复循环。
NFT 的场景在当前仍处于萌芽阶段,相信 NFT 所提供的所有权转让以及真实性的特点,会促使 NFT 在艺术、虚拟世界和游戏领域提供更为广阔的空间。
虽然利用了随机,随机填充了每一个格子的颜色,看着有那么点意思,但是这只是一幅杂乱无章的图形,并没有什么艺术感。
本文介绍了setTimeout函数的基本用法,包括延迟执行、循环执行、指定延迟执行、指定回调函数、取消定时器、定时器ID、封装好的常用工具函数以及实际场景中的应用案例。
Vue 在插入、更新或者移除 DOM 时,提供多种不同方式的应用过渡效果。 包括以下工具:
要在 Chart.js 的折线图上添加动画效果,可以使用 Chart.js 提供的配置选项来实现。以下是一个示例,展示了如何在折线图上添加简单的动画效果:
想要实现图片持续滚动,既然使用js,就千万不要加css动画、过渡等相关样式,如果想要滚动的平滑一下,可以一像素一像素的感动,则很平滑,如果加了过渡动画,当图片重置为0时,会有往回倒的动画效果,跟预期不符。
(编者注:本翻译不代表登链社区的立场,也不代表我们(有能力并且已经)核实所有的事实并把他的观点分离开来。)
之前关于service worker介绍的文章中,这样描述了浏览器环境下Javascript环境:"每个页面的javascript运行主线程都是一个Boss"、"Boss很厉害,在页面上指点江山,呼风唤雨。但他有个局限:同一时刻只做一件事(单线程)"。
身为猫头虎博主,我将向您展示如何在Vue.js应用中引入令人惊叹的动画效果。动画不仅可以提升用户体验,还可以使您的网站更具吸引力。在本文中,我们将深入研究Vue.js的动画特性,包括过渡、动画库、以及一些最佳实践,以助您的网站在搜索引擎结果中脱颖而出。
作者:jshao https://segmentfault.com/a/1190000012923589 如今市面上关于动画的开源库多得数不胜数,有关于CSS、js甚至是canvas渲染的,百花齐放,效果炫酷。但你是否曾想过,自己亲手去实现(封装)一个简单的动画库? 本文将从零开始,讲授如何搭建一个简单的动画库,它将具备以下几个特征: 从实际动画中抽象出来,根据给定的动画速度曲线,完成“由帧到值”的计算过程,而实际渲染则交给开发者决定,更具拓展性 支持基本的事件监听,如 、 、 、 ,及相应的回调函数 支持
9月2日 Opensae 最近交易数据显示,Art Blocks 截至目前的总交易额已突破 233849 Eth 约 8.6 亿美元 ,创下历史新高,交易者数量突破2万。8月27日,Art Blocks 铸造的艺术品 Ringer #879以 568.5 万美元(1.8K ETH)价格成交,是历史上交易额第三高的 NFT 收藏品。
领取专属 10元无门槛券
手把手带您无忧上云