三维坐标如何转换成二维的?一个三维的点(x,y,z)如何转换成一个二维的点坐标(x,y)?不要理论,直接说转换函数表达式.

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/06 00:00:57
三维坐标如何转换成二维的?一个三维的点(x,y,z)如何转换成一个二维的点坐标(x,y)?不要理论,直接说转换函数表达式.

三维坐标如何转换成二维的?一个三维的点(x,y,z)如何转换成一个二维的点坐标(x,y)?不要理论,直接说转换函数表达式.
三维坐标如何转换成二维的?
一个三维的点(x,y,z)如何转换成一个二维的点坐标(x,y)?不要理论,直接说转换函数表达式.

三维坐标如何转换成二维的?一个三维的点(x,y,z)如何转换成一个二维的点坐标(x,y)?不要理论,直接说转换函数表达式.
那要看怎么投影了
直接去掉z坐标也是变成2D的,只不过是把z坐标都压缩在一个平面了
下面的是轴测图
Option Base 1
Private Type LineNum
sP As Integer
eP As Integer
End Type
Dim px(),py(),pz()
Dim pt(12,4)
Dim ln(18) As LineNum
Dim lp1(6) As POINTAPI
Private Sub Form_Load()
Show
px = Array(-180,-320,-320,-250,-250,-180,-180,-320,-320,-250,-250,-180)
py = Array(0,0,0,0,0,0,120,120,120,120,120,120)
pz = Array(50,50,110,110,200,200,50,50,110,110,200,200)
pl = Array(1,2,2,3,3,4,4,5,5,6,6,1,7,8,8,9,9,_
10,10,11,11,12,12,7,1,7,2,8,3,9,4,10,5,11,6,12)
For i = 1 To 12
pt(i,1) = px(i)
pt(i,2) = py(i)
pt(i,3) = pz(i)
pt(i,4) = 1
Next
For i = 1 To 18
ln(i).sP = pl(2 * i - 1)
ln(i).eP = pl(2 * i)
Next i
Dim t0(4,4),t(4,4),p(12,4)
Unit3D t0()
zhouce t
Mat3D t0(),t()
Mat3D1 pt,t0,p,12
For i = 1 To 18
pic.Line (p(ln(i).sP,1),p(ln(i).sP,2))-(p(ln(i).eP,1),p(ln(i).eP,2))
Next
For i = 1 To 6
lp1(i).x = p(i,1):lp1(i).y = p(i,2)
Next
End Sub
'Option Explicit
Option Base 1
Const AXIS_X = &H1 'X轴
Const AXIS_Y = &H2 'Y轴
Const AXIS_Z = &H3 'Z轴
Public Const PS_SOLID = 0
Public Type POINTAPI
x As Long
y As Long
End Type
Public Sub Unit3D(t()) '生成单位矩阵
For i = 1 To 4
For j = 1 To 4
t(i,j) = 0
Next j
t(i,i) = 1
Next i
End Sub
Public Sub Scale3D(t(),cx,cy,cz) '比例变换矩阵
Unit3D t
t(1,1) = cx
t(2,2) = cy
t(3,3) = cz
End Sub
Public Sub Move3D(t(),dx,dy,dz) '平移变换矩阵
Unit3D t
t(4,1) = dx
t(4,2) = dy
t(4,3) = dz
End Sub
Public Sub Rotate3D(t(),asix%,alf) '绕某一个坐标轴旋转alf角的变换矩阵
'asix为常量,&H1代表X轴,&H2代表Y轴,&H3代表Z轴
Unit3D t
Select Case asix
Case AXIS_X
t(2,2) = Cos(alf):t(2,3) = Cos(alf)
t(3,2) = Sin(alf):t(3,3) = -Sin(alf)
Case AXIS_Y
t(1,1) = Cos(alf):t(1,3) = Cos(alf)
t(3,1) = Sin(alf):t(3,3) = -Sin(alf)
Case AXIS_Z
t(1,1) = Cos(alf):t(1,2) = Cos(alf)
t(2,1) = Sin(alf):t(2,2) = -Sin(alf)
End Select
End Sub
Public Sub Shear3D(t(),shxy,shxz,shyz,shyx,shzx,shzy)
'后六个参数分别为:
'沿x含y错切,沿x含z错切
'沿y含z错切,沿y含x错切
'沿z含x错切,沿z含y错切的系数
t(1,2) = shyx:t(1,3) = shzx
t(2,1) = shxy:t(2,3) = shzy
t(3,1) = shxz:t(3,2) = shyz
End Sub
Public Sub Pers(t(),q) '透视变换矩阵
Unit3D t
t(2,4) = q
End Sub
Public Sub Mat3D(a(),b()) '矩阵相乘子程序
Dim c(4,4)
For i = 1 To 4
For j = 1 To 4
c(i,j) = 0
For k = 1 To 4
c(i,j) = c(i,j) + a(i,k) * b(k,j)
Next k
Next j
For j = 1 To 4
a(i,j) = c(i,j)
Next j
Next i
End Sub
Public Sub Mat3D1(a(),t(),c(),n) '矩阵变换子程序
For i = 1 To n
For j = 1 To 4
c(i,j) = 0
For k = 1 To 4
c(i,j) = c(i,j) + a(i,k) * t(k,j)
Next k
Next j
For j = 1 To 3
If (Abs(c(i,4) > 0.00000001)) Then
c(i,j) = c(i,j) / c(i,4)
Else
c(i,j) = 999
End If
Next j
Next i
End Sub
Public Sub zhouce(t())
Unit3D t
t(1,1) = -0.7071
t(1,2) = -0.4082
t(2,1) = 0.7071
t(2,2) = -0.4082
t(3,2) = 0.8165
t(3,3) = 0
End Sub
Public Sub xie2(t())
Unit3D t
t(2,1) = -0.354
t(2,2) = -0.354
End Sub

