版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、绘制凸多面体三面投影图和正轴测图班级:姓名:当口子亏: 指导老师:,立体图及顶点编号、各点坐标表面编号:二,数据文件:A:60,0,0,60,30,0,30,60,0,0,60,0,0,0,0,60,0,20,60,30,20,30,60,47,15,60,60,0,60,60,0,0,60,15,0,60NPS : 5,5,6,5,6,5,6,6S :1,2,7,6,1,0,2,3,8,7,2,0,3,4,10,9,8,3,5,11,10,4,5,0,7,8,9,12,6,7,9,10,11,12,9,0,1,6,12,11,5,1,1,5,4,3,2,1三,程序清单:Option Base
2、 1Dim g As IntegerPrivate Sub Command1_Click() Form2.Visible = TrueForm1.Visible = False Form2.Height = 10000Form2.Width = 12000 Form2.Pic2.Width = 9000 Form2.Pic2.Height = 9000Form2.Pic2.Scale (-140, 120)-(160, -140) Form2.Pic2.DrawWidth = 2 m = Val(Text1.Text) n = Val(Text2.Text) ns = Val(Text3.Te
3、xt) np = Val(Text4.Text) theta = Val(Text5.T ext) phi = Val(Text6.Text)将输入的数据输出给各项值Dim ss As IntegerReDim a(m, n), b(m, n), nv(m, n), s(ns, np) ReDim t(4, 4), nps(1, ns), f(ns), e(24, 3) FileName = a.txtCall inputdat(m, n - 1, a(), FileName)For i = 1 To m a(i, 4) = 1Next iFileName = nps.txtCall inpu
4、tdat(1, ns, nps(), FileName)FileName = s.txtCall inputdat(ns, np, s(), FileName)theta = theta * 0.01745phi = phi * 0.01745Rem 矩阵初始化For i = 1 To 4For j = 1 To 4t(i, j) = 0Next jNext iFor ss = 1 To 3For i = 1 To 4For j = 1 To 4t(i, j) = 0Next j, iRem通过select语句分别给正面投影、水平投影、侧面投影变换矩阵赋值Select Case ssCase
5、1给正面投影变换矩阵赋值t(1, 1) = 1: t(2, 2) = 0: t(3, 3) = 1: t(4, 3) = 40: t(4, 1) = 40Case 2给水平投影变换矩阵赋值t(1, 1) = 1: t(2, 3) = -1: t(4, 3) = -20: t(4, 4) = 1: t(4, 1) = 40 Case 3给侧面投影变换矩阵赋值 t(2, 1) = -1: t(3, 3) = 1: t(4, 1) = -10: t(4, 4) = 1: t(4, 3) = 40 End SelectRem 矩阵相乘Call mult(a(), t(), b(), m, n, 4)R
6、em 绘图输出Rem 绘制三视图For i = 1 To nsFor k = 1 To nps(1, i)x = -b(s(i, k), 1): y = b(s(i, k), 3)If k = 1 ThenForm2.Pic2.PSet (x, y)ElseForm2.Pic2.Line -(x, y)End IfNext kNext iNext sst(1, 1) = Cos(theta): t(1, 3) = -Sin(theta) * Sin(phi)t(2, 1) = -Sin(theta): t(2, 3) = -Cos(theta) * Sin(phi)t(3, 3) = Cos(
7、phi): t(4, 4) = 1Call mult(a(), t(), b(), m, n, 4)Call judge(s(), b(), f(), ns)Call creat_edgetable(s(), nps(), f(), e(), ns, g)Call plot1(b(), e(), g - 1)Form2.Pic1.Print 棱 边 表 Form2.Pic1.Print 棱号; 起点; 终点; 可见性g = g - 1For i = 1 To gj = e(i, 1): k = e(i, 2)Form2.Pic1.Print i; ; j; ; k; ; e(i, 3)Next
8、 iEnd SubSub inputdat(row, column, metry(), datfilename)Open App.Path & datfilename For Input As #1For i = 1 To rowFor j = 1 To columnInput #1, metry(i, j)Next jNext iClose #1End SubSub mult(a(), t(), b(), m, n, l)矩阵相乘子程序For i = 1 To mFor j = 1 To nb(i, j) = 0 For k = 1 To lb(i, j) = b(i, j) + a(i,
9、k) * t(k, j) Next kNext jNext iEnd SubRem 判别表面的可见性并加以标记。Sub judge(s(), nv(), f(), ns)For i = 1 To nsx1 = nv(s(i, 1), 1)z1 = nv(s(i, 1), 3)x2 = nv(s(i, 2), 1)z2 = nv(s(i, 2), 3)x3 = nv(s(i, 3), 1)z3 = nv(s(i, 3), 3)b = (z2 - z1) * (x3 - x1) - (x2 - x1) * (z3 - z1)If b 0 Thenf(i) = 1Elsef(i) = 0End If
10、Next i创建棱边表子程序End SubSub creat_edgetable(s(), nps(), f(), e(), ns, g)g = 1For i = 1 To nsIf f(i) = 1 ThenFor j = 1 To nps(1, i) - 1e1 = s(i, j)e2 = s(i, j + 1)For k = 1 To gIf e(k, 1) = e2 And e(k, 2) = e1 ThenExit ForEnd IfNext kIf k = g + 1 Thene(g, 1) = e1: e(g, 2) = e2e(g, 3) = 1g = g + 1End If
11、e1 = e2Next jEnd IfNext iFor i = 1 To nsIf f(i) = 0 ThenFor j = 1 To nps(1, i) - 1e1 = s(i, j) e2 = s(i, j + 1)For k = 1 To gIf e(k, 1) = e2 And e(k, 2) = e1 Then Exit ForEnd IfNext kIf k = g + 1 Thene(g, 1) = e1: e(g, 2) = e2e(g, 3) = 0 g = g + 1 End If e1 = e2Next jEnd IfNext iEnd SubRem 根据变换后的坐标矩
12、阵 b(m,n) 、面表 s(ns,np) 以及指针表 nps(1,ns) 将可见 表面输出到窗体上的模块Sub plot1(b(), e(), g)For i = 1 To gIf e(i, 3) = 1 ThenForm2.Pic2.Line (-b(e(i, 1), 1) + 75, b(e(i, 1), 3) - 75)-(-b(e(i, 2), 1) + 75, b(e(i, 2), 3) - 75)ElseCall hidline(-b(e(i, 1), 1) + 75, b(e(i, 1), 3) - 75, -b(e(i, 2), 1) + 75, b(e(i, 2),3) -
13、 75, Form2.Pic2)End IfNext iEnd SubSub hidline(x1, y1, x2, y2, ob)绘制虚线子程序lk = 2: ls = 5: ll = lk + lsIz = Sqr(x2 - x1)八 2 + (y2 - y1)八 2)cs = (x2 - x1) / lzsn = (y2 - y1) / lzn = Int(lz / ll)x = x1: y = y1: k = 0: Call drawline(x, y, k, Form2.Pic2)For i = 1 To nx = x + ls * cs: y = y + ls * snk = 1: Call drawline(x, y, k, Form2.Pic2)x = x + lk * cs: y = y + lk * snk = 0: Call drawline(x, y, k,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026重庆市永川区卫星湖街道办事处招聘公益性岗位人员1人考试备考题库及答案解析
- 2026四川绵阳市长虹缤纷时代商业管理有限公司招聘招商营运主管岗位1人笔试参考题库及答案解析
- 2026年芜湖市镜湖区荆山社区医院招聘1名笔试参考题库及答案解析
- 2026年梧州职业学院单招综合素质考试题库含答案详细解析
- 2026年四川化工职业技术学院单招职业适应性测试题库附答案详细解析
- 2026上半年北京事业单位统考石景山区招聘28人笔试备考试题及答案解析
- 2026广西南宁市青秀区经济部门招聘2人笔试备考题库及答案解析
- 2026新疆水利投资控股有限公司招聘1人笔试参考题库及答案解析
- 2026届云南省文山壮族苗族自治州达标名校初三英语试题3月诊断性测试一模试题含解析
- 天津市部分区五区县2026届初三下学期第一次半月考语文试题含解析
- 2024年海南省烟草专卖局招聘考试真题
- GenAI教育在不同场景下的应用案例分析与演进路径
- 大连重工:中企华评报字(2024)第5436号资产评估报告
- 档案馆数字档案馆建设方案
- GB/T 44815-2024激光器和激光相关设备激光束偏振特性测量方法
- 《房颤抗凝新进展》课件
- 口腔颌面部肿瘤-血管瘤与脉管畸形的诊疗
- 康复质控中心建设思路和工作计划
- 和父亲断绝联系协议书范本
- TB-10414-2018-铁路路基工程施工质量验收标准
- DL∕T 5776-2018 水平定向钻敷设电力管线技术规定
评论
0/150
提交评论