manim边做边学--圆环面
Torus类在制作数学、物理或工程领域的动画时具有广泛的应用场景。
比如,通过动态演示环面的拓扑变换(如内外翻转、扭曲等),帮助我们直观地理解拓扑不变量和同胚等概念;
此外,也可以模拟磁场线在环面导体中的分布和运动,展示电磁感应现象等等。
本篇介绍Torus的主要参数和基本使用方法。
1. 主要参数
Torus的参数不多,主要有:
| 参数名称 | 类型 | 说明 |
|---|---|---|
| major_radius | float | 圆环面的主要半径,从环面中心到其管道中心(或称为环面中心轴)的距离 |
| minor_radius | float | 环面管道的半径 |
| resolution | [int, int] | 环面表面的分辨率,用于控制渲染的精细程度 |
| u_range | [float] | 定义了圆环面在u方向上的参数化范围 |
| v_range | [float] | 定义了圆环面在v方向上的参数化范围 |
如果把Torus圆环面看成一个轮胎的话,
那么,major_radius参数表示轮胎的大小,minor_radius参数表示轮胎的厚度。
2. 使用示例
为了有效展示Torus(圆环面)各个参数的使用,下面构造四个示例,
每个示例将突出Torus类的一个或几个关键参数,并说明这些参数如何影响环面的外观和特性。
2.1. 标准圆环面
这是一个标准的环面,其中major_radius决定了环面的大小,minor_radius决定了环面管道的厚度,
而resolution控制了环面表面的平滑度。
通过调整这些参数,可以获得不同大小和形状的环面。
torus = Torus(
major_radius=2.5,
minor_radius=0.5,
resolution=(30, 30),
)

2.2. 扁平圆环面
通过限制v_range的值,我们可以创建一个扁平的环面。
在这个示例中,v_range被设置为(0, PI/2),这意味着环面在v方向上的参数化范围被限制在一个更小的区间内,从而导致环面在视觉上变得更加扁平。
这种扁平环面可以用于模拟轮胎、甜甜圈等扁平形状的物体。
torus = Torus(
major_radius=2.5,
minor_radius=0.5,
resolution=(30, 30),
v_range=(0, PI / 2),
)

2.3. 高分辨率圆环面
增加resolution的值可以提高环面表面的平滑度和细节程度。
在这个示例中,resolution被设置为(100, 100),这意味着环面在u和v方向上都有更高的分辨率,从而呈现出更加细腻和逼真的曲面效果。
高分辨率环面在渲染复杂场景或制作高质量动画时非常有用。
torus = Torus(
major_radius=2.5,
minor_radius=0.5,
resolution=(100, 100),
)

2.4. 非标准圆环面
通过调整u_range的值,我们可以创建一个非标准的环面。
在这个示例中,u_range被设置为(0, 3*PI/2),这意味着环面在u方向上的参数化范围被扩展到一个更大的区间内,从而导致环面在视觉上出现一部分缺失。
这种非标准环面可以用于艺术创作、数学可视化或物理模拟等领域,以展示环面在不同参数设置下的多样性和灵活性。
torus = Torus(
major_radius=2.5,
minor_radius=0.5,
resolution=(30, 30),
u_range=(0, 3 * PI / 2),
)

