字图形如何编写实现对空心 F 进行五种二维基本变换的程序,利用VB来编写怎么编写?

来源:百度知道 编辑:UC知道 时间:2024/05/04 15:09:24

Option Base 1
'下面是使用的例子
'x(n,3)为变换之前的顶点坐标,其中x(*,3)均为1
'unit2D t0
'Rotate2D t, alf
'Mat2D t0, t
'mat1 x, t0,y, np [np为顶点数]
'y(n,2)为变换后的矩阵

Public Sub Unit2D(t()) '生成单位阵
Dim i%, j%
For i = 1 To 3
For j = 1 To 3
t(i, j) = 0
Next j
t(i, i) = 1
Next i
End Sub

Public Sub Scale2D(t(), cx, cy) '比例和对称变换矩阵
'cx,cy为x,y方向的比例系数
'如为负表示同时做对该轴的对称变换
Unit2D t '生成单位阵
t(1, 1) = cx '
t(2, 2) = cy '
End Sub

Public Sub Move2D(t(), dx, dy) '平移变换矩阵
'dx,dy为向x,y方向平移的距离
Unit2D t
t(3, 1) = dx
t(3, 2) = dy
End Sub

Public Sub Rotate2D(t(), alf) '旋转变换矩阵,alf为旋转角
'绕(0,0)点旋转
Unit2D t
t(1, 1) = Cos(alf)
t(2, 2) = Cos(alf)
t(1, 2) = Sin(alf)
t(2, 1) = -Sin(alf)
End Sub

Public Sub PRotate2D(t(), x,