水泡动画模拟(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 ...
随机推荐
- jquery制作论坛或社交网站的每天打卡签到特效
效果:http://hovertree.com/texiao/jquery/50/ 现在许多社区,购物等网站都设置签到功能,打开可以收获经验.虚拟币等,提高用户粘性,增加浏览量,是一个不错的功能.本文 ...
- 使用js批量选中功能实现更改数据库中的status状态值(批量展示)
我们在开发项目的时候经常会在后台管理时用到批量展示功能来动态的修改数据库的值.下面以修改数据库的status状态值来实现批量展示功能.批量选中功能引用js来实现.前端html代码: <table ...
- 【Java每日一题】20161213
package Dec2016; public class Ques1213 { public static void main(String[] args){ String str1 = " ...
- svg.js教程及使用手册详解(一)
做毕设的时候,因为要使用到画图和自定义动画,所以接触到了SVG.网上关于SVG和Canvas的对比很多,具体的辨析这里就不赘言.网上关于SVG的所谓教程基本上都是SVG本身,但是却没有一个针对svg. ...
- 网站banner无缝轮播
网站banner无缝轮播 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> ...
- ASP.NET Core 运行原理剖析1:初始化WebApp模版并运行
ASP.NET Core 运行原理剖析1:初始化WebApp模版并运行 核心框架 ASP.NET Core APP 创建与运行 总结 之前两篇文章简析.NET Core 以及与 .NET Framew ...
- 程序员用HTML5给女朋友制作的3D相册
程序员给女朋友用HTML5制作的3D相册,使用鼠标拖拽,能看到3D旋转效果,点击相片,相片能放大,移近.程序员发挥自己的专长,这是那些不懂编程的人望尘莫及的.本相册使用了HTML5的画布技术,需要谷歌 ...
- Group-buy项目总结
这是我做的第一个移动端项目,和传统PC端网站不同的是,做移动端的网站要适配各种尺寸的设备. 在默认情况下,移动设备上的viewport都是要大于浏览器可视区域的,这是因为考虑到移动设备的分辨率相对于桌 ...
- 把简单做好也不简单-css水平垂直居中
44年前我们把人送上月球,但在CSS中我们仍然不能很好实现水平垂直居中. 作者:Icarus 原文链接:http://xdlrt.github.io/2016/12/15/2016-12-15 水平垂 ...
- 天津政府应急系统之GIS一张图(arcgis api for flex)讲解(三)显示地图坐标系模块
config.xml文件的配置如下: <widget left="3" bottom="3" config="widgets/Coordinat ...