虚拟现实语言vrml“线集节点”练习1
第一次学编程,没想到第一个接触的是vrml语言。那就浅浅的做个笔记吧。
有不对的地方,欢迎指点!!
基本几何造型
IndexedLineSet (线集节点)
要求:
创建一个底部为正六边形的七面体轮廓线造型,利用材质节点和线集节点的颜色相关域制作纯色造型效果。
代码:
Shape { appearance Appearance{material Material { diffuseColor 0.5 0.5 0.5 }}geometry IndexedLineSet{coord Coordinate {point [ 0 3 0 #01.732 0 -1 #11.732 0 1 #20 0 2 #3-1.732 0 1 #4-1.732 0 -1 #50 0 -2 #6 ]}coordIndex [ #side0 1 -1 0 2 -10 3 -10 4 -1 0 5 -10 6 -1#bottom1 6 5 4 3 2 1 -1] colorPerVertex FALSEcolor Color {color [0 1 01 1 11 0 11 0 0 0 1 10 0 11 1 0]}} }
运行结果:
理解:
Shape{}:节点
Appearance{}:外观特征域
Material{}:材质属性
diffuseColor 0.5 0.5 0.5 :漫反光色,值为0.5 0.5 0.5
geometry:几何形状域
IndexedLineSet{}:线集节点
coord:设置线造型的端点(点在坐标轴中的位置)
Coordinate{}:设置一系列用以创建一条直线或多条折线路径的坐标索引列表
coordIndex []:造型着色
colorPerVertex TRUE:设置对线造型的渲染是基于端点,还是基于线段,TRUE是基于端点
Color:用来为线单独着色
线集造型基本语法结构:
Shape {
appearance Appearance{
material Material { }
}geometry IndexedLineSet { }
}
coord Coordinate
{
point
[
0 3 0 #0
1.732 0 -1 #1
1.732 0 1 #2
0 0 2 #3
-1.732 0 1 #4
-1.732 0 -1 #5
0 0 -2 #6
]
}确定点位置:这里指每个点的三维( x y z )位置 ,#后面的是这7个点从0开始排序,分别是0,1,2,3,4,5,6,代表点的序号。
此模型我设的高为6,正六边形边为2,然后在纸上画个正六边形+二维坐标轴(x,z),利用勾股定理找到点的位置,由于正六边形取不到整数,所以这里取的根号三的近似值1.732。
coordIndex
[
#side
0 1 -1
0 2 -1
0 3 -1
0 4 -1
0 5 -1
0 6 -1
#bottom
1 6 5 4 3 2 1 -1
]连线:例:0 1 -1 是将序号为0和1的点连接起来,-1表示这条折线结束。
侧面的每个点都要与序号为0的点相连一下,底部的点则要依次连接,(注意法向,封底的正面要朝外,只是做轮廓线可以不管,做面的时候一定要理清楚点序)
color Color
{
color
[
0 1 0
1 1 1
1 0 1
1 0 0
0 1 1
0 0 1
1 1 0
]}
着色:上面的值代表R G B,从第一个(0 1 0)开始依次往下对应coord Coordinate中的线的每条颜色。
注意:
渐变:一条线因顶点色的不同,线会从一个顶点颜色渐变成另一个顶点颜色。
纯色:是线着色方式,以线为单位,给与一种颜色。
虚拟现实语言vrml“线集节点”练习1相关推荐
- vr计算机语言,虚拟现实语言
虚拟现实语言简称VRML,是新近产生的一种WEB语言,它是一种模拟语言,用来描述一个对象是如何呈现在WEB上的,和HTML一样,VRML也是可以由游览器解释的描述语言,只不过VRML不是描述成一个Pa ...
- 在web上呈现3D的语言VRML
1 .VRML发展的简史 VRML最初出现在1994年的瑞士日内瓦的W3会议上,Tim Berners-Lee,也就是Web的奠基人,对Mark Pesce的编程工作产生了浓厚的兴趣并邀请他给出名为& ...
- R语言绘制线图(line)实战
R语言绘制线图(line)实战 目录 R语言绘制线图(line)实战 #仿真数据 #基础线图
- Java语言矩形与立方体的继承,沈阳师范大学大一下册C++语言PTA题目集以及答案(编程题篇)...
沈阳师范大学大一下册C++语言PTA题目集以及答案 (编程题篇) 7-1 测试c++ (20分) 倒序输出从控制台输入的n个整数 输入格式: 第一行输入一个数n,代表行数 依次输入n个整数 输出格式: ...
- c语言程序设计个人作业,C语言程序设计-作业集.doc
C语言程序设计-作业集 目 录 作业一2 作业二4 作业三9 作业四13 作业五19 作业六27 作业七36 作业八45 作业九47 作业十51 作业十一55 作业一 一.查找相关资料,回答下列问题 ...
- R语言入门第一集 R语言、RTools、RStudio的简介、安装与使用
R语言入门第一集!R语言.RTools.RStudio的简介.安装与使用! 一.简介:什么是R语言.RTools.RStudio? R语言 RStudio R 语言的集成开发环境 rtools是什么工 ...
- 视频教程-Go语言实战合集-Go语言
Go语言实战合集 毕业于清华大学,曾担任Google算法工程师,微软区块链领域全球最具价值专家,微软Tech Ed 大会金牌讲师. 精通C/ C++,Python ,Go语言,Sicikit-Lear ...
- C语言错题集(指针2020/12/8)
C语言错题集(指针2020/12/8) 1.关于C语言指针的运算:指针只有加减操作,没有乘除操作.指针可以加常数.减常数:相同类型的指针可以相加.相减.(F) 指针之间可以相减,但不可以相加:两个同一 ...
- 华为面试题库c语言,华为校园招聘c语言面试题集.doc
华为校园招聘c语言面试题集.doc 华为C语言面试题集C语言面试题华为C语言面试题深圳华为面试C语言面试题1.局部变量能否和全局变量重名答能,局部会屏蔽全局.要用全局变量,需要使用"&quo ...
最新文章
- 联想一体机用u盘装linux教程,联想ThinkCentre一体机如何u盘装系统教程
- python 类变量(属性)和实例变量(属性
- moto txt阅读器java版,moto txt阅读器手机版下载
- 5.7(财务应用程序:计算将来的程序)
- 学习笔记--maven
- Futter基础11篇: 实现自定义AppBar 定义顶部Tab切换、底部Tab结合顶部Tab实现类似头条页面布局
- Linux 工程师的 6 类好习惯和 23 个教训
- SpringMVC中@RequestMapping参数设置
- 教您简单几步实现工业树莓派正确安装RS232转USB驱动
- Halcon 学习笔记 (一)
- Win10系统升级,1804->21H2
- Flash Memory 简介
- python 保存视频为图片
- 爬取了bilibili站644w视频信息之后的故事。
- 数字电视机顶盒的基本知识介绍
- 意大利奢侈品牌-Kiton 华丽进驻北京新光天地-时尚生活-泛高尔夫网
- 【程序设计训练】棋盘
- (一)、跨服务器自动备份
- 小米系硬件查询保修日期
- VUE项目中安装和使用vant组件
热门文章
- 中信银行信用卡中心java_中信银行信用卡中心
- Linux_进程间通信(详解)
- 用TensorFlow教你手写字识别
- POJ - 1679 The Unique MST
- 股票实盘量化交易之所以受普通投资者欢迎有哪两大原因?
- INTERSPEECH 2022——基于层级上下文语义信息的多尺度语音合成风格建模
- 计算机固定测试第10,2015年计算机一级《MSOffice》考前预测试卷(10)
- 报表生成器FastReport .Net用户指南(八):Band的属性
- Java实现之弗洛伊德(Floyd)算法
- nokia6 android one,Android One 大对决!Nokia 6.1 Plus vs 小米 A2 大比拼