3. 附件
文中的代码只是关键部分的截取,完整的代码共享在网盘中(torus.py),
下载地址: 完整代码 (访问密码: 6872)
manim边做边学--圆环面的更多相关文章
- 边做边学入门微信小程序之仿豆瓣评分
微信小程序由于适用性强.逻辑简要.开发迅速的特性,叠加具有海量活跃用户的腾讯公司背景,逐渐成为了轻量级单一功能应用场景的较佳承载方式,诸如电影购票.外卖点餐.移动商城.生活服务等场景服务提供商迅速切入 ...
- Three.js基础探寻五——正二十面体、圆环面等
除了立方体.平面.球体,Three.js还提供了很多其他几何形状. 1.圆形 CircleGeometry可以创建圆形或者扇形: THREE.CircleGeometry(radius, segmen ...
- Grails边做边学入门篇[1]--------大家一起来动手建立project和Domain
近期工作比較忙,没空写博客了.我发现每周五的下午都是我最放松的时候,可能是迟延症的缘故吧...总是寄希望于周末,慢慢的.我的周末就被工作占领了. 希望大家不要有这种坏毛病.今日事,今日毕.当然我们程序 ...
- 《Three.js 入门指南》3.1.1 - 基本几何形状 -圆环面(TorusGeometry)
3.1 基本几何形状 圆环面(TorusGeometry) 构造函数 THREE.TorusGeometry(radius, tube, radialSegments, tubularSegments ...
- 技术的止境(客户价值第一,快速实现第二,边做边学,迅速成为牛人。紧贴客户的需求去做技术,立于不败之地。追求的目标:把一项产品去做好,用产品去养活自己和家人)good
作为一个依靠技术来谋生的程序员,我最近一直在思考一个问题,有限的生命里,面对无限的技术更新,我要研究到什么程度才能算是完成我的成为技术大牛的目标呢?换而言之,那就是技术的止境在哪儿呢?深入的思考下去, ...
- 【Leetcode 做题学算法周刊】第四期
首发于微信公众号<前端成长记>,写于 2019.11.21 背景 本文记录刷题过程中的整个思考过程,以供参考.主要内容涵盖: 题目分析设想 编写代码验证 查阅他人解法 思考总结 目录 67 ...
- 做fzu oj 1045 做减法学到的sprintf()函数
题目 做题一直输不出答案,于是就上网去百度了这题的解题,发现解答十分的简短,而且其中我看见了平时没见过的函数,sprintf(). 于是就百度sprintf()的使用. 如下: 函数功能:把格式化的数 ...
- 【Leetcode 做题学算法周刊】第一期
首发于微信公众号<前端成长记>,写于 2019.10.28 背景 本文记录刷题过程中的整个思考过程,以供参考.主要内容涵盖: 题目分析设想 编写代码验证 查阅他人解法 思考总结 目录 1. ...
- 【Leetcode 做题学算法周刊】第二期
首发于微信公众号<前端成长记>,写于 2019.11.05 背景 本文记录刷题过程中的整个思考过程,以供参考.主要内容涵盖: 题目分析设想 编写代码验证 查阅他人解法 思考总结 目录 20 ...
- 【Leetcode 做题学算法周刊】第三期
首发于微信公众号<前端成长记>,写于 2019.11.13 背景 本文记录刷题过程中的整个思考过程,以供参考.主要内容涵盖: 题目分析设想 编写代码验证 查阅他人解法 思考总结 目录 35 ...
随机推荐
- Java元注解介绍
Java四种元注解相关介绍 概述 注解从Java1.5引入以来,不断地简化我们编写代码的流程,逐渐的也成为了我们必学的一项技术.我们学习了各种注解,学习了他们的用法,学习了他们的限制,是否想过他们的组 ...
- WPF 保姆级教程怎么实现一个树形菜单
先看一下效果吧: 我们直接通过改造一下原版的TreeView来实现上面这个效果 我们先创建一个普通的TreeView 代码很简单: <TreeView> <TreeViewItem ...
- JavaScript Library – Alpine.js
前言 Alpine 是高山的意思.Alpine.js 是一个轻量级的 JS Framework. 我为什么会去用它呢? 是这样的,我在做企业网站开发的时候会有 2 个阶段. 第一个 draft 阶段, ...
- CSS – Monospaced font & ch unit 等宽字体与 ch 单位
前言 在做 Statistics Counter 时, 发现总是会跳, 研究后才发现原来是等宽搞的鬼, 这篇就来说说等宽字体. 参考 等宽字体在web布局中应用以及CSS3 ch单位嘿嘿 不等宽字体 ...
- Razor 常用又容易忘记语法
1. <text> 要写 text 可以用这个特殊 element @:  @: 也是一个可以写 text 的方式 2. @Html.Raw($@"<s ...
- Azure – 对比 AWS Research Report
前言 最近有机会接触了一下 AWS, 在对比完之后决定继续用 Azure, 这里小小记入一下. VM & SQL Server Azure 和 AWS 都可以选择 2 in 1, 或者 Web ...
- SpringMVC——SSM整合——表现层数据封装
表现层数据封装 设置统一数据返回结果类 注意:Result类中的字段并不是固定的,可以根据需要自行增减提供若干个构造方法,方便操作 返回结果类 package com.cqupt.controller ...
- Spring —— 注解开发(依赖注入)
自动装配 引用类型 简单类型 加载properties文件
- iManager微服务(云套件)配置https证书流程步骤
本文使用的是10.1版本,需要手动去配置证书,未来版本会考虑进行界面化配置. 一.提前准备 1. 证书需要准备三个文件 *.key *.crt *.keystore 2. 需要知道自己创建的微服务是哪 ...
- 【赵渝强老师】管理Docker镜像
一.什么是Docker的镜像 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙 ...