`
accpxudajian
  • 浏览: 459948 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

使用vrml三维模型语言构建油田【井斜图】和【连井图】方案

阅读更多
/*
使用vrml三维模型语言构建油田【井斜图】和【连井图】方案:
包括:
1.井身轨迹。
2.垂直投影、水平投影、垂直填充线、水平填充线。
3.靶点(分圆靶、椭圆吧、矩形靶,并标注靶点名称,靶点半径)
4.设计轨道:当前井的设计轨道。
5.邻井:一定半径范围内的邻井,包括:邻井名称和井身轨迹。
6.位偏移:靶点位移和井底相对于井口的位移。
7.连井图:根据层位信息绘制若干口井的连井图,将相同的层位使用同一颜色直线连接。
8.断层:某口井如果有断层,则标注一条红色斜线。



方案概述:使用vrml语言的PROTO扩充节点MyCell,自定义参数和方法,实现井斜图的绘制。
*/
//MyCell节点结构:

PROTO MyCell[
	p_distance_CellToGround 100	#//井底地面 到 井底的距离 默认为100米	  
	p_ground_cell_sum 0	#//井底地面的X轴正方向上单元格数量 (其他方向一样)默认为井的水平最远距离除以单元格宽度	   
	p_ground_cell_width 200	#//井底地面单元格的宽度	默认为100米
	p_y_biaochi_kedu 100	#//Y轴标尺刻度间隔  默认为100米 即深度每下沉100米就标一个刻度	
	p_cell_spine_str ""	#//井身轨迹坐标(字符串格式,注意:不带左右[]符号)		
	p_cell_desing_spine ""	#//井身轨迹设计坐标(字符串格式,注意:不带左右[]符号)		
	p_y_tianchong_start_height 0	#//Y轴填充开始深度距离(从起点开始便画垂直填充线 默认为从井深度的一半开始)
	p_y_tianchong_kedu 100		#//Y轴填充距离(深度没下沉100米就画一条垂直填充线 实际填充线总数效果小于等于预计总数) 
	p_node_color_mfcolor [1 1 0,1 0 0,1 0.5 0.5,0 1 0] #//分别是:井斜图颜色,水平投影颜色,垂直填充线颜色 ,轨道设计颜色
	p_cell_name "井眼"	#//井的名称		 
	p_touying_type "none"	# //空间投影的样式(all全部,h水平填充,v垂直填充,none都不显示)
	p_fill_line_style "none"	#//空间填充线的样式(all全部,h水平填充,v垂直填充,none都不显示)
	p_show_target "false"	#//是否显示靶点 true  or false
	p_show_y_zhou "false"	#//是否显示Y轴
	p_show_nearby_cell "false"	#//是否显示临井
	p_show_target_touyin "false"	#是否显示靶点的水平投影	默认为false不显示
	p_show_design_spine "false"	#//是否显示设计轨道
	p_target_type "02"	#//靶点类型(01=点靶,02=圆靶,03=椭圆靶 04=矩形靶)
	p_target_spine ""	#//靶点的空间坐标信息(可能有多个)
	p_target_radius ""	#//圆靶靶点
	p_target_sacles ""	#//矩形靶水平宽度和垂直半高
	p_target_names "	(A靶),(B靶),(C靶),(D靶),(E靶),(F靶)"	#//各个靶点的名字 (默认6个靶点名字为ABCDEF)
	p_nearby_cells_spine ""		#//临井轨道 (使用;好分隔))
	p_nearby_cells_spine_trans ""	#//临井井口相对于当前井口的偏移	  (使用,好分隔))
	p_nearby_cell_names ""		#//临井名称(使用,好分隔))
	p_lines_scale 1		#//各个线性的缩放比例  只给Extrusion节点内部sacle使用
	p_show_pos_distance  "false"	#//是否显示靶点和井底位偏移
	p_ljt_spines	""	#//连井图井眼轨迹坐标
	p_ljt_spine_trans ""	#//连井图相对于当前井口的偏移	  (使用,好分隔))
	p_show_LJT "false"	#//是否显示连井图
	p_show_LJT_depth "false"	#//是否显示层位深度
	p_show_all "false"	#//显示所有的东西
]{
url	"vrmlscript:
	
	/**
	*  通过字符串创建Node节点并添加到Root 的children中
	* @param str 构成节点的字符串(不允许有双引号\"出现)										
	* @return 一个TransForm的字符串
	*/
	function add(str){..}

	//TODO 初始化方法(自动执行)
	function  initialize(){..}	

	//TODO 初始化参数
	function initParams(){..}

	//TODO 绘制井底地面
	function drawGround(){..}

	//TODO 绘制垂直投影
	function drawCZTY(){..}

	//直线连井图
	function drawZXLJT(){..}
	
	//TODO 绘制井底地面
	function drawGround(){..}

	//TODO 井身轨迹
	function drawCell(){..}

	//TODO 绘制Y轴
	function drawY(){..}
	
	//TODO 垂直标尺 深度标尺
	function drawYBiaoChi(){..}
	
	//TODO 绘制水平投影图
	function drawSPTY(){..}

	//TODO 绘制垂直填充线
	function drawFillLines(){..}
	
	//TODO 绘制垂直投影图
	function drawCZTY(){..}
	
	//TODO 绘制当前最佳视点
	function drawBestView(){..}

	//TODO 靶点
	function drawTarget(){..}

	//设计轨道
	function drawCellDesign(){..}

	//邻井
	function drawNearByCells(){..}
	
"
}


//井斜图应用:
MyCell{p_cell_name "X8"
	p_target_names " A,T31,B,T33"
	p_target_type "01"			  
	p_show_nearby_cell "false"
	p_touying_type "all"
	p_show_all "true"
	p_ground_cell_width	200
	p_ground_cell_sum 10
	p_target_sacles	"30 10,20 15"
	p_target_radius	"40,40"																						   
	p_target_spine "-319.070 -1320 -179.46,-569.070 -1600 -305.46," 
	p_nearby_cells_spine "0 0 0,0 -350.0 0,-0.08 -375.0 0.06,-0.23 -400.0 0.05,-0.41 -425.0 -0.01,-0.37 -450.0 -0.17,...;"
	p_nearby_cells_spine_trans "1424.460 0 -536.070,-846.540 0 409.930,848.410 0 -671.520,1000 0 -1000"
	p_nearby_cell_names	"X6,龙1,X7," 
	p_lines_scale 10				
	p_cell_desing_spine "0 0 0,0 -0.0 -0.0,0 -600.0 -0.0,-6.12 -699.68 -3.33,-24.37 -797.41 -13.26,-36.84 -841.48 -20.05,...."
	p_cell_spine_str "0 0 0,0 -325.0 -0.0,0.19 -350.0 -0.08,0.5 -375.0 0.19,0.96 -399.99 0.57,1.44 -424.98 1.01,..."
}
	

//连井图应用:
MyCell{ 
	p_ljt_spines "cellName=贵州2-4,trans=0 0 0,vdepth=1738.0,fcxx=Ny1:350&E2s:1120&E2d:1360&E1f4:1556.5&E1f3:1738&,breakDepth=0;cellName=贵州2-5,trans=1.550 0 4.600,vdepth=1770.0,fcxx=Ny:351.5&E2s:1074&E2d:1420.5&E1f4:1576&E1f3:1770&,breakDepth=0;cellName=贵州X7,trans=3567.340 0 1385.880,vdepth=1810.0,fcxx=E2s2:745.5&E2s1:986.5&E2d2:1191.5&E2d1:1255&E1f4:1431&E1f3:1635&E1f2:1810&,breakDepth=874,;cellName=贵州3-1,trans=3187.880 0 -782.220,vdepth=1595.0,fcxx=Qd:70&Ny:285&E2s2:738&E2s1:1021&E2d2:1107.5&E2d1:1358&E1f4:1551.5&E1f3:1595&,breakDepth=0;"  
	p_cell_spine_str "0 0 0,0 -325.0 0,0.19 -350.0 0.08,0.5 -375.0 -0.19,0.96 -399.99 -0.57,1.44 -424.98 -1.01,1.9 -449.97 -1.48,2.39 -474.96 " 
	p_show_LJT "true"  
	p_lines_scale 5 
}

//html引用vrml文件:使用embed标签引入
<embed src="mycell.wrl"></embed>

 

 

效果见附件。

 

 

  • 大小: 86.4 KB
分享到:
评论

相关推荐

    vrml建立的三维场景

    VRML,全称为Virtual Reality Modeling Language(虚拟现实建模语言),是一种用于创建和展示交互式三维图形的标准格式,尤其在互联网上广泛应用于构建虚拟世界。3Dmax,则是一款由Autodesk公司开发的专业3D建模、...

    医学脏器VRML三维重建的动态切割.pdf

    本研究的结果表明,使用VRML建模语言和JavaScript语言可以实现高质量的医学脏器三维重建和动态切割。这项技术在临床实际应用中具有很高的价值。 知识点: 1. 虚拟现实建模语言(VRML):一种基于文本的标记语言,...

    基于VRML与JavaScript三维模型的交互设计.pdf

    通过使用VRML技术创建的三维模型,可以实现高度真实感的三维模型展示,提供给用户更好的了解模型的途径。 2. VRML概述 VRML(Virtual Reality Modeling Language)是一种三维造型和渲染的图形描述语言,可以在网络...

    3d模型,vrml 格式

    在IT领域,3D模型是一种数字表示形式,用于在计算机图形学中创建、展示和交互三维对象。VRML(Virtual Reality Modeling Language,虚拟现实建模语言)是3D模型的一种文件格式,尤其适用于网络上的交互式3D内容。在...

    使用VRML实现三维网页制作

    编写VRML文件最简单的方法是直接使用Windows记事本来编辑描述文本,类似于程序设计,简单方便,但不是很直观,对设计者的想象能力要求也较高,设计效率...要求利用VrmlPad和Cortna VRML Client 5.1实现三维网页的开发。

    VRML和Java支持下的三维虚拟校园构建.pdf

    根据提供的文件内容,以下是关于VRML和Java支持下的三维虚拟校园构建的知识点: 1. 三维虚拟校园构建的重要性与应用前景:三维虚拟校园是数字校园的一个重要组成部分,在教育领域内具有广泛的应用前景。它不仅能够...

    Vrml Library 50个VRML(.WRL格式)模型及纹理包.zip

    Vrml Library 50个VRML(.WRL格式)模型及纹理包,可供学习设计参考。 2D Shapes 3D Shapes Anatomy Architecture Architecture - Exterior Architecture - Interior Bathroom Bedroom Behaviors Buildings Character ...

    使用vrml语言创作的桌子,仅供学习参考

    是一种用于建立真实世界的场景模型或人们虚构的三维世界的场景建模语言,也具有平台无关性。 本质上是一种面向web,面向对象的三维造型语言,而且它是一种解释性语言。VRML的对象称为结点,子结点的集合可以构成复杂...

    基于VRML的三维场景生成工具的设计与实现

    中文摘要: VRML是Internet上标准的三维文件格式。由于VRML文件格式很复杂,对于普通的非专业用户(比如刑侦人员)来说,直接通过编辑文本来书写文件创建VRML场景是很困难的。同时,案件现场的三维表现比二维图或静态的...

    论文研究-基于VRML三维人体模型的控制实现.pdf

    VRML(Virtual Reality Modeling Language)是一种用于创建三维虚拟世界的建模语言,它允许设计师和开发者创建可交互的三维场景和对象。在生物信息学、医学仿真、虚拟现实等领域,VRML都有广泛应用。 在三维人体...

    使用VRML实现三维网页制作教程

    在互联网技术日新月异的今天,VRML(Virtual Reality Modeling Language,虚拟现实建模语言)为用户提供了在网页上创建交互式三维场景的能力。它允许开发者构建具有真实感的虚拟环境,使得浏览者能够通过鼠标和键盘...

    VRML和Java支持下的三维虚拟校园构建.zip

    其中,"VRML(Virtual Reality Modeling Language)"和"Java"是两种关键的技术,它们在构建三维虚拟校园中发挥着重要作用。这篇文档《VRML和Java支持下的三维虚拟校园构建》将深入探讨如何利用这两种技术实现一个...

    使用VRML和Javascript开发虚拟三维交互式场景.pdf

    使用VRML和Javascript开发虚拟三维交互式场景需要具备良好的开发环境和技术知识,包括三维建模、VRML和Javascript脚本语言等。同时,也需要具备良好的设计和计算能力,以便正确地设计和实现虚拟现实环境中的三维物体...

    VRML2.0 交互式三维图形编程

    虚拟现实建模语言(VRML,Virtual Reality Modeling Language)是一种用于创建和展示交互式三维图形的标准化编程语言,尤其在互联网上广泛应用于构建虚拟环境。VRML2.0,也称为Web3D,是VRML的第二个主要版本,带来...

    基于java和vrml的三维虚拟校园设计源程序

    这个基于Java和VRML的三维虚拟校园设计源程序提供了完整的解决方案,包括场景的建模、物体的动画、交互功能的实现以及用户界面的构建。在Eclipse集成开发环境中,可以直接运行此项目,大大简化了开发流程,对于学习...

    案例_vrml简单实例_VRML_vrml案例_

    VRML,全称为Virtual Reality Modeling Language(虚拟现实建模语言),是一种用于创建和展示交互式3D图形的标记语言。这种语言在20世纪90年代初期被广泛应用于互联网,旨在为用户提供一种在线体验虚拟环境的方式。...

    vrml飞机模型.zip_VRML_vrml 虚拟 飞机_vrml飞机_vrml飞机模型_飞机vrml源代码

    VRML,全称Virtual Reality Modeling Language(虚拟现实建模语言),是一种用于构建和展示3D交互式场景的国际标准,广泛应用于网络上的虚拟环境和三维图形设计。标题中的"vrml飞机模型.zip"是一个包含使用VRML语言...

    妙用Java及VRML开发三维图形

    本文将深入探讨如何巧妙地利用Java编程语言和虚拟现实建模语言(Virtual Reality Modeling Language,简称VRML)来创建引人入胜的三维图形。这两种技术的结合为开发者提供了一个强大的工具集,可用于构建交互式、...

Global site tag (gtag.js) - Google Analytics