图形学笔记 For GAMES201

文章目录

  • 图形学笔记 For GAMES201
  • Lecture1
    • taichi

课程地址:GAMES201 in Bilibili
持续更新中…

Lecture1

课程地址:

taichi

taichi本身更像是一门类似python的语言而非python的一个语言包

安装taichi包:

pip install taichi

Taichi程序结构

  • 初始化:ti.init(…)
  • 分配张量:ti.var, ti.Vector, ti.Matrix
  • 计算 (launch kernels, access tensors in Python-scope)
  • 较少使用:使用ti.reset()重启Taichi系统,包括清楚缓存、销毁所有变量和内核(程序结束自动调用)

第一节课中我比较感兴趣的是Fractal.py的示例 ,示例讲的是分型学中的Julia Set 知识,代码如下:

#Fractal.py
import taichi as ti
ti.init(arch=ti.gpu)n=320
pixels=ti.var(dt=ti.f32,shape=(n*2,n))@ti.func
def complex_sqr(z):return ti.Vector([z[0]**2-z[1]**2,z[1]*z[0]*2])@ti.kernel
def paint(t:ti.f32):for i,j in pixels:c=ti.Vector([-0.8,ti.cos(t)*0.2])z=ti.Vector([i/n-1,j/n-0.5])*2iterations=0while z.norm()<20 and iterations<50:z=complex_sqr(z)+c      #核心代码iterations+=1pixels[i,j]=1-iterations*0.02gui =ti.GUI("Julia Set", res=(n*2,n))for i in range(1000000):paint(i*0.03)gui.set_image(pixels)gui.show()

运行结果如图:

Fractal.py运行结果:Julia Set

这里补充一下分形学中Julia Set的相关知识:
wikipeida:Julia Set
Julia Set作为一个点集,是满足下式迭代收敛的一个复数集合
Zn+1=Zn2+CZ_{n + 1} = Z_{n}^ 2 + C Zn+1​=Zn2​+C
最终Julia Set 的形状 由 ZZZ 和 CCC 的实部虚部四个参数共同决定。

