图形学-Geometry几何
Geometry 几何
表达几何的方式有很多种,基本可以分为两大类:
隐式表示
Algebraic Surface 代数曲面
Level Set 水平集
Distance Function 距离函数
Signed Distance Function(SDF): 有符号距离函数
Unsigned Distance Function(UDF): 无符号距离函数
…
显式表示
Point Cloud 点云
Polygon Mesh 多边形网格
subdivision, NURBS
…
几何的表示方式
几何的隐式表示
隐式不会告诉具体的点在哪,只描述点满足什么约束关系,如对于一个球的隐式表示如下:
x2+y2+z2=r2x^2 + y^2 + z^2 = r^2
x2+y2+z2=r2
更通用的表述方式为满足f(x,y,z)=0f(x, y, z) = 0f(x,y,z)=0的点集,就可以描述一个隐式的几何表示。
隐式表示的缺点是不直观并不知道有哪些点,优点是很轻易可以判断一个点是否在几何上,几何内还是几何外。
基于代数方法的隐式表示
使用代数方程来描述几何 ...
图形学-Sharding着色
Sharding 着色
图形学中 Sharding 的概念值对一个物体应用不同的材质的过程。
光照 Lighting
Blinn-Phong 反射模型(BPR)
Blinn-Phong 反射模型是对光线与物体表面交互的一个经验模型。
它将光线与物体表面的交互分为三个部分:
环境光:物体表面在没有直接光照的情况下的颜色
漫反射:物体表面在直接光照下的颜色,取决于光源的颜色和物体表面的颜色
高光反射:物体表面在直接光照下的高光部分,取决于光源的颜色、物体表面的颜色和观察者的视角
计算光线从一个着色点反射到相机中中的颜色:
输入变量定义如下:
vvv: 观察者的视角的单位向量
lll: 表示光源的方向的单位向量
nnn: 物体表面着色点的单位法向量
表面材质(颜色,反光程度,…)
漫反射
一根光线从光源发出,照射到着色点后,会沿四周反射,即为漫反射。
Lambert’s Cosine Law 描述了漫反射的强度与光线入射角的关系。
当光线垂直入射时,物体表面几乎可以接收到全部的光线能量。
当光线倾斜入射时,物体表面接收到的光线能量会减少。
当光线平行于物体表面时,物 ...
图形学光栅化
光栅化
光栅化是把标准化立方体渲染到屏幕上的过程
屏幕的定义:
一段像素数组
像素的数组长度就是分辨率的尺寸
屏幕是一个典型的光栅成像设备
像素的定义:
Pixel 是 Picture Element 的缩写
一个简单的假设是每个像素认为是一个拥有单一颜色的小正方形(当然还有更复杂的假设放在后面讨论)
每个像素的颜色可以用 RGB 三个分量来表示
屏幕空间的定义(这里和虎书中的定义有所差别):
屏幕空间是一个二维坐标系,原点在左下角,x 轴向右,y 轴向上
每个像素的索引由(x, y)唯一表示,x, y 均为整数
像素索引的范围是 [0,width−1]×[0,height−1][0, width-1] \times [0, height-1][0,width−1]×[0,height−1]
像素的中心点坐标为 (x+0.5,y+0.5)(x + 0.5, y + 0.5)(x+0.5,y+0.5)
屏幕空间的坐标范围是 [0,width]×[0,height][0, width] \times [0, height][0,width]×[0,height]
Vie ...
椭圆周长公式推导
参考资料
本文是针对视频
https://www.bilibili.com/video/BV1ZF411f7Xv
整理的笔记
推导
椭圆的参数方程:
{x=acosθy=bsinθ\begin{cases}
x = a \cos \theta \\
y = b \sin \theta
\end{cases}
{x=acosθy=bsinθ
对参数方程求微分:
{dx=−asinθdθdy=bcosθdθ\begin{cases}
dx = -a \sin \theta d\theta \\
dy = b \cos \theta d\theta
\end{cases}
{dx=−asinθdθdy=bcosθdθ
则周长可以表示为:
C=∫02πdx2+dy2=∫02π(−asinθ)2+(bcosθ)2dθ=∫02πa2(1−cos2θ)+b2cos2θdθ=∫02πa2−(a2−b2)cos2θdθ=a∫02π1−a2−b2a2cos2θdθ=4a∫0π21−a2−b2a2cos2θdθ\begin{aligned}
C &= \int_0^{2\pi} ...
Hyper-V嵌套虚拟化运行PVE折腾
参考资料
微软官方文档说明的已经很详细了,包括其中网络部分的设置
https://learn.microsoft.com/zh-cn/virtualization/hyper-v-on-windows/user-guide/enable-nested-virtualization#networking-options
环境准备
先在Windows可选功能中将Hyper-V管理平台勾选上,重启电脑后确保可以正常使用Hyper-V创建虚拟机。
创建一个Hyper-V虚拟机,准备安装PVE,我这里虚拟机起名为pve
开启嵌套虚拟化
以管理员身份开启一个PowerShell
12345678910111213# 获取当前所有虚拟机Get-VM# 查看虚拟机处理器相关信息Get-VMProcessor -VMName pve | fl# 可以看到 ExposeVirtualizationExtensions: False# 开启嵌套虚拟化Set-VMProcessor -ExposeVirtualizationExtensions $true -VMName pve# 确认是否成功开启Ge ...
《数学女孩2-费马大定理》阅读笔记 (下)
第 8 章 无穷递降法
8.1 费马大定理
当$n\ge 3 $时,以下方程式不存在自然数解:
xn+yn=znx^n + y^n = z^n
xn+yn=zn
费马大定理证明时间表:
年份
FLT(n)
证明人
1640
FLT(4)
由费马证明
1753
FLT(3)/FLT(6)
由欧拉证明
1825
FLT(5)
由狄利克雷和勒让德证明
1832
FLT(14)
由狄利克雷证明
1839
FLT(7)
由拉梅证明
其中欧拉证明了 FLT(3)其实也相当于把 FLT(6)也证明出来了。
在已经证明出来了 FLT(3)的前提下,证明 FLT(6),使用反证法:
假设方程x6+y6=z6x^6 + y^6 = z^6x6+y6=z6存在自然数解(x,y,z)=(a,b,c)(x,y,z)=(a,b,c)(x,y,z)=(a,b,c)
则a6+b6=c6a^6 + b^6 = c^6a6+b6=c6,即(a2)3+(b2)3=(c2)3(a^2)^3 + (b^2)^3 = (c^2)^3(a2)3+(b2)3=(c2)3
定义(A,B,C)= ...
《数学女孩2-费马大定理》阅读笔记 (上)
第 1 章 将无限宇宙尽收掌心
1.4 时钟巡回
原文中有如下描述:
从 12 开始每隔 2 个空连起来,最后回到 12 可以形成一个六边形。
从 12 开始每隔 3 个空连起来,最后回到 12 可以形成一个四边形。
从 12 开始每隔 4 个空连起来,最后回到 12 可以形成一个三角形。
我们把每隔 4 个空称为“级数为 4”。
当级数为 5 时 5, 10, 3, 8, 1, 6, 11, 4, 9, 2, 7, 12,可以形成完全巡回。
以下是 python 代码模拟实现:
12345678910111213def clock_traverse(step): start = 0 ret = [] while True: start = (start + step) % 12 if start == 0: ret.append(12) return ret ret.append(start)for i in range(1, 12): result = clock_tr ...
一道三角形中求阴影部分面积的题
题目背景
如下图,在 Geogebra 中探索,绘图过程如下
绘制任意的三角形ABC,点E,D分别是AC边上的三等分点,点G,F分别是BC边上的三等分点;
连接AG,AF,BE,BD。
BE与AG,AF分别交于点J,K
BD与AG,AF分别交于点H,I
求出图形中的几个数值如下:
求出三角形ABC的面积t1t_1t1
求出四边形JHIK的面积q1q_1q1
求出四边形HGFI的面积q2q_2q2
求出四边形KEDI的面积q3q_3q3
求出四边形IDCF的面积q4q_4q4
分别绘制出以下点,并显示出动点的运动轨迹:
L(t1,q1)L(t_1,q_1)L(t1,q1)
M(t1,q2)M(t_1,q_2)M(t1,q2)
N(t1,q3)N(t_1,q_3)N(t1,q3)
O(t1,q4)O(t_1,q_4)O(t1,q4)
观察发现L,M,N,O四个点均在各自的过原点的直线上运动,求出各个直线的斜率分别为kL,kM,kN,kOk_L,k_M,k_N,k_OkL,kM,kN,kO,观察数值和图像,得到以下结论:
各自斜率各自为定值, ...
基于线性整数规划求解星穹铁道杯中逸事活动中原料搭配问题
问题描述与数学建模
有以下原料
设第iii个原料属性可用向量si=s_i=si=<甜度,浓度,浓稠度, 1>表示,其中第四分量的单位1后续可用于约束原材料投放的最大数量限制。
提纯浮羊奶: s1=(2,2,0,1)s_1=(2,2,0,1)s1=(2,2,0,1)
椒椒博士: s2=(1,−1,0,1)s_2=(1,-1,0,1)s2=(1,−1,0,1)
冰点苏乐达: s3=(1,−2,0,1)s_3=(1,-2,0,1)s3=(1,−2,0,1)
安神气泡饮: s4=(−1,−1,0,1)s_4=(-1,-1,0,1)s4=(−1,−1,0,1)
怪味浓汁: s5=(−2,1,0,1)s_5=(-2,1,0,1)s5=(−2,1,0,1)
激梦果酱: s6=(0,2,1,1)s_6=(0,2,1,1)s6=(0,2,1,1)
极致糖浆: s7=(0,1,2,1)s_7=(0,1,2,1)s7=(0,1,2,1)
苏花清露: s8=(0,1,−1,1)s_8=(0,1,-1,1)s8=(0,1,−1,1)
夕红果沙司: s9=(0,−1,1,1)s_ ...
吉他自然泛音点计算
设吉他的某弦的最大发声弦长为LLL,设000品的发声频率为aaa,第xxx品的发声频率为f(x)f(x)f(x),对应的发声弦长为g(x)g(x)g(x)。
已知当x=0x=0x=0时,f(0)=a,g(0)=Lf(0)=a,g(0)=Lf(0)=a,g(0)=L
根据物理规律,一根弦振动的发声频率与有效发声弦长呈反比,则有f(x)⋅g(x)=kf(x)\cdot g(x) = kf(x)⋅g(x)=k成立。
当x=0x=0x=0时,可得k=aLk=aLk=aL
由十二平均律可得,第xxx品的发声频率f(x)=2112x⋅af(x)=2^{\frac{1}{12}x} \cdot af(x)=2121x⋅a
琴弦中的某一位置为k⋅Lk \cdot Lk⋅L,则g(x)=k⋅Lg(x)=k \cdot Lg(x)=k⋅L
设k=mnk=\frac{m}{n}k=nm,m,nm,nm,n是互质的两个正整数,1<m<n1<m<n1<m<n。
联立以上关系式,得到2112x⋅mn=12^{\frac{1}{12}x} \cdot \frac{m}{n}= ...