水泡动画模拟(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 ...
随机推荐
- 实用的CSS3属性和使用技巧
CSS可以改进网站的设计并且开拓网站设计更多的可能性,可以令你的网页更具吸引力.对于前端开发者.网站设计师来说,掌握并熟练应用CSS是一项必不可少的技能. 下面列出了一些非常实用的CSS3属性和使用技 ...
- sql语句优化SQL Server
MS SQL Server查询优化方法查询速度慢的原因很多,常见如下几种 1.没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) 2.I/O吞吐量小,形成了 ...
- 使用SwipeListView实现滑动效果
QQ的滑动删除效果很不错,要实现这种效果,可以使用SwipeListView.1. 下载com.fortysevendeg.swipelistview这个项目(以前GitHub上有,现在GitHub上 ...
- python 优矿自动化交易
一.进入官网,打开notebook 自己新建 notebook 二.在代码中编写自己的交易策略 https://uqer.io/help/faqApi/#account相关属性 在帮助文档中可以找到 ...
- 1、ASP.NET MVC入门到精通——新语法
本系列目录:ASP.NET MVC4入门到精通系列目录汇总 在学习ASP.NET MVC之前,有必要先了解一下C#3.0所带来的新的语法特性,这一点尤为重要,因为在MVC项目中我们利用C#3.0的新特 ...
- 解决jQuery多个版本,与其他js库冲突方法
jQuery多个版本或和其他js库冲突主要是常用的$符号的问题,这个问题 jquery早早就有给我们预留处理方法了,下面一起来看看解决办法. 1.同一页面jQuery多个版本或冲突解决方法. < ...
- Json to JObject转换的使用方法
Linq to JSON是用来操作JSON对象的.可以用于快速查询,修改和创建JSON对象.当JSON对象内容比较复杂,而我们仅仅需要其中的一小部分数据时,可以考虑使用Linq to JSON来读取和 ...
- First,FirstOrDefault,Single,SingleOrDefault的区别
操作符 如果源序列是空的 源序列只包含一个元素 源序列包含多个元素 First 抛异常 返回该元素 返回第一个元素 FirstOrDefault 返回default(TSource) 返回该元素 返回 ...
- JavaScript基本语法(四)
一. JavaScript 函数 1.函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块.我们可以将一些常用的代码封装成函数,待用到的时候就能直接调用使用.利用函数可以使代码的组织结构 ...
- php每天一题:怎么在不使用第三个变量的情况下交换两个变量的值
$a = 'php'; $b = 'my'; list($a,$b) = array($b,$a); echo $a,$b; 很简单,大家试一下是不是交换了!