水泡动画模拟(Marching Cubes)
Marching Cubes算法是三维离散数据场中提取等值面的经典算法,其主要应用于医学领域的可视化场景,例如CT扫描和MRI扫描的3D重建等。
算法主要的思想是在三维离散数据场中通过线性插值来逼近等值面,具体如下:三维离散数据场中每个栅格单元作为一个体素,体素的每个顶点都存在对应的标量值。如果体素顶点上的值大于或等于等值面值,则定义该顶点位于等值面之外,标记为“0”;而如果体素顶点上的值小于等值面值,则定义该顶点位于等值面之内,标记为“1”。由于每个体素单元有8个顶点,那么共存在2^8 = 256种情形,下图是Marching Cubes算法的15种基本情形,其他241种情形可以通过这15种基本情形的旋转、映射等方式实现。

每个体素单元上顶点和边的索引规则如下图左所示,假如体素下方的顶点3的值小于等值面值,其他顶点上的值都大于等值面值(如下图右所示),那么我们可以生成一个与体素边2,3,11相交的三角面片,而三角面片顶点的具体位置则需要根据等值面值和边顶点3-2,3-0,3-7的值线性插值计算得到。


对于与等值面存在交点的体素边,交点坐标用P表示,P1、P2代表边上两个端点的坐标,V1、V2代表这两个端点上的值,V代表等值面值,那么交点坐标的计算公式如下:
P = P1 + (V – V1)·(P2 – P1)/(V2 – V1)
算法第一步:通过edgeTable表判断等值面和体素单元哪一条边相交
体素单元顶点状态的索引号定义规则如下:

cubeindex = ;
if (V[] < isolevel) cubeindex |= ;
if (V[] < isolevel) cubeindex |= ;
if (V[] < isolevel) cubeindex |= ;
if (V[] < isolevel) cubeindex |= ;
if (V[] < isolevel) cubeindex |= ;
if (V[] < isolevel) cubeindex |= ;
if (V[] < isolevel) cubeindex |= ;
if (V[] < isolevel) cubeindex |= ;
以上图所示为例,仅顶点3标记为“1”,其他顶点标记为“0”,那么体素单元的顶点状态为0000 1000或者8,通过查找表得到edgeTable[8] = 1000 0000 1100,意味着体素单元的边2,3,11和等值面相交,然后通过线性插值计算各个交点的位置。
算法第二步:通过triTable表生成对应三角面片的组成情况
还是以上图所示为例,通过查找表得到triTable[8] = {3, 11, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},意味着该种顶点状态可以生成三角面片(3, 11, 2),代表三角面片的3个顶点为边3,11,2和等值面相交的交点。
经过上述步骤之后,我们可以得到等值面的点面信息。为了进一步完善显示效果,需要调整顶点法向。假设顶点(i, j, k)上的值为f(i, j, k),采用中心差分方法可以计算该点处的梯度矢量:

对G进行归一化,得到顶点(i, j, k)上的单位法向量,然后对体素单元上8个顶点的法向量进行线性插值就可得到三角面片各个顶点的显示法向量。



