Blender彩带效果

0. 背景

在制作海报时经常会需要彩带素材,彩带制作实现可以有多种实现方式,可以使用GIMP/InkScape/PS/AI等工具绘制,绘制多少需要一些美术功底,比如阴影,透视、渐变效果等等,这样就有些麻烦了。既然是要3D的效果,那Blender更专业。如何用Blender做出下图这种效果呢? 

1. 实现思路

  1. 绘制彩带的曲线
  2. 让彩带沿曲线分布或者填充
  3. 设置灯光导出透明png格式

2. 绘制曲线

绘制曲线Blender有多种工具,可以用自带的贝塞尔曲线NURBS曲线,也可以安装Extra Curve Object、 Extra Mesh Object插件,可以很方便的得到螺旋线等曲线。然后微调曲线的形状达到我们需要的效果。我们这里使用Extra Curve Object插件的螺旋线。螺旋线太规则,可以选中个别点进行微调。

继续阅读“Blender彩带效果”

电路与水路

前言

还记得最早学习电路的时候,一般把电路类比成水路。电流类比为水流,电压类比水压。既然电路可以类比水路,那么电路和水路基本原理应该是近似的。然而笔者遇到一个问题,就是并联的暖气片为什么有的热有的不热呢?电路可以类比水路,反过来水路也可以类比电路,暖气片并联,相同的暖气片应该一样热才对 ,而实际结果是并联的暖气片第一个最热,越往后越凉。是类比有问题吗?问题出在哪了?

电路和水路结构分析

下图是家庭电路和暖气结构示意图。电路不用多说,大家都知道,所有用电器并联,所有用电器上的电压相同,所以无论电器插在哪个插座,都可以正常工作。 暖气也采取并联,为什么就第一个暖气片最热呢?电路无非是电子的通路,难道电子就比水特殊? 我们分析一下水路,既然第一个热,类比电路,第一个暖气片进水管和出水管两端的水压差应该大,其他的压差小。否则,同样的压力,暖气片应该同样热。后面的暖气片上的压力依次降低。于是,越靠后的暖气片越凉。为什么会这样呢?并联电路电压相同,为什么并联水路水压不同呢?首先分析静水的情况,如果暖气片内水不流动,那按压强公式,高度相同的位置水压相同。水流动起来,就有些不一样了。

继续阅读“电路与水路”

Sphinx Docusaurus添加备案号

Sphinx

vi pydata_sphinx_theme/theme/pydata_sphinx_theme/components/theme-version.html

<p class="theme-version">
备案许可证编号:<a href="http://beian.miit.gov.cn/">京ICP备000000号</a>
</p>

<p class="theme-version">
{% trans theme_version=theme_version|e %}Built with the <a href="https://pydata-sphinx-theme.readthedocs.io/en/stable/index.html">PyData Sphinx Theme</a> {{ theme_version }}.{% endtrans %}
</p>

Docusaurus

diff --git a/docusaurus.config.js b/docusaurus.config.js
index 31c32b2..dcfd863 100644
--- a/docusaurus.config.js
+++ b/docusaurus.config.js
@@ -179,7 +179,7 @@ const config = {
],
},
],
- copyright: `Copyright © ${new Date().getFullYear()} XXXXX. Built with Docusaurus.`,
+ copyright: `Copyright © ${new Date().getFullYear()} XXXXX. Built with Docusaurus.<br />备案许可证编号:<a target="_blank" rel="noopener noreferrer" href="http://beian.miit.gov.cn/">京ICP备00000000号</a>`,
},
prism: {
theme: prismThemes.github,

Fix complex tabs not displaying properly in sphinx-tabs

项目地址

项目地址

错误信息

sphinx-tabs 复合页签MySt Admonitions不能正常显示。

 ::::{tabs}
:::{tab} attention
:::{attention}
attention
:::
:::

:::{tab} caution
:::{caution}
caution
:::
:::
::::

解决方法

diff --git a/sphinx_tabs/static/tabs.js b/sphinx_tabs/static/tabs.js
index 48dc303..163ea57 100644
--- a/sphinx_tabs/static/tabs.js
+++ b/sphinx_tabs/static/tabs.js
@@ -89,6 +89,9 @@ function selectTab(tab) {
tab.setAttribute("aria-selected", true);

// Show the associated panel
+ document
+ .getElementById(tab.getAttribute("aria-controls"))
+ .parentNode.removeAttribute("hidden");
document
.getElementById(tab.getAttribute("aria-controls"))
.removeAttribute("hidden");