Real-time exploration of regular volume data by adaptive reconstruction of isosurfaces读书笔记

本文讨论使用Octree(八叉树)重建表面的问题。

3 Continuous isosurfaces

讨论连续性问题。

如果在Octree上储存数据,那么在不同大小的格子交界的地方,数据可能会不连续。

本文采用的方法:在大小格子交界处,让大格子在小格子上sample数值:

[……]

继续阅读

OpenGL屏幕像素坐标问题

传给glutMouseFunc()的(x,y)是左上至右下的坐标:x表示离屏幕左边缘的像素数,y表示离屏幕上边缘的像素数,如图:

而glReadPixels()采用的坐标系统则与此不同,它是从左下到右上的。也就是说,x表示离屏幕左边缘的像素数,y表示离屏幕下边缘的像素数,如图:

[……]

继续阅读

读书笔记:A Model for Soap Film Dynamics with Evolving Thickness

3 SOAP FILM DYNAMICS WITH VARYING THICKNESS

3.1 Definitions and Setting

流体在薄膜上的流动遵循带有表面张力项的无粘NS方程:

这个x上面一点就是速度的意思。(1)右端第一项是表面张力。里面的u代表气-液界面[……]

继续阅读

Efficient elasticity for character skinning with contact and collisions部分翻译(碰撞检测部分)

7 约束和碰撞

我们使用点约束(point constraints),这样一方面施加软体约束(例如bone attachments),一方面解决物体之间的碰撞/自碰撞。特别地,我们在规则网格(lattices)上放一些代理点(proxy points),在这些点上记录力,并用三次插值法把这些力[……]

继续阅读

读书笔记:An Introduction to Physically Based Modeling: Rigid Body Simulation I—Unconstrained Rigid Body Dynamics(SIGGRAPH’97 COURSE NOTES)

1 模拟基础

用“状态向量”表示一个质点的状态:

如果三维,就是六个数。这个Y可以扩展到n个质点:

我们先暂且考虑一个质点。F(t)是该质点t时刻所受合力。假设该点有质量m,那么状态向量的变化率就是:

2 刚体基本概念

2.1 位置和方向

质点没有方向[……]

继续阅读

Peskin2002:The immersed boundary method阅读笔记

2 运动方程

文中推导的是不可压缩弹性固体的方程。目标是让弹性方程看起来尽量像流体方程一样。

(q,r,s)是固体上的曲线坐标。X(q,r,s,t)是该固体质点在t时刻的位置。M(q,r,s)是质量密度。由能量密度函数E[X]定义固体材料性质。弹性力就是它的Frechet导数:

[……]

继续阅读

The Material Point Method for Simulating Continuum Materials读书笔记

3 简介

MPM是结合PIC和FLIP而发展的一种算法。MPM对Lagrangian mesh连通性没有要求。

和PIC/FLIP类似,MPM算法在背景Eularian网格的辅助下,隐式处理自碰撞和破碎。与传统的Lagrangian方法(例如FEM算固体)Eularian方法(流体)相比[……]

继续阅读

Guendelman: Coupling Water and Smoke to Thin Deformable and Rigid Shells略读

摘要

本文提出一种流固耦合算法,能处理用三角面片表示的,无穷薄的固体。经典的流固耦合算法在三维格子上表示固体,但薄片没有内部区域,这就需要新方法。我们使用Robust ray casting来辅助插值,有限差分和渲染算法,使得液体不会穿过固体薄片。此外,我们提出了一种新方法,使得在enforc[……]

继续阅读

Bridson:Fluid Simulation for Computer Graphics 11章 流固耦合

单向耦合

如果固体足够小,就可以忽略固体对流体的作用力,只考虑流体对固体的作用力。

固体受到的力分为两种:压力和粘性力。在固体非常小的时候,粘性力占主导,某点处的粘性力等于粘性张量乘以法向,总的受力就是:

这里S代表固体的体积,法向指向固体外部。由于是单向耦合,因此不在固体表面[……]

继续阅读