Vtk模型是一种以文本方式表示的3D模型文件,其能够表示点面信息,而且能够以人类易读易懂的方式以文本的形式存储下来。在科学研究中,这种文件格式使用得非常多,我们这里详细的讲解一下,这种文件格式。
vtk是3D模型的一种格式,现在版本已经到4.0了。你可以在网上找到这种格式的详细解释,当然最好去google搜索。
打开bunny.vtk文件,我们以它来解释vtk文件的格式,其中#是注释的开始
View Raw Code ?
# 这里表示使用的是vtk的3.0版本。虽然4.0版本已经出来了,不过目前广泛使用的仍然是3.0
# vtkDataFileVersion3.0
# 这一行是输出vtk文件的软件写的文字,无论什么都可以。
vtk output
#ASCII,表示这份vtk使用的标准ASCII码字符集
ASCII
# “DATASETPOLYDATA”表示多边形面集,面是由一个个点组成的
DATASETPOLYDATA
# 这里表示这个模型由35947个点组成,每个坐标的分量是一个浮点型
POINTS35947float
# 下面是35947个点的数据
-0.0378297 0.12794 0.00447467 -0.0447794 0.128887 0.00190497 -0.0680095 0.151244 0.0371953
-0.00228741 0.13015 0.0232201 -0.0226054 0.126675 0.00715587 -0.0251078 0.125921 0.00624226
-0.0371209 0.127449 0.0017956 0.033213 0.112692 0.0276861 0.0380425 0.109755 0.0161689
-0.0255083 0.112568 0.0366767 -0.0245306 0.112636 0.0373469 0.0274031 0.12156 0.0212208
-0.0628961 0.158419 -0.0175871 0.0400813 0.104202 0.0221684 0.0451532 0.0931968 0.0111604
..........................................
..........................................
POLYGONS 69451 277804
3 21216 21215 20399
3 9186 9280 14838
3 16020 13433 5187
3 16021 16020 5187
3 20919 20920 21003
3 23418 15239 23127
3 30553 27378 30502
..................
....................
CELL_DATA 69451
POINT_DATA 35947
你可以在 http://wenku.baidu.com/view/a67cdad049649b6648d747fc.htm 这个网站找到vtk 4.0版本的解释。下面对几个重要的段落进行一下解释。
1、# vtk DataFile Version 3.0表示这个vtk文件的版本是3.0。最新版本是4.0,不过改变不大。
2、vtk output表示该文件是名字,一般写成vtk output就可以了,基本上,你没有必要去改变它。
3、ASCII表示该文件的格式,是ascii版本,该位置也可以写binary,那么这个文件就是二进制格式的了。
4、DATASET POLYDATA中的DATASET是关键字表示数据集的意思,POLYDATA表示数据的类型,可以取STRUCTED_POINTS、STRUCTURED_GRID、UNSTRUCTURED_GRID、POLYDATA、FIELD等。这里取的是POLYDATA,表示三角形或者四边形数据。
5、 POINTS 35947 float 表示这个模型由35947个点组成,每个点的分量,其数据类型是浮点型。这一行后面就是35947*3个float型数字了。每三个数字表示一个点。
6、 POLYGONS 69451 277804,POLYGONS是关键字,69451表示模型有69451个多边形组成,后面行的3 21216 21215 20399中的3表示每个多边形由三个顶点组成,如果等于4,那么每个多边形有4个顶点组成。277804表示整个POLYGONS占据的数组的长度,长度计算公式是69451*4 = 277804,乘数4是3 21216 21215 20399这组元素的长度(一共有4个元素),也就每一行元素的个数,这主要是用来计算存储空间的。
7、 接下来后面是69451行数据,每一行是一个多边形面。每个面由3个顶点组成,如3 21216 21215 20399这一行,后面的21216 21215 20399这三个数字,表示在上面的POINTS 35947 float段的顶点索引。
8、 CELL_DATA 69451 表示面的个数,和上面定义的面数目必须一致。
9、 POINT_DATA 35947表示点的个数,和“POINTS 35947 float”定义的也必须相同。 Ok,vtk格式就这么多精髓了,虽然有些关键字这里我们并没有讲到,但是已经足够了,在以后遇到如果不明白,可以质询我们,也可以查查网上的文档,用一下google。
blackboard 黑板(a piece of) chalk 粉笔
slate pencil 石板笔
wall map 挂图
skeleton map 轮廓图,示意图
globe 地球仪
text book 课本
dictionary 词典
encyclopedia 百科全书
atlas 地图集
exercise book 练习本
rough not book 草稿本 (美作:scribbling pad)
blotting paper 吸墨纸
tracing paper 描图纸
squared paper, graph paper 坐标纸
(fountain) pen 自来水笔
ballpoint (pen) 圆珠笔
pencil 铅笔
propelling pencil 自动铅笔
pencil sharpener 铅笔刀,转笔刀
ink 墨水
inkwell 墨水池
rubber, eraser 橡皮
ruler, rule 尺
slide rule 计算尺
set square 三角板
protractor 量角器
compass, pair of compasses 圆规
head 头
throat 喉咙, 咽喉
armpit hair 腋毛
nipple 乳头
chest 胸部
pit 胸口
navel 肚脐
abdomen 腹部
private parts 阴部
thigh 大腿
neck 脖子
shoulder 肩
back 背
waist 腰
hip 臀部
buttock 屁股
skull 颅骨, 头盖骨
collarbone 锁骨
rib 肋骨
backbone 脊骨, 脊柱
shoulder joint 肩关节
shoulder blade 肩胛骨
breastbone 胸骨
elbow joint 肘关节
pelvis 骨盆
kneecap 膝盖骨
bone 骨
skeleton 骨骼
sinew 腱
muscle 肌肉
joint 关节
blood vessel 血管
vein 静脉
artery 动脉
capillary 毛细血管
nerve 神经
spinal marrow 脊髓
brain 脑
respiration 呼吸
windpipe 气管
lung 肺
heart 心脏
diaphragm 隔膜
exhale 呼出
inhale 呼入
internal organs 内脏
gullet 食管
stomach 胃
liver 肝脏
gall bladder 胆囊
pancreas 胰腺
spleen 脾
duodenum 12指肠
small intestine 小肠
large intestine 大肠
blind gut 盲肠
vermiform appendix 阑尾
rectum 直肠
anus 肛门
bite 咬
chew 咀嚼
knead 揉捏
swallow 咽下
digest 消化
absord 吸收
discharge 排泄
excrement 粪便
kidney 肾脏
bladder 膀胱
penis 阴茎
testicles 睾丸
scroticles 阴囊
urine 尿道
ovary 卵巢
womb 子宫
vagina 阴道
lion 狮子
crow 乌鸦
cat 猫
mouse 老鼠
peacock 孔雀
frog 青蛙
elephant 大象
monkey 猴子
snake 蛇
chicken 小鸡
dragonfly 蜻蜓
mantis 螳螂
pug-dog 狮子狗
large meatball 狮子头
leopard 豹
turtledove 斑鸠
zebra 斑马
giraffe 长颈鹿
rhinoceros 犀牛
lizard 蜥蜴
cricket 蟋蟀
tiger 老虎
butterfly 蝴蝶
locust 蝗虫
fox 狐狸
mandarin duck an affectionate couple 鸳鸯
ostrich 鸵鸟
siskin 黄雀
oriole 黄莺
weasel 黄鼠狼
phoenix 凤凰
tortoise 乌龟
inkfish 乌贼
centipede 蜈蚣
hippo 河马
panda 熊猫
owl 猫头鹰
bear 熊
rabbit 兔子
bunny 小兔子
swallow 燕子
swan goose 鸿雁
whale 鲸鱼
shark 鲨鱼
seal 海豹
sea gull 海鸥
swan 天鹅
crane 鹤
antelope 羚羊
sea horse 海马
sea lion 海狮
jelly fish 海蜇
squirrel 松鼠
grouse 松鸡
hedgehog 刺猬
dragon 龙
spider 蜘蛛
cuckoo 杜鹃
turtle 海龟
cow 母牛
sheep 羊
goat 山羊
pigeon 鸽子
goose 鹅
pig 猪
dog 狗
trout 鳟鱼
silver carp 白鲢
salmon 大马哈鱼
sardine 沙丁鱼
squid 鱿鱼
abalone 鲍鱼
hair-tail 带鱼
green turtle 甲鱼
crab 螃蟹
lobster 龙虾
prawn 对虾
shrimp 小虾
oyster 牡蛎
sea cucumber 海参
sea jelly 海蜇
ambulance / 5AmbjulEns/ 救护车
bike / baik/ 自行车
bicycle / 5baisikl/ 自行车
motorcycle / 5moutEsaikl/ 摩托车
cart / ka:t/ 二轮马车
carriage / 5kAridV/ 四轮马车
car / ka:/ 小汽车
jeep / dVi:p/ 吉普车
tractor / 5trAktE/ 拖拉机
lorry / 5lRri/ 重型卡车
truck / trQk/ 卡车
bus / bQs/ 大客车
coach / kEutF/ 大客车
van / vAn/ 厢式货车
taxi / 5tAksi/ 计程汽车,出租汽车
subway / 5sQbwei/ 地铁
railway / 5reilwei/ 铁路
train / trein/ 火车
locomotive / 5lEukEmEutiv/ 火车头
express / iks5pres/ 快客列车
boat / bEut/ 小船
ship / Fip/ 船
yacht / jRt/ 游船
vessel / 5vesl/ 大船
warship / 5wR:Fip/ 军舰
aeroplane / 5ZErEplein/ 飞机
plane / plein/ 飞机
aircraft / 5ZEkra:ft/ 飞机
airplane / 5ZEplein/ 飞机
jet / dVet/ 喷气飞机
spaceship / 5speisFip/ 宇宙飞船
space shuttle / / 航天飞机
helicopter / 5helikRptE/ 直升飞机
while(fin.read((char*)&Bunny, 80)){
cout <<"Now is " <<yourTurn++ <<" turn and Bunny is\n"
Bunny.ShowSequence()
Bunny.SetSequence(0, 0)
cout <<endl
}
fin.eof()只有在读入错误时才设置相应的表示位,普遍的写法是读的放在while里面,还比如while(cin>>i)之类的!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)