图形学笔记 For GAMES201相关推荐

  1. 图形学笔记(二十)粒子、刚体、流体的模拟—— 欧拉方法、Errors 和 Instability、中点法、自适应步长、隐式欧拉方法、Runge-Kutta方法、刚体与流体模拟(质点法、网格法、MPM)

    图形学笔记(十九)粒子.刚体.流体的模拟-- 欧拉方法.Errors 和 Instability.中点法.自适应步长.隐式欧拉方法.Runge-Kutta方法.刚体与流体模拟(质点法.网格法.MPM) ...

  2. 图形学笔记(十八)光场、颜色和感知—— 光场相机(全光函数、光线和光场的定义)、可见光谱、谱功率密度、颜色的生物学基础、Tristimulus Theory、同色异谱、加色与减色系统、颜色空间SPD

    图形学笔记(十七)相机,棱镜 --FOV.焦距.曝光.F-Stop.ISO.薄透镜公式.Circle of Confusion Size.景深.理想薄透镜光线追踪 图形学笔记(十九)动画1 -- 动画 ...

  3. 图形学笔记(十九)动画 —— 动画的历史、关键帧插值、物理仿真、质点弹簧系统、粒子系统、(反向IK)动力学、Rigging 绑定、Blend Shapes、动作捕捉

    图形学笔记(十八)光场.颜色和感知-- 光场相机(全光函数.光线和光场的定义).可见光谱.谱功率密度.颜色的生物学基础.Tristimulus Theory.同色异谱.加色与减色系统.颜色空间SPD ...

  4. 计算机图形学笔记(观测变换、模型变换、视图变换、投影变换、视口变换)

    计算机图形学笔记(观测变换.模型变换.视图变换.投影变换.视口变换) 目录 计算机图形学笔记(观测变换.模型变换.视图变换.投影变换.视口变换) 一.简介 1.模型变换(Model transform ...

  5. 图形学笔记(三)—— Harris角点检测器

    图形学笔记(三)-- Harris角点检测器 前言 CSDN不支持我的公式,大家可以到我的博客:wang-sy.github.io去看 从现在开始学习的是书中的第二章:局部图像描述子.这里主要是寻找图 ...

  6. 图形学笔记(十一)光线追踪——Shadow Mapping、光线追踪、光线投射、软硬阴影、光线与物体交点、AABB包围盒

    图形学笔记(十)几何2 -- 曲面细分(Loop细分.Catmull-Clark细分).曲面简化(边坍缩.二次度量误差).曲面正则化 图形学笔记(十二)光线追踪2--使用AABB包围盒加速光线追踪.空 ...

  7. 图形学笔记(八)着色2 —— 纹理映射、重心坐标、双线性插值、Mipmap、三线性插值、各向异性过滤、纹理的应用(环境贴图、法线贴图等)

    图形学笔记(七)着色 -- Blinn-Phone 反射模型.着色频率.渲染管线.GPU 图形学笔记(九)几何 --几何表示方法(CSG.距离函数.水平集 .点云.网格(obj格式)).贝塞尔曲线(面 ...

  8. 图形学笔记(四)变换——三维变换(三维旋转与欧拉角)、MVP变换、视图变换、投影变换(正交投影与透视投影)

    图形学笔记(三)变换--缩放.镜像.切变 图形学笔记(五)光栅化--屏幕.像素.屏幕空间.视口变换.基础图元与三角形.采样.包围盒.锯齿或走样 文章目录 1 三维空间中的变换 1.1 三维空间中的齐次 ...

  9. 图形学笔记(九)几何 ——几何表示方法(CSG、距离函数、水平集 、点云、网格(obj格式))、贝塞尔曲线(面)

    图形学笔记(八)着色2 -- 纹理映射.重心坐标.双线性插值.Mipmap.三线性插值.各向异性过滤.纹理的应用(环境贴图.法线贴图等) 图形学笔记(十)几何2 -- 曲面细分(Loop细分.Catm ...

最新文章

  1. Cell:视觉错觉运动刺激的探索:基于EEG的实用辅助系统的脑机接口
  2. Java NIO、NIO.2学习笔记
  3. 如何导入某网站的certificate证书到SAP ABAP系统
  4. 如何安装Favicon
  5. 【Linux】Linux测试磁盘 IO 性能
  6. 用命令来操作vSphere:二十二 PowerCLI命令--虚拟主机操作(1)
  7. 谁与争锋|神龙三代,集大成而来!
  8. lan pci 联想开机_联想笔记本bios怎么设置 联想笔记本进入bios方法【详解】
  9. POJO, VO什么的是个什么鬼?
  10. 大胜凭德--入行选领导(转载分析)
  11. 电子计算机的两个重要改进是,1946年,冯.诺依曼在研制EDVAC计算机时,提出的两个重要改进是什么?...
  12. Linux 虚拟内存
  13. SEO优化 关键词部署策略
  14. Bottled Water: 实时集成postgresql与kafka
  15. 图形化开放式生信分析系统开发 - 9 Illumina测序仪测序数据自动拆分
  16. Nginx+Lua+Redis实现广告缓存
  17. 穷爸爸 富爸爸(Rich dad , Poor dad ) 读书笔记(第一课lesson 1)
  18. c#winform使用EntityFramework导入数据库
  19. KDD 2020阿里巴巴论文一分钟秒读
  20. php imagick加GD实现gif图换脸动画生成表情包制作功能

热门文章

  1. 数据库——实验八 触发器实验
  2. 乐忧商城项目总结-1
  3. 【RabbitMQ】消息应答--ack机制
  4. centos6.8安装db2expc11.1
  5. 【Arc GIS 零基础教学】这些常见的GIS数据格式你知道几个
  6. 韩国计算机硕士累吗,在韩国读研究生有多心累...
  7. ERROR 1449 (HY000): The user specified as a definer (‘mysql.infoschema‘@‘localhost‘) does not exist
  8. OPENMV 开源项目简介
  9. 中国式“被公司加班”的办公室文化有多可怕
  10. 锐龙r7 6800h性能怎么样 相当于什么水平