三维坐标如何转换成二维的?一个三维的点(x,y,z)如何转换成一个二维的点坐标(x,y)?不要理论,直接说转换函数表达式. 给出一个立方体的三维坐标如何在二维平面上画出,问题一般化就是如何把一个三维坐标转换成二维坐标? 怎么将二维坐标转换成三维坐标同时坐标是三维的 cad中怎样把二维坐标转换成三维坐标? 请教各位大侠如何把UG三维图形转换成UG里面的二维平面图,谢谢 三维坐标如何变成二维?rt,三维空间中又三个点,3个点坐标给出,这三点可以形成一个二维的平面,如何将这三维的3个点变成二维的坐标?二维坐标随意定,但是要给出变换的公式 在CAD2012中 如何将二维对象转换成三维 三维超球面的三维截面是一个二维球面,那三维超椭球面的三维截面是什么? CATIA三维图与二维图转换的意义, cad2007在三维建模下默认的是二维坐标怎么切换成X,Y,Z的三维状态?即Z 轴朝上,X,Y轴是在下的一个平面.即普通的三维坐标 如何显示三维坐标就是在做三维图的时候,如何将三维的坐标抽显示出来,类似二维的经纬网那样,arcgis里面能够实现吗?请高手指教, UG三维坐标怎么改成二维坐标怎么把这个坐标改成二维坐标就是CAD的坐标形式 极坐标rΘz与直角坐标xyz间如何转换、注意是三维的. MATLAB程序生成三维曲面图现有一个EXCEL文件,里面有一些三维坐标值,请问如何通过编写MATLAB程序,自动读取里面的坐标值并转换成三维曲面图.例:X,Y是40*50的矩阵,其中的值是Z值,现要能自动读 Mastercam9如何将三维实体图编辑成二维图?请问在CAM9中如何将三维实体图转换编辑成二维图, 波是二维的还是三维的? matlab中如何将若干个形式相同的二维矩阵转叠加成三维矩阵? 在Auto CAD中如何把二维视图转换为三维视图各位高手我是CAD初学者,我想知道在CAD中如何把二维视图转换为三维视图或者把三维视图转换为二维视图.我的意思好像大家没怎么看懂,我的意思是