edgeTable查找表
int edgeTable[]={
0x0 , 0x109, 0x203, 0x30a, 0x406, 0x50f, 0x605, 0x70c,
0x80c, 0x905, 0xa0f, 0xb06, 0xc0a, 0xd03, 0xe09, 0xf00,
0x190, 0x99 , 0x393, 0x29a, 0x596, 0x49f, 0x795, 0x69c,
0x99c, 0x895, 0xb9f, 0xa96, 0xd9a, 0xc93, 0xf99, 0xe90,
0x230, 0x339, 0x33 , 0x13a, 0x636, 0x73f, 0x435, 0x53c,
0xa3c, 0xb35, 0x83f, 0x936, 0xe3a, 0xf33, 0xc39, 0xd30,
0x3a0, 0x2a9, 0x1a3, 0xaa , 0x7a6, 0x6af, 0x5a5, 0x4ac,
0xbac, 0xaa5, 0x9af, 0x8a6, 0xfaa, 0xea3, 0xda9, 0xca0,
0x460, 0x569, 0x663, 0x76a, 0x66 , 0x16f, 0x265, 0x36c,
0xc6c, 0xd65, 0xe6f, 0xf66, 0x86a, 0x963, 0xa69, 0xb60,
0x5f0, 0x4f9, 0x7f3, 0x6fa, 0x1f6, 0xff , 0x3f5, 0x2fc,
0xdfc, 0xcf5, 0xfff, 0xef6, 0x9fa, 0x8f3, 0xbf9, 0xaf0,
0x650, 0x759, 0x453, 0x55a, 0x256, 0x35f, 0x55 , 0x15c,
0xe5c, 0xf55, 0xc5f, 0xd56, 0xa5a, 0xb53, 0x859, 0x950,
0x7c0, 0x6c9, 0x5c3, 0x4ca, 0x3c6, 0x2cf, 0x1c5, 0xcc ,
0xfcc, 0xec5, 0xdcf, 0xcc6, 0xbca, 0xac3, 0x9c9, 0x8c0,
0x8c0, 0x9c9, 0xac3, 0xbca, 0xcc6, 0xdcf, 0xec5, 0xfcc,
0xcc , 0x1c5, 0x2cf, 0x3c6, 0x4ca, 0x5c3, 0x6c9, 0x7c0,
0x950, 0x859, 0xb53, 0xa5a, 0xd56, 0xc5f, 0xf55, 0xe5c,
0x15c, 0x55 , 0x35f, 0x256, 0x55a, 0x453, 0x759, 0x650,
0xaf0, 0xbf9, 0x8f3, 0x9fa, 0xef6, 0xfff, 0xcf5, 0xdfc,
0x2fc, 0x3f5, 0xff , 0x1f6, 0x6fa, 0x7f3, 0x4f9, 0x5f0,
0xb60, 0xa69, 0x963, 0x86a, 0xf66, 0xe6f, 0xd65, 0xc6c,
0x36c, 0x265, 0x16f, 0x66 , 0x76a, 0x663, 0x569, 0x460,
0xca0, 0xda9, 0xea3, 0xfaa, 0x8a6, 0x9af, 0xaa5, 0xbac,
0x4ac, 0x5a5, 0x6af, 0x7a6, 0xaa , 0x1a3, 0x2a9, 0x3a0,
0xd30, 0xc39, 0xf33, 0xe3a, 0x936, 0x83f, 0xb35, 0xa3c,
0x53c, 0x435, 0x73f, 0x636, 0x13a, 0x33 , 0x339, 0x230,
0xe90, 0xf99, 0xc93, 0xd9a, 0xa96, 0xb9f, 0x895, 0x99c,
0x69c, 0x795, 0x49f, 0x596, 0x29a, 0x393, 0x99 , 0x190,
0xf00, 0xe09, 0xd03, 0xc0a, 0xb06, 0xa0f, 0x905, 0x80c,
0x70c, 0x605, 0x50f, 0x406, 0x30a, 0x203, 0x109, 0x0 };
triTable查找表
int triTable[][] =
{{-, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -},
{, , , -, -, -, -, -, -, -, -, -, -, -, -, -},
{, , , -, -, -, -, -, -, -, -, -, -, -, -, -},
{, , , , , , -, -, -, -, -, -, -, -, -, -},
{, , , -, -, -, -, -, -, -, -, -, -, -, -, -},
{, , , , , , -, -, -, -, -, -, -, -, -, -},
{, , , , , , -, -, -, -, -, -, -, -, -, -},
{, , , , , , , , , -, -, -, -, -, -, -},
{, , , -, -, -, -, -, -, -, -, -, -, -, -, -},
{, , , , , , -, -, -, -, -, -, -, -, -, -},
{, , , , , , -, -, -, -, -, -, -, -, -, -},
{, , , , , , , , , -, -, -, -, -, -, -},
{, , , , , , -, -, -, -, -, -, -, -, -, -},
{, , , , , , , , , -, -, -, -, -, -, -},
{, , , , , , , , , -, -, -, -, -, -, -},
{, , , , , , -, -, -, -, -, -, -, -, -, -},
{, , , -, -, -, -, -, -, -, -, -, -, -, -, -},
{, , , , , , -, -, -, -, -, -, -, -, -, -},
{, , , , , , -, -, -, -, -, -, -, -, -, -},
{, , , , , , , , , -, -, -, -, -, -, -},
{, , , , , , -, -, -, -, -, -, -, -, -, -},
{, , , , , , , , , -, -, -, -, -, -, -},
{, , , , , , , , , -, -, -, -, -, -, -},
{, , , , , , , , , , , , -, -, -, -},
{, , , , , , -, -, -, -, -, -, -, -, -, -},
{, , , , , , , , , -, -, -, -, -, -, -},
{, , , , , , , , , -, -, -, -, -, -, -},
{, , , , , , , , , , , , -, -, -, -},
{, , , , , , , , , -, -, -, -, -, -, -},
{, , , , , , , , , , , , -, -, -, -},
{, , , , , , , , , , , , -, -, -, -},
{, , , , , , , , , -, -, -, -, -, -, -},
{, , , -, -, -, -, -, -, -, -, -, -, -, -, -},
{, , , , , , -, -, -, -, -, -, -, -, -, -},
{, , , , , , -, -, -, -, -, -, -, -, -, -},
{, , , , , , , , , -, -, -, -, -, -, -},
{, , , , , , -, -, -, -, -, -, -, -, -, -},
{, , , , , , , , , -, -, -, -, -, -, -},
{, , , , , , , , , -, -, -, -, -, -, -},
{, , , , , , , , , , , , -, -, -, -},
{, , , , , , -, -, -, -, -, -, -, -, -, -},
{, , , , , , , , , -, -, -, -, -, -, -},
{, , , , , , , , , -, -, -, -, -, -, -},
{, , , , , , , , , , , , -, -, -, -},
{, , , , , , , , , -, -, -, -, -, -, -},
{, , , , , , , , , , , , -, -, -, -},
{, , , , , , , , , , , , -, -, -, -},
{, , , , , , , , , -, -, -, -, -, -, -},
{, , , , , , -, -, -, -, -, -, -, -, -, -},
{, , , , , , , , , -, -, -, -, -, -, -},
{, , , , , , , , , -, -, -, -, -, -, -},
{, , , , , , -, -, -, -, -, -, -, -, -, -},
{, , , , , , , , , -, -, -, -, -, -, -},
{, , , , , , , , , , , , -, -, -, -},
{, , , , , , , , , , , , -, -, -, -},
{, , , , , , , , , -, -, -, -, -, -, -},
{, , , , , , , , , -, -, -, -, -, -, -},
{, , , , , , , , , , , , -, -, -, -},
{, , , , , , , , , , , , -, -, -, -},
{, , , , , , , , , -, -, -, -, -, -, -},
{, , , , , , , , , , , , -, -, -, -},
{, , , , , , , , , , , , , , , -},
{, , , , , , , , , , , , , , , -},
{, , , , , , -, -, -, -, -, -, -, -, -, -},
{, , , -, -, -, -, -, -, -, -, -, -, -, -, -},
{, , , , , , -, -, -, -, -, -, -, -, -, -},
{, , , , , , -, -, -, -, -, -, -, -, -, -},
{, , , , , , , , , -, -, -, -, -, -, -},
{, , , , , , -, -, -, -, -, -, -, -, -, -},
{, , , , , , , , , -, -, -, -, -, -, -},
{, , , , , , , , , -, -, -, -, -, -, -},
{, , , , , , , , , , , , -, -, -, -},
{, , , , , , -, -, -, -, -, -, -, -, -, -},
{, , , , , , , , , -, -, -, -, -, -, -},
{, , , , , , , , , -, -, -, -, -, -, -},
{, , , , , , , , , , , , -, -, -, -},
{, , , , , , , , , -, -, -, -, -, -, -},
{, , , , , , , , , , , , -, -, -, -},
{, , , , , , , , , , , , -, -, -, -},
{, , , , , , , , , -, -, -, -, -, -, -},
{, , , , , , -, -, -, -, -, -, -, -, -, -},
{, , , , , , , , , -, -, -, -, -, -, -},
{, , , , , , , , , -, -, -, -, -, -, -},
{, , , , , , , , , , , , -, -, -, -},
{, , , , , , , , , -, -, -, -, -, -, -},
{, , , , , , , , , , , , -, -, -, -},
{, , , , , , , , , , , , -, -, -, -},
{, , , , , , , , , , , , , , , -},
{, , , , , , , , , -, -, -, -, -, -, -},
{, , , , , , , , , , , , -, -, -, -},
{, , , , , , , , , , , , -, -, -, -},
{, , , , , , , , , , , , , , , -},
{, , , , , , , , , , , , -, -, -, -},
{, , , , , , , , , , , , , , , -},
{, , , , , , , , , , , , , , , -},
{, , , , , , , , , , , , -, -, -, -},
{, , , , , , -, -, -, -, -, -, -, -, -, -},
{, , , , , , , , , -, -, -, -, -, -, -},
{, , , , , , , , , -, -, -, -, -, -, -},
{, , , , , , , , , , , , -, -, -, -},
{, , , , , , , , , -, -, -, -, -, -, -},
{, , , , , , , , , , , , -, -, -, -},
{, , , , , , -, -, -, -, -, -, -, -, -, -},
{, , , , , , , , , -, -, -, -, -, -, -},
{, , , , , , , , , -, -, -, -, -, -, -},
{, , , , , , , , , , , , -, -, -, -},
{, , , , , , , , , , , , -, -, -, -},
{, , , , , , , , , , , , , , , -},
{, , , , , , , , , , , , -, -, -, -},
{, , , , , , , , , , , , , , , -},
{, , , , , , , , , -, -, -, -, -, -, -},
{, , , , , , -, -, -, -, -, -, -, -, -, -},
{, , , , , , , , , -, -, -, -, -, -, -},
{, , , , , , , , , , , , -, -, -, -},
{, , , , , , , , , , , , -, -, -, -},
{, , , , , , , , , -, -, -, -, -, -, -},
{, , , , , , , , , , , , -, -, -, -},
{, , , , , , , , , , , , , , , -},
{, , , , , , , , , -, -, -, -, -, -, -},
{, , , , , , -, -, -, -, -, -, -, -, -, -},
{, , , , , , , , , , , , -, -, -, -},
{, , , , , , , , , , , , , , , -},
{, , , , , , , , , , , , , , , -},
{, , , , , , , , , , , , -, -, -, -},
{, , , , , , , , , , , , , , , -},
{, , , , , , -, -, -, -, -, -, -, -, -, -},
{, , , , , , , , , , , , -, -, -, -},
{, , , -, -, -, -, -, -, -, -, -, -, -, -, -},
{, , , -, -, -, -, -, -, -, -, -, -, -, -, -},
{, , , , , , -, -, -, -, -, -, -, -, -, -},
{, , , , , , -, -, -, -, -, -, -, -, -, -},
{, , , , , , , , , -, -, -, -, -, -, -},
{, , , , , , -, -, -, -, -, -, -, -, -, -},
{, , , , , , , , , -, -, -, -, -, -, -},
{, , , , , , , , , -, -, -, -, -, -, -},
{, , , , , , , , , , , , -, -, -, -},
{, , , , , , -, -, -, -, -, -, -, -, -, -},
{, , , , , , , , , -, -, -, -, -, -, -},
{, , , , , , , , , -, -, -, -, -, -, -},
{, , , , , , , , , , , , -, -, -, -},
{, , , , , , , , , -, -, -, -, -, -, -},
{, , , , , , , , , , , , -, -, -, -},
{, , , , , , , , , , , , -, -, -, -},
{, , , , , , , , , -, -, -, -, -, -, -},
{, , , , , , -, -, -, -, -, -, -, -, -, -},
{, , , , , , , , , -, -, -, -, -, -, -},
{, , , , , , , , , -, -, -, -, -, -, -},
{, , , , , , , , , , , , -, -, -, -},
{, , , , , , , , , -, -, -, -, -, -, -},
{, , , , , , , , , , , , -, -, -, -},
{, , , , , , , , , , , , -, -, -, -},
{, , , , , , , , , , , , , , , -},
{, , , , , , , , , -, -, -, -, -, -, -},
{, , , , , , -, -, -, -, -, -, -, -, -, -},
{, , , , , , , , , , , , -, -, -, -},
{, , , , , , , , , -, -, -, -, -, -, -},
{, , , , , , , , , , , , -, -, -, -},
{, , , , , , , , , -, -, -, -, -, -, -},
{, , , , , , , , , , , , , , , -},
{, , , , , , -, -, -, -, -, -, -, -, -, -},
{, , , , , , -, -, -, -, -, -, -, -, -, -},
{, , , , , , , , , -, -, -, -, -, -, -},
{, , , , , , , , , -, -, -, -, -, -, -},
{, , , , , , , , , , , , -, -, -, -},
{, , , , , , , , , -, -, -, -, -, -, -},
{, , , , , , , , , , , , -, -, -, -},
{, , , , , , , , , , , , -, -, -, -},
{, , , , , , , , , , , , , , , -},
{, , , , , , , , , -, -, -, -, -, -, -},
{, , , , , , , , , , , , -, -, -, -},
{, , , , , , , , , , , , -, -, -, -},
{, , , , , , , , , , , , , , , -},
{, , , , , , , , , , , , -, -, -, -},
{, , , , , , , , , , , , , , , -},
{, , , , , , , , , , , , , , , -},
{, , , , , , , , , , , , -, -, -, -},
{, , , , , , , , , -, -, -, -, -, -, -},
{, , , , , , , , , , , , -, -, -, -},
{, , , , , , , , , , , , -, -, -, -},
{, , , , , , , , , -, -, -, -, -, -, -},
{, , , , , , , , , , , , -, -, -, -},
{, , , , , , , , , , , , , , , -},
{, , , , , , , , , , , , , , , -},
{, , , , , , , , , , , , -, -, -, -},
{, , , , , , , , , , , , -, -, -, -},
{, , , , , , , , , -, -, -, -, -, -, -},
{, , , , , , , , , , , , , , , -},
{, , , , , , -, -, -, -, -, -, -, -, -, -},
{, , , , , , , , , , , , , , , -},
{, , , , , , , , , , , , -, -, -, -},
{, , , , , , -, -, -, -, -, -, -, -, -, -},
{, , , -, -, -, -, -, -, -, -, -, -, -, -, -},
{, , , , , , -, -, -, -, -, -, -, -, -, -},
{, , , , , , , , , -, -, -, -, -, -, -},
{, , , , , , , , , -, -, -, -, -, -, -},
{, , , , , , , , , , , , -, -, -, -},
{, , , , , , , , , -, -, -, -, -, -, -},
{, , , , , , , , , , , , -, -, -, -},
{, , , , , , , , , , , , -, -, -, -},
{, , , , , , , , , , , , , , , -},
{, , , , , , , , , -, -, -, -, -, -, -},
{, , , , , , , , , , , , -, -, -, -},
{, , , , , , , , , , , , -, -, -, -},
{, , , , , , , , , , , , , , , -},
{, , , , , , -, -, -, -, -, -, -, -, -, -},
{, , , , , , , , , -, -, -, -, -, -, -},
{, , , , , , , , , -, -, -, -, -, -, -},
{, , , , , , -, -, -, -, -, -, -, -, -, -},
{, , , , , , , , , -, -, -, -, -, -, -},
{, , , , , , , , , , , , -, -, -, -},
{, , , , , , , , , , , , -, -, -, -},
{, , , , , , , , , , , , , , , -},
{, , , , , , , , , , , , -, -, -, -},
{, , , , , , , , , , , , , , , -},
{, , , , , , , , , , , , , , , -},
{, , , , , , -, -, -, -, -, -, -, -, -, -},
{, , , , , , , , , , , , -, -, -, -},
{, , , , , , , , , -, -, -, -, -, -, -},
{, , , , , , , , , , , , , , , -},
{, , , , , , , , , , , , -, -, -, -},
{, , , , , , , , , -, -, -, -, -, -, -},
{, , , , , , -, -, -, -, -, -, -, -, -, -},
{, , , , , , , , , , , , -, -, -, -},
{, , , -, -, -, -, -, -, -, -, -, -, -, -, -},
{, , , , , , , , , -, -, -, -, -, -, -},
{, , , , , , , , , , , , -, -, -, -},
{, , , , , , , , , , , , -, -, -, -},
{, , , , , , , , , , , , , , , -},
{, , , , , , , , , , , , -, -, -, -},
{, , , , , , , , , , , , , , , -},
{, , , , , , , , , -, -, -, -, -, -, -},
{, , , , , , , , , , , , -, -, -, -},
{, , , , , , , , , , , , -, -, -, -},
{, , , , , , , , , , , , , , , -},
{, , , , , , , , , , , , , , , -},
{, , , , , , -, -, -, -, -, -, -, -, -, -},
{, , , , , , , , , -, -, -, -, -, -, -},
{, , , , , , , , , , , , -, -, -, -},
{, , , , , , -, -, -, -, -, -, -, -, -, -},
{, , , -, -, -, -, -, -, -, -, -, -, -, -, -},
{, , , , , , -, -, -, -, -, -, -, -, -, -},
{, , , , , , , , , -, -, -, -, -, -, -},
{, , , , , , , , , -, -, -, -, -, -, -},
{, , , , , , -, -, -, -, -, -, -, -, -, -},
{, , , , , , , , , -, -, -, -, -, -, -},
{, , , , , , , , , , , , -, -, -, -},
{, , , , , , -, -, -, -, -, -, -, -, -, -},
{, , , -, -, -, -, -, -, -, -, -, -, -, -, -},
{, , , , , , , , , -, -, -, -, -, -, -},
{, , , , , , -, -, -, -, -, -, -, -, -, -},
{, , , , , , , , , , , , -, -, -, -},
{, , , -, -, -, -, -, -, -, -, -, -, -, -, -},
{, , , , , , -, -, -, -, -, -, -, -, -, -},
{, , , -, -, -, -, -, -, -, -, -, -, -, -, -},
{, , , -, -, -, -, -, -, -, -, -, -, -, -, -},
{-, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -}};
本文为原创,转载请注明出处:http://www.cnblogs.com/shushen。
参考文献:
[1] William E. Lorensen and Harvey E. Cline. 1987. Marching cubes: A high resolution 3D surface construction algorithm. SIGGRAPH Comput. Graph. 21, 4 (August 1987), 163-169.
[2] http://graphics.stanford.edu/~mdfisher/MarchingCubes.html
水泡动画模拟(Marching Cubes)的更多相关文章
- 用POP动画模拟真实秒钟摆动效果
用POP动画模拟真实秒钟摆动效果 静态图: 动画图: 此处用到了POP中的Spring系列动画,现提供源码如下: SecondClockView.h 与 SecondClockView.m // // ...
- Marching squares & Marching cubes
提要 Marching squares 主要是用于从一个地图(用二维数组表示)生成轮廓的算法.Marching cubes则相应的是在空间生成网格的方法.最常见的应用就是天气预报中气压图的生成.还经常 ...
- WPF随笔(九)--使用路径动画模拟管道流体流向
原文:WPF随笔(九)--使用路径动画模拟管道流体流向 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/lordwish/article/detail ...
- 使用css3的动画模拟太阳系行星公转
本文介绍使用css3的animation画一个太阳系行星公转的动画,再加以改进,讨论如何画椭圆的运行轨迹.然后分析京东和人人网使用animation的实际案例,最后结合css3的clip-path做一 ...
- JavaScript动画-模拟拖拽
模拟拖拽的原理: x1等于div.offsetLeft y1等于div.offsetTop x2等于ev.clientX(ev表示event事件) y2等于ev.clientY 当我们在方块上按下鼠标 ...
- 闪电动画模拟(Dielectric Breakdown Model)附源码
当两个物体之间存在较大的电势差时会出现放电现象,比如生活中常见的闪电现象,闪电形成的条件就是云层积累了大量负电荷之后与地面之间形成了强大的电势差.目前关于闪电建模的方法比较少,下面介绍一种利用电介击穿 ...
- 使用CSS3动画模拟实现小球自由落体效果
使用纯CSS代码模拟实现小球自由落体效果: html代码如下: <div id="ballDiv"> <div id="ball">&l ...
- jQuery插件css3动画模拟confirm弹窗
相比浏览器自带的alert.confirm,能力所及,我更喜欢所有的东西都是自定义:首先在head标签(当然喜欢其他地方自己看着办)内引入插件样式表和js.<link rel="sty ...
- wow.js让css3动画变动更有趣(滚动页面动画模拟懒加载特效)
CSS3的出现给网站页面增加了活力,网站增色不少,有这么小小的一款插件就能做出很多动画效果. 最重要的是它:简单易用.轻量级.无需 jQuery......他就是wow.js 地址:https://d ...
随机推荐
- ListView灵活的用法
以下是示例的效果图: WinForm的ListView控件是可以分组显示的,还可排序. 可以把ListView的View属性设置为Details 完整项目请到下面网址查找下载 http://hover ...
- 解决BUG:CS1617: 选项“6”对 /langversion 无效;必须是 ISO-1、ISO-2、3、4、5 或 Default
vs 2015的项目用vs2013,更改.net版本之后,打开会报以下错误,原因是配置文件修改出了问题.已经验证是BUG 你只需要把Web.config换成以前的就好了. https://conn ...
- css遮罩代码(已验证)
#mask { background-color: rgb(0, 0, 0); display:none; opacity: 0.0; /* Safari, Opera */ -moz-opacity ...
- Android源码编译make的错误处理
android源码下载:官方下载 或参考android源码下载方式 Android编译版本: PLATFORM_VERSION=4.0.1(最新Android 4.0.1) OS 操作系统平台: Li ...
- KMP算法-next函数求解
KMP函数求解:一种改进的字符串匹配算法,由D.E.Knuth,J.H.Morris和V.R.Pratt同时发现,因此人们称它为KMP算法.KMP算法的关键是利用匹配失败后的信息,尽量减少模式串与主串 ...
- 如何在MFC界面开发中响应Button按钮的Down和Up事件
通过尝试有两种方案可以解决这个问题,第一种方案是通过PreTranslateMessage函数在调度消息之前对消息类型进行筛选,第二种方案是重载CButton类,在重载后的类CForTestButto ...
- laravel 使用artisan命令新增数据库字段
php artisan make:migration create_comments_table <?php use Illuminate\Database\Schema\Blueprint; ...
- Java实现Mysql数据库自动备份
最近项目中有一个这样的需求,要求定时备份数据库.看了一些网上的资料,了解到主要思路是是使用java中的Runtime类的exec()方法,可以直接调用windows的cmd命令,参数就是Mysql的备 ...
- GJM :Unity3D 5.x性能分析工具与应用方法
原帖地址 http://gad.qq.com/content/coursedetail/7180616 Unity Profiler Unity => Window=>Profiler P ...
- 玩转 H5 下拉上滑动效果
在APP中我们经常会在页面下拉时看到一些动效,例如下拉图片跟随放大.下拉刷新出现loading动画等,这个交互细节在各个主流APP以及手机原生系统中随处可见,能为APP增添个性亮点. 一.背景 在我们 ...