📄 contou.bas
字号:
PZ = Vmin
Call Project(Px, Py, PZ, Xo, Yo)
Px = iMapType * (NX - 1) * DX
Py = (I - 1) * DY
PZ = Vmax
Call Project(Px, Py, PZ, Xot, Yot)
Call PlotCurve(Xo, Yo, 3)
Call PlotCurve(Xot, Yot, 2)
Next I
For I = 1 To NX
Px = (I - 1) * DX
Py = jMapType * (NY - 1) * DY
PZ = Vmin
Call Project(Px, Py, PZ, Xo, Yo)
Px = (I - 1) * DX
Py = jMapType * (NY - 1) * DY
PZ = Vmax
Call Project(Px, Py, PZ, Xot, Yot)
Call PlotCurve(Xo, Yo, 3)
Call PlotCurve(Xot, Yot, 2)
Next I
For I = 1 To NH + 1
Px = 0
Py = jMapType * (NY - 1) * DY
PZ = (I - 1) * HStep
Call Project(Px, Py, PZ, Xo, Yo)
Px = (NX - 1) * DX
Py = jMapType * (NY - 1) * DY
PZ = (I - 1) * HStep
Call Project(Px, Py, PZ, Xot, Yot)
Call PlotCurve(Xo, Yo, 3)
Call PlotCurve(Xot, Yot, 2)
Next I
For I = 1 To NH + 1
Px = iMapType * (NX - 1) * DX
Py = 0
PZ = (I - 1) * HStep
Call Project(Px, Py, PZ, Xo, Yo)
Px = iMapType * (NX - 1) * DX
Py = (NY - 1) * DY
PZ = (I - 1) * HStep
Call Project(Px, Py, PZ, Xot, Yot)
Call PlotCurve(Xo, Yo, 3)
Call PlotCurve(Xot, Yot, 2)
Next I
For I = 2 To NH + 1
Px = 0
Py = 0
PZ = (I - 1) * HStep
Call Project(Px, Py, PZ, Xo, Yo)
Xo = WcsX0 + Xo * XYFact
Yo = WcsY0 - Yo * XYFact
Mark = Format(Vmax - PZ, "##0 ")
PictureMesh.CurrentX = Xo + PictureMesh.TextWidth(" ")
PictureMesh.CurrentY = Yo - PictureMesh.TextHeight(Mark) / 2
PictureMesh.Print Mark
Next I
For I = 2 To NH + 1
Px = (NX - 1) * DX
Py = (NY - 1) * DY
PZ = (I - 1) * HStep
Call Project(Px, Py, PZ, Xo, Yo)
Xo = WcsX0 + Xo * XYFact
Yo = WcsY0 - Yo * XYFact
Mark = Format(Vmax - PZ, "##0 ")
PictureMesh.CurrentX = Xo - PictureMesh.TextWidth(Mark)
PictureMesh.CurrentY = Yo - PictureMesh.TextHeight(Mark) / 2
PictureMesh.Print Mark
Next I
ElseIf (AngXY < 270) Then
If (iMapType = 0) Then
'右面
X(0) = (NX - 1) * DY
Y(0) = 0
Z(0) = Vmax
X(1) = (NX - 1) * DY
Y(1) = 0
Z(1) = Vmin
X(2) = (NX - 1) * DY
Y(2) = (NY - 1) * DY
Z(2) = Vmin
X(3) = (NX - 1) * DY
Y(3) = (NY - 1) * DY
Z(3) = Vmax
For I = 0 To 3
Call Project(X(I), Y(I), Z(I), Xo, Yo)
P(I).X = WcsX0 + Xo * XYFact
P(I).Y = WcsY0 - Yo * XYFact
Next I
P(4) = P(0)
hRgnClose = CreatePolygonRgn(P(1), 4, WINDING) '创建多边形区域
hBrush = CreateSolidBrush(&HC0FFC0)
FillRgn PictureMesh.hdc, hRgnClose, hBrush
DeleteObject (hBrush)
DeleteObject (hRgnClose)
'后面
X(0) = 0
Y(0) = (NY - 1) * DY
Z(0) = Vmax
X(1) = 0
Y(1) = (NY - 1) * DY
Z(1) = Vmin
X(2) = (NX - 1) * DX
Y(2) = (NY - 1) * DY
Z(2) = Vmin
X(3) = (NX - 1) * DX
Y(3) = (NY - 1) * DY
Z(3) = Vmax
For I = 0 To 3
Call Project(X(I), Y(I), Z(I), Xo, Yo)
P(I).X = WcsX0 + Xo * XYFact
P(I).Y = WcsY0 - Yo * XYFact
Next I
P(4) = P(0)
hRgnClose = CreatePolygonRgn(P(1), 4, WINDING) '创建多边形区域
hBrush = CreateSolidBrush(&HC0C0FF)
FillRgn PictureMesh.hdc, hRgnClose, hBrush
DeleteObject (hBrush)
DeleteObject (hRgnClose)
X(0) = 0
Y(0) = 0
Z(0) = Vmax
X(1) = (NX - 1) * DX
Y(1) = 0
Z(1) = Vmax
X(2) = (NX - 1) * DX
Y(2) = (NY - 1) * DY
Z(2) = Vmax
X(3) = 0
Y(3) = (NY - 1) * DY
Z(3) = Vmax
For I = 0 To 3
Call Project(X(I), Y(I), Z(I), Xo, Yo)
P(I).X = WcsX0 + Xo * XYFact
P(I).Y = WcsY0 - Yo * XYFact
Next I
P(4) = P(0)
hRgnClose = CreatePolygonRgn(P(1), 4, WINDING) '创建多边形区域
hBrush = CreateSolidBrush(&HFFC0C0)
FillRgn PictureMesh.hdc, hRgnClose, hBrush
DeleteObject (hBrush)
DeleteObject (hRgnClose)
End If
For I = 1 To NY
Px = jMapType * (NX - 1) * DX
Py = (I - 1) * DY
PZ = Vmin
Call Project(Px, Py, PZ, Xo, Yo)
Px = jMapType * (NX - 1) * DX
Py = (I - 1) * DY
PZ = Vmax
Call Project(Px, Py, PZ, Xot, Yot)
Call PlotCurve(Xo, Yo, 3)
Call PlotCurve(Xot, Yot, 2)
Next I
For I = 1 To NX
Px = (I - 1) * DX
Py = jMapType * (NY - 1) * DY
PZ = Vmin
Call Project(Px, Py, PZ, Xo, Yo)
Px = (I - 1) * DX
Py = jMapType * (NY - 1) * DY
PZ = Vmax
Call Project(Px, Py, PZ, Xot, Yot)
Call PlotCurve(Xo, Yo, 3)
Call PlotCurve(Xot, Yot, 2)
Next I
For I = 1 To NH + 1
Px = 0
Py = jMapType * (NY - 1) * DY
PZ = (I - 1) * HStep
Call Project(Px, Py, PZ, Xo, Yo)
Px = (NX - 1) * DX
Py = jMapType * (NY - 1) * DY
PZ = (I - 1) * HStep
Call Project(Px, Py, PZ, Xot, Yot)
Call PlotCurve(Xo, Yo, 3)
Call PlotCurve(Xot, Yot, 2)
Next I
For I = 1 To NH + 1
Px = jMapType * (NX - 1) * DX
Py = 0
PZ = (I - 1) * HStep
Call Project(Px, Py, PZ, Xo, Yo)
Px = jMapType * (NX - 1) * DX
Py = (NY - 1) * DY
PZ = (I - 1) * HStep
Call Project(Px, Py, PZ, Xot, Yot)
Call PlotCurve(Xo, Yo, 3)
Call PlotCurve(Xot, Yot, 2)
Next I
For I = 2 To NH + 1
Px = 0
Py = (NY - 1) * DY
PZ = (I - 1) * HStep
Call Project(Px, Py, PZ, Xo, Yo)
Xo = WcsX0 + Xo * XYFact
Yo = WcsY0 - Yo * XYFact
Mark = Format(Vmax - PZ, "##0 ")
PictureMesh.CurrentX = Xo + PictureMesh.TextWidth(" ")
PictureMesh.CurrentY = Yo - PictureMesh.TextHeight(Mark) / 2
PictureMesh.Print Mark
Next I
For I = 2 To NH + 1
Px = (NX - 1) * DX
Py = 0
PZ = (I - 1) * HStep
Call Project(Px, Py, PZ, Xo, Yo)
Xo = WcsX0 + Xo * XYFact
Yo = WcsY0 - Yo * XYFact
Mark = Format(Vmax - PZ, "##0 ")
PictureMesh.CurrentX = Xo - PictureMesh.TextWidth(Mark)
PictureMesh.CurrentY = Yo - PictureMesh.TextHeight(Mark) / 2
PictureMesh.Print Mark
Next I
ElseIf (AngXY < 360) Then
If (iMapType = 0) Then
'右面
X(0) = (NX - 1) * DY
Y(0) = 0
Z(0) = Vmax
X(1) = (NX - 1) * DY
Y(1) = 0
Z(1) = Vmin
X(2) = (NX - 1) * DY
Y(2) = (NY - 1) * DY
Z(2) = Vmin
X(3) = (NX - 1) * DY
Y(3) = (NY - 1) * DY
Z(3) = Vmax
For I = 0 To 3
Call Project(X(I), Y(I), Z(I), Xo, Yo)
P(I).X = WcsX0 + Xo * XYFact
P(I).Y = WcsY0 - Yo * XYFact
Next I
P(4) = P(0)
hRgnClose = CreatePolygonRgn(P(1), 4, WINDING) '创建多边形区域
hBrush = CreateSolidBrush(&HC0FFC0)
FillRgn PictureMesh.hdc, hRgnClose, hBrush
DeleteObject (hBrush)
DeleteObject (hRgnClose)
'前面
X(0) = 0
Y(0) = 0
Z(0) = Vmax
X(1) = 0
Y(1) = 0
Z(1) = Vmin
X(2) = (NX - 1) * DX
Y(2) = 0
Z(2) = Vmin
X(3) = (NX - 1) * DX
Y(3) = 0
Z(3) = Vmax
For I = 0 To 3
Call Project(X(I), Y(I), Z(I), Xo, Yo)
P(I).X = WcsX0 + Xo * XYFact
P(I).Y = WcsY0 - Yo * XYFact
Next I
P(4) = P(0)
hRgnClose = CreatePolygonRgn(P(1), 4, WINDING) '创建多边形区域
hBrush = CreateSolidBrush(&HC0C0FF)
FillRgn PictureMesh.hdc, hRgnClose, hBrush
DeleteObject (hBrush)
DeleteObject (hRgnClose)
X(0) = 0
Y(0) = 0
Z(0) = Vmax
X(1) = (NX - 1) * DX
Y(1) = 0
Z(1) = Vmax
X(2) = (NX - 1) * DX
Y(2) = (NY - 1) * DY
Z(2) = Vmax
X(3) = 0
Y(3) = (NY - 1) * DY
Z(3) = Vmax
For I = 0 To 3
Call Project(X(I), Y(I), Z(I), Xo, Yo)
P(I).X = WcsX0 + Xo * XYFact
P(I).Y = WcsY0 - Yo * XYFact
Next I
P(4) = P(0)
hRgnClose = CreatePolygonRgn(P(1), 4, WINDING) '创建多边形区域
hBrush = CreateSolidBrush(&HFFC0C0)
FillRgn PictureMesh.hdc, hRgnClose, hBrush
DeleteObject (hBrush)
DeleteObject (hRgnClose)
End If
For I = 1 To NY
Px = jMapType * (NX - 1) * DX
Py = (I - 1) * DY
PZ = Vmin
Call Project(Px, Py, PZ, Xo, Yo)
Px = jMapType * (NX - 1) * DX
Py = (I - 1) * DY
PZ = Vmax
Call Project(Px, Py, PZ, Xot, Yot)
Call PlotCurve(Xo, Yo, 3)
Call PlotCurve(Xot, Yot, 2)
Next I
For I = 1 To NX
Px = (I - 1) * DX
Py = iMapType * (NY - 1) * DY
PZ = Vmin
Call Project(Px, Py, PZ, Xo, Yo)
Px = (I - 1) * DX
Py = iMapType * (NY - 1) * DY
PZ = Vmax
Call Project(Px, Py, PZ, Xot, Yot)
Call PlotCurve(Xo, Yo, 3)
Call PlotCurve(Xot, Yot, 2)
Next I
For I = 1 To NH + 1
Px = 0
Py = iMapType * (NY - 1) * DY
PZ = (I - 1) * HStep
Call Project(Px, Py, PZ, Xo, Yo)
Px = (NX - 1) * DX
Py = iMapType * (NY - 1) * DY
PZ = (I - 1) * HStep
Call Project(Px, Py, PZ, Xot, Yot)
Call PlotCurve(Xo, Yo, 3)
Call PlotCurve(Xot, Yot, 2)
Next I
For I = 1 To NH + 1
Px = jMapType * (NX - 1) * DX
Py = 0
PZ = (I - 1) * HStep
Call Project(Px, Py, PZ, Xo, Yo)
Px = jMapType * (NX - 1) * DX
Py = (NY - 1) * DY
PZ = (I - 1) * HStep
Call Project(Px, Py, PZ, Xot, Yot)
Call PlotCurve(Xo, Yo, 3)
Call PlotCurve(Xot, Yot, 2)
Next I
For I = 2 To NH + 1
Px = 0
Py = 0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -