- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
绘制凸多面体三面投影图和正轴测图
绘制凸多面体三面投影图和正轴测图
班级:
姓名:
学号:
指导老师:
一,立体图及顶点编号、各点坐标表面编号:
二,数据文件:
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,60
NPS:5,5,6,5,6,5,6,6
S:
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 1
Dim g As Integer
Private Sub Command1_Click()
Form2.Visible = True
Form1.Visible = False
Form2.Height = 10000
Form2.Width = 12000
Form2.Pic2.Width = 9000
Form2.Pic2.Height = 9000
Form2.Pic2.Scale (-140, 120)-(160, -140)
Form2.Pic2.DrawWidth = 2
m = Val(Text1.Text)
n = Val(Text2.Text)
ns = Val(Text3.Text)
np = Val(Text4.Text)
theta = Val(Text5.Text)
phi = Val(Text6.Text) 将输入的数据输出给各项值
Dim ss As Integer
ReDim 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.txt
Call inputdat(m, n - 1, a(), FileName)
For i = 1 To m
a(i, 4) = 1
Next i
FileName = \nps.txt
Call inputdat(1, ns, nps(), FileName)
FileName = \s.txt
Call inputdat(ns, np, s(), FileName)
theta = theta * 0.01745
phi = phi * 0.01745
Rem 矩阵初始化
For i = 1 To 4
For j = 1 To 4
t(i, j) = 0
Next j
Next i
For ss = 1 To 3
For i = 1 To 4
For j = 1 To 4
t(i, j) = 0
Next j, i
Rem 通过select语句分别给正面投影、水平投影、侧面投影变换矩阵赋值
Select Case ss
Case 1 给正面投影变换矩阵赋值
t(1, 1) = 1: t(2, 2) = 0: t(3, 3) = 1: t(4, 3) = 40: t(4, 1) = 40
Case 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 Select
Rem 矩阵相乘
Call mult(a(), t(), b(), m, n, 4)
Rem 绘图输出
Rem 绘制三视图
For i = 1 To ns
For k = 1 To nps(1, i)
x = -b(s(i, k), 1): y = b(s(i, k), 3)
If k = 1 Then
Form2.Pic2.PSet (x, y)
Else
Form2.Pic2.Line -(x, y)
End If
Next k
Next i
Next ss
t(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(phi): t(4, 4) = 1
Call mult(a(), t(), b(), m, n, 4)
Call judge(s(), b(), f(
文档评论(0)