学习路上的一些个人疑惑与概念的记录,若有错误,请各位dalao指点一二。
一句话:
欧几里得空间就是在对现实空间的规则抽象和推广(从n<=3推广到有限n维空间)。
简单来说,如果不是数学专业学生,那么**平常我们生活、思考、做题的时候用到的空间都是欧式空间。**当接触到非欧空间的时候,才会去区分欧式空间和非欧空间。
(Reference:知乎:“如何通俗地解释欧氏空间?”中@恒仔、@白如冰、@周欣宇的回答)
由此可得,坐标系变换、旋转矩阵、变换矩阵等均属于欧式变换。
范数,是具有“长度”概念的函数。
在线性代数、泛函分析及相关的数学领域,范数是一个函数,是矢量空间内的所有矢量赋予非零的正长度或大小。半范数可以为非零的矢量赋予零长度。
定义范数的矢量空间是赋范矢量空间;同样,定义半范数的矢量空间就是赋半范矢量空间。
在二维的欧氏几何空间 R中定义欧氏范数,在该矢量空间中,元素被画成一个从原点出发的带有箭头的有向线段,每一个矢量的有向线段的长度即为该矢量的欧氏范数。
(Reference:百度百科)
一般将任意向量x的lp -范数定义为:
简而言之,
给定向量 x = (x1, x2, x3, … xn)
L1范数:向量各个元素绝对值之和,
L2范数:向量各个元素绝对值平方求和然后平方根,
Lp范数:向量各个元素绝对值p次方求和然后1/p次方,
L∞ (Lc范数)范数:向量各个元素求绝对值,其中的最大值。
(Reference:知乎@Xinyu Chen、CSDN@Jinxiaoyu886)
(Reference:CSDN@柳婼)
1. 标量对矩阵求导的法则(节选):
(Reference:知乎@长躯鬼侠)
2. 矩阵对矩阵求导(节选)
用N+1个变量来描述N维坐标,以解决在投影空间中进行图像和几何处理。
齐次坐标描述具有缩放不变性/尺寸不变性(scale invariant)。
(Reference:360个人图书馆:“齐次坐标”)
旋转不变性:只要对特征定义了方向,然后在同一个方向上进行特征描述就可以实现旋转不变性。
尺度不变性:为了实现尺度不变性,需要给特征加上尺度因子。在进行特征描述的时候,将尺度统一就可以实现尺度不变性了(换言之,取一标准度量尺寸,以此标准度量尺寸来评价图像中某部分物体的尺寸,其尺寸不随图像的缩放与旋转而改变)。
所谓的旋转不变性和尺度不变性的原理,就是我们在描述一个特征之前,将两张图像都变换到同一个方向和同一个尺度上,然后再在这个统一标准上来描述这个特征。同样的,如果在描述一个特征之前,将图像变换到同一个仿射尺度或者投影尺度上,那么就可以实现仿射不变性和投影不变性。
(Reference:CSDN@冰雪凌萱)
Windows是一个以虚拟内存为基础的操作系统,很多时候,进程的代码和数据并不全部装入内存,进程的某一段装入内存后,还可能被换出到外存,当再次需要时,再装入内存。两次装入的地址绝大多数情况下是不一样的。也就是说,同一对象在内存中的地址会变化。那么,程序怎么才能准确地访问到对象呢?为了解决这个问题,Windows引入了句柄。
系统为每个进程在内存中分配一定的区域,用来存放各个句柄,即一个个32位无符号整型值(32位操作系统中)。每个32位无符号整型值相当于一个指针,指向内存中的另一个区域(我们不妨称之为区域A)。而区域A中存放的正是对象在内存中的地址。当对象在内存中的位置发生变化时,区域A的值被更新,变为当前时刻对象在内存中的地址,而在这个过程中,区域A的位置以及对应句柄的值是不发生变化的。这种机制,用一种形象的说法可以表述为:有一个固定的地址(句柄),指向一个固定的位置(区域A),而区域A中的值可以动态地变化,它时刻记录着当前时刻对象在内存中的地址。这样,无论对象的位置在内存中如何变化,只要我们掌握了句柄的值,就可以找到区域A,进而找到该对象。而句柄的值在程序本次运行期间是绝对不变的,我们(即系统)当然可以掌握它。
所以,我们可以这么理解句柄:
数值上,是一个32位无符号整型值(32位系统下);
逻辑上,相当于指针的指针;
形象理解上,是Windows中各个对象的一个唯一的、固定不变的ID;
作用上,Windows使用句柄来标识诸如窗口、位图、画笔等对象,并通过句柄找到这些对象。
关于句柄,再交代一些关键性细节:
1.所谓“唯一”、“不变”是指在程序的一次运行中。如果本次运行完,关闭程序,再次启动程序运行,那么这次运行中,同一对象的句柄的值和上次运行时比较,一般是不一样的。
其实这理解起来也很自然,所谓“一把归一把,这把是这把,那把是那把,两者不相干”(“把”是形象的说法,就像打牌一样,这里指程序的一次运行)。
2.句柄是对象生成时系统指定的,属性是只读的,程序员不能修改句柄。
3.不同的系统中,句柄的大小(字节数)是不同的,可以使用sizeof()来计算句柄的大小。
4.通过句柄,程序员只能调用系统提供的服务(即API调用),不能像使用指针那样,做其它的事。
(Reference:博客园@konglingbin)