Skip to content

Lyb-code/EulerOperations

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

本项目配置:Window 10系统下 VS 2019 community ; opengl中的glut库。
项目功能:构建任意个通孔的一个三维扫成实体。可以切换视角(按住鼠标左键拖动)和放大缩小(按住鼠标右键上下拖动)。
项目流程:读取输入文件数据,通过欧拉操作建立带有若干个孔的基面,基面通过平移扫成生成一个三维物体,最后用opengl显示该三维物体。
项目使用两张方式:①编写项目根路径下的input.txt文件,在vs中打开项目运行;②进入项目根路径下的Debug文件夹,编写其中的input.txt,点击EulerOperations_lyb.exe运行。

Debug/ 有已经编译好的可执行程序以及相关文件,并在文件夹内拷贝了输入文件input.txt,以便可直接执行EulerOperations_lyb.exe。
src/  源代码
packages/  存放第三方库,如何配置见“补充说明.pdf”
input.txt/ 输入文件

输入文件名为:input.txt

输入文件格式:
ringNum
x1 y1 z1 ringNo 
x2 y2 z2 ringNo 
....
....
....
xn yn zn ringNo 

注意:
ringNum是底面的内环数(即体的孔数),x y z表示顶点坐标,ringNo是该点所属的环的编号(0为外环,1->ringNum为内环)。
★输入的只是基面的所有顶点,需要确保所这些顶点都在一个面上(可以让z轴坐标全相同)。且确保点按"环的顺序"输入。

举例:
例一:
1

2  0  0  0  
-2 0  0  0  
0  2  0  0  

1  0  0  1  
-1 0  0  1  
0  1  0  1  

上面数据形成的基面是一个大的三角形里面有一个小的三角形的孔,ringNo = 0表示外环的顶点,它们组成面。 ringNo = 1表示编号为1的内环的顶点。

例二:
2

4 4 0 0
-4 4 0 0
-4 -4 0 0
4 -4 0 0

1  0  0  1  
-1 0  0  1  
0  2  0  1  

2 -2 0 2
2 -3 0 2
-2 -3 0 2
-2 -2 0 2
上面的数据形成的基面是一个大的正方形里面有一个小的三角形的孔和一个小的长方形的孔。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published