第一次学编程,没想到第一个接触的是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相关推荐

  1. vr计算机语言,虚拟现实语言

    虚拟现实语言简称VRML,是新近产生的一种WEB语言,它是一种模拟语言,用来描述一个对象是如何呈现在WEB上的,和HTML一样,VRML也是可以由游览器解释的描述语言,只不过VRML不是描述成一个Pa ...

  2. 在web上呈现3D的语言VRML

    1 .VRML发展的简史 VRML最初出现在1994年的瑞士日内瓦的W3会议上,Tim Berners-Lee,也就是Web的奠基人,对Mark Pesce的编程工作产生了浓厚的兴趣并邀请他给出名为& ...

  3. R语言绘制线图(line)实战

    R语言绘制线图(line)实战 目录 R语言绘制线图(line)实战 #仿真数据 #基础线图

  4. Java语言矩形与立方体的继承,沈阳师范大学大一下册C++语言PTA题目集以及答案(编程题篇)...

    沈阳师范大学大一下册C++语言PTA题目集以及答案 (编程题篇) 7-1 测试c++ (20分) 倒序输出从控制台输入的n个整数 输入格式: 第一行输入一个数n,代表行数 依次输入n个整数 输出格式: ...

  5. c语言程序设计个人作业,C语言程序设计-作业集.doc

    C语言程序设计-作业集 目 录 作业一2 作业二4 作业三9 作业四13 作业五19 作业六27 作业七36 作业八45 作业九47 作业十51 作业十一55 作业一 一.查找相关资料,回答下列问题 ...

  6. R语言入门第一集 R语言、RTools、RStudio的简介、安装与使用

    R语言入门第一集!R语言.RTools.RStudio的简介.安装与使用! 一.简介:什么是R语言.RTools.RStudio? R语言 RStudio R 语言的集成开发环境 rtools是什么工 ...

  7. 视频教程-Go语言实战合集-Go语言

    Go语言实战合集 毕业于清华大学,曾担任Google算法工程师,微软区块链领域全球最具价值专家,微软Tech Ed 大会金牌讲师. 精通C/ C++,Python ,Go语言,Sicikit-Lear ...

  8. C语言错题集(指针2020/12/8)

    C语言错题集(指针2020/12/8) 1.关于C语言指针的运算:指针只有加减操作,没有乘除操作.指针可以加常数.减常数:相同类型的指针可以相加.相减.(F) 指针之间可以相减,但不可以相加:两个同一 ...

  9. 华为面试题库c语言,华为校园招聘c语言面试题集.doc

    华为校园招聘c语言面试题集.doc 华为C语言面试题集C语言面试题华为C语言面试题深圳华为面试C语言面试题1.局部变量能否和全局变量重名答能,局部会屏蔽全局.要用全局变量,需要使用"&quo ...

最新文章

  1. 联想一体机用u盘装linux教程,联想ThinkCentre一体机如何u盘装系统教程
  2. python 类变量(属性)和实例变量(属性
  3. moto txt阅读器java版,moto txt阅读器手机版下载
  4. 5.7(财务应用程序:计算将来的程序)
  5. 学习笔记--maven
  6. Futter基础11篇: 实现自定义AppBar 定义顶部Tab切换、底部Tab结合顶部Tab实现类似头条页面布局
  7. Linux 工程师的 6 类好习惯和 23 个教训
  8. SpringMVC中@RequestMapping参数设置
  9. 教您简单几步实现工业树莓派正确安装RS232转USB驱动
  10. Halcon 学习笔记 (一)
  11. Win10系统升级,1804->21H2
  12. Flash Memory 简介
  13. python 保存视频为图片
  14. 爬取了bilibili站644w视频信息之后的故事。
  15. 数字电视机顶盒的基本知识介绍
  16. 意大利奢侈品牌-Kiton 华丽进驻北京新光天地-时尚生活-泛高尔夫网
  17. 【程序设计训练】棋盘
  18. (一)、跨服务器自动备份
  19. 小米系硬件查询保修日期
  20. VUE项目中安装和使用vant组件

热门文章

  1. 中信银行信用卡中心java_中信银行信用卡中心
  2. Linux_进程间通信(详解)
  3. 用TensorFlow教你手写字识别
  4. POJ - 1679 The Unique MST
  5. 股票实盘量化交易之所以受普通投资者欢迎有哪两大原因?
  6. INTERSPEECH 2022——基于层级上下文语义信息的多尺度语音合成风格建模
  7. 计算机固定测试第10,2015年计算机一级《MSOffice》考前预测试卷(10)
  8. 报表生成器FastReport .Net用户指南(八):Band的属性
  9. Java实现之弗洛伊德(Floyd)算法
  10. nokia6 android one,Android One 大对决!Nokia 6.1 Plus vs 小米 A2 大比拼