三视图+正轴测投影(图形学)-vb
来源:互联网 发布:淘宝床大件退货拒签 编辑:程序博客网 时间:2024/06/04 01:37
三视图+正轴测投影(图形学)-vb
Option Explicit
Dim x, y, z, s, e
Dim i As Integer
Dim x1 As Integer, y1 As Integer, x2 As Integer, y2 As Integer
Dim ax As Integer, ay As Integer, bx As Integer, by As Integer, cx As Integer, cy As Integer
Private Sub Command1_Click() '正视图
Label3.Visible = True
ax = Val(Text1.Text)
ay = Val(Text2.Text)
For i = 0 To 11
x1 = x(s(i)): y1 = y(s(i))
x2 = x(e(i)): y2 = y(e(i))
Picture1.Line ((x1 + ax), (y1 + ay))-((x2 + ax), (y2 + ay)), vbRed
Next i
For i = 11 To 23
x1 = x(s(i)): y1 = y(s(i))
x2 = x(e(i)): y2 = y(e(i))
Picture1.Line ((x1 + ax), (y1 + ay))-((x2 + ax), (y2 + ay)), vbRed
Next i
End Sub
Private Sub Command2_Click() '侧视图
Label4.Visible = True
bx = Val(Text3.Text)
by = Val(Text4.Text)
For i = 0 To 11
x1 = z(s(i)) + bx: y1 = y(s(i)) + by
x2 = z(e(i)) + bx: y2 = y(e(i)) + by
Picture1.Line (x1, y1)-(x2, y2), vbGreen
Next i
For i = 11 To 23
x1 = z(s(i)) + bx: y1 = y(s(i)) + by
x2 = z(e(i)) + bx: y2 = y(e(i)) + by
Picture1.Line (x1, y1)-(x2, y2), vbGreen
Next i
End Sub
Private Sub Command3_Click() '俯视图
Label5.Visible = True
cx = Val(Text5.Text)
cy = Val(Text6.Text)
For i = 0 To 11
x1 = x(s(i)) + cx: y1 = -z(s(i)) + cy
x2 = x(e(i)) + cx: y2 = -z(e(i)) + cy
Picture1.Line (x1, y1)-(x2, y2), vbBlue
Next i
For i = 12 To 23
x1 = x(s(i)) + cx: y1 = -z(s(i)) + cy
x2 = x(e(i)) + cx: y2 = -z(e(i)) + cy
Picture1.Line (x1, y1)-(x2, y2), vbBlue
Next i
End Sub
Private Sub Command4_Click()
Picture1.Cls
Label3.Visible = False
Label4.Visible = False
Label5.Visible = False
Label6.Visible = False
End Sub
Private Sub Command5_Click()
End
End Sub
Private Sub Command6_Click() '正轴测投影
Label6.Visible = True
Dim f As Single
Dim c As Single
Dim dx As Integer, dy As Integer
dx = Val(Text7.Text): dy = Val(Text8.Text)
f = 45 * 3.14 / 180
c = f
For i = 0 To 11
x1 = x(s(i)) * Cos(f) + z(s(i)) * Sin(f) + dx
y1 = x(s(i)) * Sin(f) * Sin(c) + y(s(i)) * Cos(c) - z(s(i)) * Cos(f) * Sin(c) + dy
x2 = x(e(i)) * Cos(f) + z(e(i)) * Sin(f) + dx
y2 = x(e(i)) * Sin(f) * Sin(c) + y(e(i)) * Cos(c) - z(e(i)) * Cos(f) * Sin(c) + dy
Picture1.Line (x1, y1)-(x2, y2), vbRed
Next i
For i = 12 To 23
x1 = x(s(i)) * Cos(f) + z(s(i)) * Sin(f) + dx
y1 = x(s(i)) * Sin(f) * Sin(c) + y(s(i)) * Cos(c) - z(s(i)) * Cos(f) * Sin(c) + dy
x2 = x(e(i)) * Cos(f) + z(e(i)) * Sin(f) + dx
y2 = x(e(i)) * Sin(f) * Sin(c) + y(e(i)) * Cos(c) - z(e(i)) * Cos(f) * Sin(c) + dy
Picture1.Line (x1, y1)-(x2, y2), vbRed
Next i
End Sub
Private Sub Form_Load()
Label3.Visible = False
Label4.Visible = False
Label5.Visible = False
Label6.Visible = False
x = Array(0, 1000, 1000, 0, 0, 1000, 1000, 0, 0, 500, 500, 0, 0, 500, 500, 0)
y = Array(0, 0, 2000, 2000, 0, 0, 2000, 2000, 2000, 2000, 3000, 3000, 2000, 2000, 3000, 3000)
z = Array(0, 0, 0, 0, 3000, 3000, 3000, 3000, 0, 0, 0, 0, 1500, 1500, 1500, 1500)
s = Array(0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 8, 9, 10, 11, 12, 13, 14, 15, 8, 9, 10, 11)
e = Array(1, 2, 3, 0, 5, 6, 7, 4, 4, 5, 6, 7, 8, 10, 11, 8, 13, 14, 15, 12, 12, 13, 14, 15)
End Sub
- 三视图+正轴测投影(图形学)-vb
- 正轴测投影
- (20)正轴测投影变换
- (图形学)图形旋转-vb
- 图形学(三)
- 图形学中的透视投影
- 计算机图形学学习记录(三)
- 计算机图形学(三)二维几何变换
- opengles(三) 相机和投影概念
- 【转】模型视图矩阵和投影矩阵(webgl笔记)
- 计算机图形学 4.1.4 三维旋转 4.2.1 正投影(三视图)
- VB基础教程(三)
- 投影矩阵 视图模型矩阵
- Opengl ES 视图与投影
- DirectX11 创建视图-投影矩阵
- 计算机图形学 学习笔记(八):三维图形变换:三维几何变换,投影变换(平行/ 透视 投影)
- 计算机图形学笔记(三),Unity中的surfaceShader
- 计算机图形学三种渲染(绘制)技术,rendering technology
- 一个机器部署多个Oc4j要修改的端口要3个
- Scott Meyers's Most Important C++ Aha! Moments
- 四个支持开发者创建自定义配置的类
- (图形学)图形旋转-vb
- The Most Important C++ Non-Book Publications
- 三视图+正轴测投影(图形学)-vb
- The Most Important C++ Books
- 封装,继承,多态
- 123
- 初步解决Tomcat 的administration tool 和 连接池 的问题!
- OpenGL入门介绍
- Community Server学习资料
- cmwap和cmnet的网速
- 自定义MSI 安装