HTML5在线教程和技术博客

  • 三维向量的简单运算和实用意义

    在WebGL的实际应用中我们广泛使用向量的几何运算来计算角度、距离,判断点线、点面之间的关系,比如物体之间的碰撞检测。本文简要介绍三维计算机图形学中常用的基本运算的概念及其用途。点积(Dot Product)点乘比较简单,是相应元素的乘积的和:V1( x1, y1, z1)·V2(x2, y2, z2) = x1*x2 + y1*y2 + z1*z2;注意结果不是一个...

    阅读全文 收藏 评论 (0) 阅读 (8858) 2016-07-31 21:18:08  
  • 深度贴图(depth map)概念简介和生成流程

    Depth map 深度图是一张2D图片,每个像素都记录了从视点(viewpoint)到遮挡物表面(遮挡物就是阴影生成物体)的距离,这些像素对应的顶点对于观察者而言是“可见的”。Depth map中像素点记录的深度值为lenth1;然后从视点出现,计算物体顶点v到视点的距离,记为lenth2;比较二者大小,来确定“v”是否被遮挡。该术语的同义...

    阅读全文 收藏 评论 (1) 阅读 (11276) 2016-07-25 08:58:42  
  • 粒子运动模拟 - Verlet积分算法简介

    Verlet算法是经典力学(牛顿力学)中的一种最为普遍的积分方法,被广泛运用在分子运动模拟(Molecular Dynamics Simulation),行星运动以及织物变形模拟等领域。Verlet算法要解决的问题是,给定粒子t时刻的位置r和速度v,得到t+dt时刻的位置r(t+dt)和速度v(t+dt)。最简单的方法是前向计算(考虑当前和未来)的速度位移公式...

    阅读全文 收藏 评论 (0) 阅读 (13232) 2016-07-21 13:52:11  
  • Blender2.7 快捷键一览表

    通用操作
    停止当前操作:ESC
    快捷搜索:SPACE撤销:ctrl+z重做:ctrl+shift+z渲染:F12
    单选:鼠标右键(RMB)全选:A
    框选:B
    刷选:C
    套选:CTRL+鼠标左键(LMB)
    删除:X/Delete
    复制:Shift+D
    添加:Shift+A取消:Esc, RMB确认:Return, LMB界面操作F5: 工具栏位置对称切换
    SH...

    阅读全文 收藏 评论 (1) 阅读 (8074) 2016-07-06 08:36:56  
  • WebVR简介和常用资源链接

    什么是WebVR这是一个实验性的JavaScript API,提供了在用户网页浏览器中访问虚拟现实设备的统一接口。当前主流VR设备如Oculus Rift DK2、谷歌的CardBoard、三星的Gear VR以及HTC Vive。其中Vive和DK2都是高端专业VR设备,Gear VR属于中端设备,CardBoard是入门级的VR设备。现在体验VR,一般你需要在VR设备的前方加上一个手...

    阅读全文 收藏 评论 (0) 阅读 (9537) 2016-06-18 14:42:32  
  • 如何实现SVG clipPath自适应被裁剪对象

    CSS3中引入的clip-path(裁剪路径)属性是一个很强大的特性。
    clip-path的含义如下图所示,好比剪纸一样,你用剪刀沿着某条路径把目标对象(图像或元素)裁剪成我们想要的形状。
    clip-path支持多种方式,如基本的图形(多边形polygon(), 圆形circle(), inset() (用来定义内部矩形), 和椭圆 ellipse()),也支持直接...

    阅读全文 收藏 评论 (1) 阅读 (11513) 2016-06-08 10:49:28  
  • 如何使用WebGL创建一个逼真的下雨动画

    之前写过文章来分别讲解如何使用CSS3和Canvas2D实现过雨滴和下雨动画。通过背景处理看起来也有视觉上的3D效果,但并非真正的3D场景,如果要加入用户交互,进行360°全景浏览就很难实现,并且粒子放大后会失真。今天我们使用WebGL来实现一个真正3D建模的下雨动画,所使用的技术可用于很多场景。[TD_Editor] data-height=300 d...

    阅读全文 收藏 评论 (0) 阅读 (11871) 2016-06-03 19:49:19  
  • IE各版本CSS Hack(兼容性处理)语法速查表

    为了兼容IE各个版本,需要在CSS中添加额外的代码,比如以前常用的_width。之所以工作,是因为浏览器会忽略不能解析的样式规则,因此举个例子来说,把_width写在width下面,对于非IE浏览器会解析到width,而对于IE6来说,会用_width覆盖前面的width规则,从而达到针对IE6浏览器的兼容。对于IE其他版本(6~11),也存在同样的兼...

    阅读全文 收藏 评论 (0) 阅读 (9058) 2016-06-03 13:24:24