实验九 文件
- 格式:doc
- 大小:44.00 KB
- 文档页数:4
1、IdeaVR 软件基础(一)实验目的1.了解VR 虚拟场景的开发流程;2.熟悉基本模型的建造;3.掌握3D 模型在相应软件间的导出与导入;4.掌握IdeaVR 内虚拟场景的搭建、动画与交互。
(三)实验环境(四)实验步骤(二)实验要求1.在三维软件中实现简单物体的建造;2.用所做模型实现简单虚拟场景的搭建;3.实现简单的VR 场景动画与交互。
1.IdeaVR 软件基础;2.简单模型建造与VR 虚拟场景搭建;3.IdeaVR 动画编辑。
4.IdeaVR 交互编辑。
1. IdeaVR 2018;2.3ds Max 2017;3.Photoshop CC 2018。
主界面说明:1.菜单按钮2.左侧工具栏3.顶部工具栏4.视口5.窗口6.场景管理器7.属性(2)IdeaVR 编辑器界面IdeaVR 的核心功能是场景搭建、动画编辑以及交互逻辑编辑。
IVRPlayer 的核心功能是进行虚拟场景的演示与交互(1)虚拟场景开发流程简单的虚拟场景开发流程大致如下:1.3ds Max 、MAYA 等对物件的建模;2.转化为相应格式导入IdeaVR 平台;3.通过IdeaVR 进行3D 物件搭建场景;4.通过动画编辑器进行所需的动画编辑;5.通过交互编辑器进行所需的行为逻辑编辑;6.通过IVRPlayer 进行虚拟场景的演示与交互。
虚拟现实技术是一种可以创建和体验虚拟世界的计算机仿真系统,它利用计算机生成一种模拟环境,是一种多源信息融合的、交互式的三维动态视景和实体行为的系统仿真,使用户沉浸到该环境中。
湖南商学院“新零售虚拟现实技术湖南省重点实验室”与上海曼恒数字技术有限公司展开合作。
通过该公司研发的IdeaVR 软件来实现虚拟现实场景的搭建与交互,通过IVRPlayer 软件来实现虚拟现实场景的演示与体验。
IdeaVR 是一款支持异地多人协同的虚拟现实教育平台。
通过3ds Max 、MAYA 等三维软件制作出成品模型,将其导入IdeaVR ,便可使用IdeaVR 自带的场景编辑器、交互编辑器快速搭建场景内容并制定交互以及行为逻辑。
C语⾔程序设计实验实验报告《C语⾔程序设计实验》实验报告实验九⽂件编程(⼀)班级:_07某某专业1班_学号:______姓名:___实验样例_____⽇期:___2008.6.10_____台州学院数信学院计算机系制作⼀、实验⽬的和要求综合使⽤基本结构、基本算法、函数、指针、结构体、链表等知识设计程序。
⼆、实验指导1、注意:本次实验为综合性实验,需要综合本课程以前所学内容,完成编制⼀个⼩型应⽤程序。
需要复习课本以前所学内容,浏览上课讲解的相关内容。
2、实验时间安排:准备实验⽅案,上课时上机编程,课余完成整个设计并完成实验报告。
3、实验具体要求:以⼀张假想的学⽣期中成绩表为实验对象,编制⼀个⼩型应⽤程序,可以考虑实现以下功能:(1)成绩修改;(2)成绩查询;(3)成绩统计;(4)成绩输⼊。
也可以实现其他⾃定义的功能。
界⾯采⽤简易菜单形式,可以分级显⽰。
实验需要进⾏以下步骤:需求分析、程序设计、程序调试、程序运⾏,并对程序运⾏效果进⾏分析,提出改进⽅案。
初步锻炼学⽣的程序设计能⼒、程序调试能⼒、对实验结果进⾏综合分析的能⼒。
4、实验成绩评价标准:参见成绩评定表。
四、实验报告内容(参见样本,请另附页)实验报告必须包含以下内容:1、对你设计的程序功能进⾏的较详细描述。
2、画出程序测试⽤的学⽣期中成绩表(包含:表头、若⼲⾏包含学⽣成绩等信息的数据⾏)。
3、给出程序清单(包含结构体的声明与定义、所有的函数声明、所有的全局变量、所有的函数定义、必要的注释。
注:如果程序过长,可以不⽤给出所有的函数定义,只给出主要的函数定义)。
4、运⾏结果(写出运⾏时的主界⾯、各模块的实现界⾯等,不作具体要求,但要求能清晰地体现出程序的功能)。
5、对你的设计作⼀个评价(可以包含你所花的时间、精⼒,你遇到的困难及如何解决的,你的设计过程所遇到的其他事情;必须包含你对设计的客观评价,以及提出的改进⽅案)。
1、程序功能描述:(略)2、成绩表样表:3、程序清单:(红⾊部分是和上⼀个程序的区别之处)#includestruct student /*期中成绩表的结构声明*/{int num;char name[20];char sex;float YuWen;float ShuXue;float YingYu;float totle;};#define MAX_STU_NUMBER 100 /*宏定义最⼤学⽣数为100⼈*/struct student Stu[MAX_STU_NUMBER]; /*⼀次性定义100个学⽣的存储空间*/int STU_NUMBER; /*存放学⽣数*/char *FileName = "chengji.txt"; /*成绩存放的⽂件*//*所有的函数声明:*/int SelectMainMenu(); /*显⽰并选择主菜单。
定制LPM_ROM设计简单的正弦信号发生器
实验名称:利用定制好的LPM_ROM设计简单的正弦信号发生器。
实验过程:
1:LPM_ROM的定制
图1 调用LPM_ROM
图2 LPM_ROM的参数设置
图3 加入初始化文件配置
2:LPM_ROM的仿真测试
图4 LPM_ROM仿真测试
3:波形分析
由图4可以看出,随着CLK的上升沿的出现,对应地址A的数据输出与初始化文件的数据完全吻合,实验得证。
再利用次模块完成一个简单的正弦信号发生器设计,该模块可以用来作为地址信号发生器(7位输出)和数据存储器(7位地址线,8位数据线),含有128个8位波形数据(一个正弦波形周期)。
4:正弦信号发生器的VHDL顶层设计
包括了对定制LPM_ROM时文件模块ROM78的例化调用。
图5 正弦信号发生器的VHDL描述
图6正弦信号发生器的仿真波形输出
5:波形分析
随着每个时钟上升沿的到来,输出端口将正弦波数据依次输出。
输出的数据与初始化配置文件相符。
6:观察RTL图
图7 正弦信号发生器的RTL电路图
分析:其中左边三个元件:加法器,寄存器构成7位计数器:其输出接右边ROM的地址输入端。
输出可接FPGA外的DAC,完成正弦波形输出。
实验结论:作为数据和程序的存储单位,ROM还有很多其他用处,如数字信号发生器的波形数据存储器,正弦信号发生器等。
实验九直流电机驱动设计一、实验目的:1、了解直流电机控制的工作原理和实现的方法。
2、掌握PWM波控制直流电机转速的方法。
3、学会用于Verilog语言设计直流电机控制电路。
二、实验仪器设备1、PC机一台2、FPGA实验开发系统一套。
三、实验的重点和难点1、重点:掌握直流电机调速控制原理。
2、难点:应用Verilog语言实现直流电机控制电路设计。
四、实验原理:本次实验使用的电机驱动电路如下图所示图1 直流电机H桥驱动电路图2 锁存器1、调方向如图1所示,当PWM1为高电平时,PWM2为低电平时,Q2和Q4导通,Q3和Q5不导通。
当PWM1为低电平时,PWM2为高电平时,Q2和Q4不导通,Q3和Q5导通。
两种情况电机转动的方向不一样。
2、调速度电机的速度是通过PWM调节,所谓PWM就是脉宽调制器,通过调制器给电机提供一个具有一定频率的脉冲宽度可调的脉冲电。
脉冲宽度越大即占空比越大,提供给电机的平均电压越大,电机转速就高。
反之脉冲宽度越小,则占空比越越小。
提供给电机的平均电压越小,电机转速就低。
五、实验步骤(1)启动Quartus II 建立一个空白工程,选择的器件为Altera 公司的Cyclone 系列的EP2C8Q240C8芯片,命名为moto.qpf;(2)新建一个Schematic File 文件,命名为moto.bdf;(3)分别新建3 个Verilog HDL File 文件,分别命名为divclk.v,pwm_logic.v, moto_test.v。
输入程序代码并保存(对应源程序11),然后进行综合编译。
若在编译过程中发现错误,则找出错误并更正错误,直至编译成功为止。
(4)从设计文件创建模块(File), divclk.v生成名为divclk.bsf;pwm_logic.v 生成名为pwm_logic.bsf;moto_test.v 生成moto_test.bsf;(5)在moto.bdf 文件中,在空白处双击鼠标左键,在Symbol 对话框左上角的libraries 中,分别将Project 下的divclk、moto_test、pwm_logic 模块放在图形文件moto.bdf 中,加入输入、输出引脚,双击每个引脚,进行引脚命名,并锁定管脚,将未使用的引脚设置为三态输入(一定要设置,否则可能会损坏芯片);完整的顶层模块原理图如图所示其中K1 控制电机的正转与反转;K2 控制电动机启动、停止;K3 控制占空比;(6)将moto.bdf 设置为顶层实体。
1
五、实验报告
学号: 姓名: 班级: 实验时间: 年 月 日
实验报告: 图像生成与图像处理
一、填写下载图像的相关数据:
二、查看左侧的图像,请填写相应的图像编码。
三、计算机中实际存储的图像可能有数几百万像素,为了减少图像存储的空间,有一种游程压缩方法,可以减少存储的字节数,这种方法利用了图像中有大块连续的白色像素和黑色像素的特点,只需要记录下白色或黑色像素的连续区块的长度,例如下图中的第一行依次由3个白象素、2个黑象素、3个白象素组成,可以表示为3,2,3。
同理,第二行,可以表示为1,6,1,请依次完成接下来的编码。
XX大学本科实验报告课程名称:计算机信息安全1421262学号:XXX姓名:网络工程专业:班级:网络B14-1指导教师:课内实验目录及成绩信息技术学院2017年11 月17日XX大学实验报告课程名称:计算机信息安全实验类型:演示、验证实验项目名称:实验九Windows Server2016安全配置与恢复实验地点:信息楼320 实验日期:2017 年11月17 日Windows Server 2016是微软的一个服务器操作系统,继承了Windows Server 2003的功能和特点,尽管Windows Server 2016系统的安全性能要比其他系统的安全性能高出许多,但为了增强系统的安全,必须要进行安全的配置,并且在系统遭到破坏时能恢复原有系统和数据。
1. 实验目的(1)熟悉Windows Sever 2016操作系统的安全配置过程及方法;(2)掌握Windows Sever 2016操作系统的恢复要点及方法。
2. 实验要求(1)实验设备本实验以Windows Sever 2016操作系统作为实验对象,所以,需要一台计算机并且安装有Windows Sever 2016操作系统。
Microsoft在其网站上公布使用Windows Server 2016的设备需求,基本配置如表10-1所示。
表1 实验设备基本配置(2)注意事项1)预习准备由于本实验内容是对Windows Sever 2016操作系统进行安全配置,需要提前熟悉Windows Sever 2016操作系统的相关操作。
2)注重内容的理解随着操作系统的不断翻新,本实验是以Windows Sever 2016操作系统为实验对象,对于其它操作系统基本都有类似的安全配置,但为配置方法或安全强度会有区别,所以需要理解其原理,作到安全配置及系统恢复“心中有数”。
3)实验学时本实验大约需要2个学时(90-120分钟)完成。
3. 实验内容及步骤1)本地用户管理和组操作步骤:新建账户“secretary”和用户组“日常工作”,“日常工作”组具有“Network Configuration Operators”的权限,并secretary添加到“日常工作”组中。
XX大学本科实验报告课程名称:计算机信息安全1421262学号:XXX姓名:网络工程专业:班级:网络B14-1指导教师:课内实验目录及成绩信息技术学院2017年11 月17日XX大学实验报告课程名称:计算机信息安全实验类型:演示、验证实验项目名称:实验九Windows Server2016安全配置与恢复实验地点:信息楼320 实验日期:2017 年11月17 日Windows Server 2016是微软的一个服务器操作系统,继承了Windows Server 2003的功能和特点,尽管Windows Server 2016系统的安全性能要比其他系统的安全性能高出许多,但为了增强系统的安全,必须要进行安全的配置,并且在系统遭到破坏时能恢复原有系统和数据。
1. 实验目的(1)熟悉Windows Sever 2016操作系统的安全配置过程及方法;(2)掌握Windows Sever 2016操作系统的恢复要点及方法。
2. 实验要求(1)实验设备本实验以Windows Sever 2016操作系统作为实验对象,所以,需要一台计算机并且安装有Windows Sever 2016操作系统。
Microsoft在其网站上公布使用Windows Server 2016的设备需求,基本配置如表10-1所示。
表1 实验设备基本配置(2)注意事项1)预习准备由于本实验内容是对Windows Sever 2016操作系统进行安全配置,需要提前熟悉Windows Sever 2016操作系统的相关操作。
2)注重内容的理解随着操作系统的不断翻新,本实验是以Windows Sever 2016操作系统为实验对象,对于其它操作系统基本都有类似的安全配置,但为配置方法或安全强度会有区别,所以需要理解其原理,作到安全配置及系统恢复“心中有数”。
3)实验学时本实验大约需要2个学时(90-120分钟)完成。
3. 实验内容及步骤1)本地用户管理和组操作步骤:新建账户“secretary”和用户组“日常工作”,“日常工作”组具有“Network Configuration Operators”的权限,并secretary添加到“日常工作”组中。
实验09VFP数据查询命令的使⽤实验九 VFP查询查询命令的使⽤⼀、实验⽬的熟悉VFP的查询命令及其使⽤格式。
⼆、实验指导1、相关知识(1)VFP中⼏条常⽤命令1、记录筛选命令: Set Filter To <条件>功能:设置当前表中被访问的记录必须满⾜的条件。
要撤消已经设置的筛选,只要执⾏: Set Filter To2、字段筛选命令:Set Fileds To <字段名表>功能:设置当前表中可被访问的字段要撤消已经设置的筛选,只要执⾏:Set Fields To All3、顺序定位位命令:Locate [<范围>] For <条件>功能:把记录指针定位到指定<范围>内,满⾜<条件>的⾸条记录上。
4、索引定位命令:Seek <表达式>功能:把记录指针定位到主控索引关键字的值与<表达式>的值相匹配的记录上。
5、记录数统计命令:Count [<范围>] [For/While <条件>] [To <内存变量名>]功能:统计在指定<范围>内,满⾜<条件>的记录数,并把结果保存到指定的<内存变量名>中。
6、按列求数值字段的和:Sum [<范围>] [<数值表达式>] [For/While <条件>] [To <内存变量名表>]功能:在打开的表中,按指定范围内满⾜条件的记录对<数值表达式表>中的各个表达式分别求和7、Average <数值表达式表>[<范围>][For<条件1>] [While<条件2>][to<内存变量表>|Array<数组>]功能:在打开的表中,按指定范围内满⾜条件的记录对<数值表达式表>中的各个表达式分别求平均值8、Calculate[<表达式表>][<菹围>] [For<条件1>][While<条件2>][TO<内存变量表>|Array<数组>]功能:在当前打开的表中,对指定范围内满⾜条件的记录分别计算<表达式表>中表达式的值。
实验九文件
一、实验目的
1.熟悉文件和文件指针的概念以及文件指针的定义方法。
2.掌握文件打开和关闭的概念和方法。
3.掌握常用的关于文件操作库函数的使用。
二、实验准备
C语言中处理文件的一般步骤为:
(1)包含stdio.h头文件:# include "stdio.h"
(2)定义FILE类型文件指针:FILE *fp;
(3)打开文件, 建立文件指针和文件的联系:
fp=fopen("文件名","打开方式");
(4)根据需要选择合适的文件读写函数对文件进行读写操作。
(5)关闭文件:fclose(fp);
三、实验内容(按要求设计以下程序,并调试分析运行结果,此部分完成在实验报告上)
1、程序调试题(文件名为test1-1.c)
磁盘上有一个名为test1-1.c的C程序文件,其中函数fun的功能是:在字符串a中找出ASCII 码值最大的字符,将其放在第一个位置上;并将该字符前的原字符向后顺序移动。
例如,调用fun 函数之前字符串为:123aBYdZf,调用后字符串中的内容为:f123aBYdZ。
在main函数中,从文本文件test1-1.txt中读出字符串放入一维数组a中,调用fun函数构成新的数组,在主函数中输出处理后的结果。
请改正程序中的错误,使它能得出正确结果。
注意:不得增行或删行,也不得更改程序结构。
源程序如下:
#include<stdio.h>
#include <stdio.h>
#include<string.h>
fun(char *p)
{ char max,*q; int i=0;
max=p[i];
while(p[i]!=0)
{ i f(max>p[i])
{ max=p[i];
q=p+1;
}
i++;
}
while(q>p)
{ *q=*(q-1);
q++;
}
p[0]=max;
}
void main( )
{ FILE *fp;
char a[255];
int i=0;
if((fp=fopen("test1-1.txt","r"))==NULL)
{ printf("Cannot open the file.\n");
exit(0);
}
while(1)
{ a[i++]=fgets(fp);
if(a[i]==EOF) break;
i++;
}
a[i]="\0";
printf("The original string :" );
puts(a);
fun(a);
printf("The string of changing is :: %s\n\n",a);
fclose(fp);
}
2.程序调试题(文件名为test2-1.c)
磁盘上有一个名为test2-1.c 的C程序文件,其中函数fun的功能是:统计数组a中素数的个数,并将个数作为函数值返回。
在main函数中,从文件test2-1.txt中读出10个整数放入整型数组中,调用fun函数,将整型数组的10个数及素数的个数输出到屏幕上。
请改正程序中的错误,使它能得出正确的结果。
注意:不得增行或删行,也不得更改程序的结构。
源程序如下:
#include <stdio.h>
#include <stdlib.h>
int fun(int *a,int n)
{ int i,j,cnt=0;
for(i=0;i<n;i++)
{ for(j=2;j<=i/2;j++)
if(i%j==0) continue;
if(j>a[i]/2) cnt++;
}
return cnt;
}
void main( )
{ int a[10],i,cnt;
file *fp;
if((fp=fopen("test2-1.txt","r"))==NULL)
{ printf("Cannot open the file.\n");
exit(0);
}
for(i=0;i<10;i++)
{ scanf(fp,"%d",a+i);
printf("%5d",a[i]);
}
cnt=fun(a,10);
printf("\ncnt=%d\n",cnt);
fclose(fp);
}
3.编程题(test1-2.c)
编写程序,实现矩阵(3行列)的转置(即行列互换)
例如,输入如下的矩阵:
100 200 300
400 500 600
700 800 900
则程序输出:
100 400 700
200 500 800
300 600 900
注意:部分源程序给出如下。
请勿改动主函数main 和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
#include <stdio.h>
#include <conio.h>
void fun(int array[3][3])
{
}
main()
{
int i,j;
int array[3][3]={{100,200,300},
{400,500,600},
{700,800,900}};
FILE *out; /*定义文件指针*/
for (i=0;i<3;i++)
{
for(j=0;j<3;j++)
printf("%7d",array[i][j]);
printf("\n");
}
fun(array);
printf("Converted array:\n");
out = fopen("out.dat", "w"); /*以W方式新建out.dat文件,并让out指针指向该文件*/
for (i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
printf("%7d",array[i][j]);
fprintf(out, "%7d",array[i][j]); /*将转置后的数组写到out指针所指的文件out.dat文件中*/
}
printf("\n");
fprintf(out, "\n"); /*将每写完一行数据就写一个换行符到out指针所指的文件中*/ }
fclose(out); /*关闭文件*/
}
4.编写程序(程序文件名命为test2-2.c)
(1)编写函数fun,fun函数的功能是:将一个由二进制数字字符组成的字符串转换为与其面值相等的十进制整数。
规定输入的字符串最多只能包含32位二进制数字。
例如,若输入11111111,则输出将是255。
(2)在main函数中输入二进制数字字符串s的值,调用fun函数,并输出转换后的十进制数。
四、实验要求:
“实验内容”中的任务要求在实验课上完成,若未完成请在下次上课前利用课外时间完成。
五、实验报告填写要求:
1、第一页用《攀枝花学院实验报告》纸,其后用《实验报告附页》纸。
2、第一页填写项目:
实验课程:计算机基础2-C语言实验项目:[本次实验名称] 实验日期:[本次实验日期]
系:班级:姓名:学号:
指导教师:
3、实验报告正文要求:
实验目的:(抄写本次实验目的)
实验仪器设备:PC机一套
实验步骤(内容):
(要求完成以上第三部分内容,编程题要求抄写题目并写出程序源代码,并记录程序的运行结果)实验结论:(分析通过本次实验掌握的知识或是还有什么遗留问题)
4、实验报告写好后将完成的实验报告纸订(或粘)在一起,于下一次上课前交给指导老师。