惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

aimingoo的专栏
aimingoo的专栏
I
InfoQ
B
Blog RSS Feed
D
Docker
GbyAI
GbyAI
N
Netflix TechBlog - Medium
Y
Y Combinator Blog
F
Fortinet All Blogs
P
Proofpoint News Feed
Microsoft Azure Blog
Microsoft Azure Blog
人人都是产品经理
人人都是产品经理
Martin Fowler
Martin Fowler
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
M
MIT News - Artificial intelligence
C
Check Point Blog
Vercel News
Vercel News
云风的 BLOG
云风的 BLOG
博客园 - Franky
Google DeepMind News
Google DeepMind News
WordPress大学
WordPress大学
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
V
V2EX
Last Week in AI
Last Week in AI
L
LangChain Blog

博客园 - ExperDot

用 AI Coding 工具生成 60 万字奇幻世界设定的实践记录 追求极致体验:AI 聊天应用的 20 个功能要点 探索性 AI 聊天应用:交叉分析表 3种方法让大语言模型提取任意文档中的知识点 AI 聊天应用的 10 条高级需求 Web安全入门(一):Web安全是什么? ASP.NET Core文件压缩最佳实践 什么是软件开发? Web应用实例:音频可视化 粒子系统(二):绘制精美几何图案 图像识别:微信跳一跳机器人 Unity3D对弈游戏:狼吃羊游戏 ExperDot的博客目录导航 编程模拟自然(九):元胞自动机 自动绘图AI:程序如何画出动漫美少女 UWP简单示例(三):快速开发2D游戏引擎 UWP简单示例(二):快速开始你的3D编程 UWP简单示例(一):快速合成音乐MV AR创意分享:儿童涂鸦遇上程序绘图
粒子系统(一):从零开始画一颗树
ExperDot · 2017-05-19 · via 博客园 - ExperDot

准备

  IDE:VisualStudio

  Language:VB.NET / TypeScript

  图形API:Win2D

  Github:[ UWP ] [ TypeScript ]

  本文将向你介绍一种粒子系统(Particle System)模拟植物的简单方法。

第一节 移动

  粒子按照某种规则移动,且始终保留移动轨迹。

  定向移动

  粒子具有一个初始速度

  粒子渐变

  粒子的渲染半径逐渐减小,渲染颜色逐渐变浅

  方向偏移

  粒子始终朝着某个方向偏移

  随机扰动

  粒子在任意方向上随机受力

图1-1 定向移动

图1-2 渐变

图1-3 转向

图1-4 扰动

第二节 分裂

  已经存在的粒子随机分裂为若干个新的粒子。

  方向偏移

  分裂时新粒子速度方向偏转,移动轨迹将产生分叉

  粒子减速

  分裂时新粒子移动速度减小,移动轨迹会越来越短

图2-1 分叉

图2-2 减速

第三节 迭代

  现在,你可以自由调节参数然后迭代啦!

  迭代深度

  尽可能大的迭代深度

  颜色渐变

  生长和分裂时渐变颜色

  粒子贴图

  粒子颜色对应贴图指定位置的像素点 

图3-1 茂密

图3-2 珊瑚

图3-3 地卜师

附录

  Github:[ UWP ] [ JavaScript ]

  编程模拟自然(一):如何画一颗静态树

  编程模拟自然(三):更好的静态树算法

  编程模拟自然(六):如何画一颗动态树