Dim BmpData As New BitmapData
Dim PixleValue(Stride * Bmp.Height) As Byte
Dim Hanlde As GCHandle = GCHandle.Alloc(PixleValue, GCHandleType.Pinned)
BmpData.Scan0 = Hanlde.AddrOfPinnedObject()
新建窗口,添加picture控件
利用line()方法画线
line(开始x坐标,开始y坐标)-(结束x坐标,结束y坐标),线的颜色,画线的方式(默认为线,B为矩形无填充,BF为填充的矩形)
Next i
如果要在窗口上画也可以调用窗口的line方法即form.line()
我不得不承认在VB上写DirectX的教程相当难找!如果LZ想深入研究三维图形问题,C++一定要学,就算不能用C++编程,起码要能把C++程序翻译成VB程序.
我自己学会DX编程花了两三个月(很浅).编这样一个程序难度是有点大的.
这是我的一个老DX程序的不完全的代码(显示一个黑乎乎的平面),不一定能编译,可以参考一下.
Imports Microsoft.DirectX '一定要~
Public Class FormMain
'Matrices
Dim matWorld, matView, matProj As Matrix '世界位置矩阵,摄像机位置矩阵和透视矩阵,数学要学好啊.
'mesh
#Region "DX Core"
Public Sub InitDeviceObjects()
.Windowed = True '不全屏.
.EnableAutoDepthStencil = True '让DX自动管理深度缓冲
End With
End Sub
Public Sub RestoreDeviceObjects()
AttrTable(0).AttributeId = 0
AttrTable(0).FaceStart = 0
AttrTable(0).VertexStart = 0
'顶点坐标信息.
MyPlane.SetAttributeTable(AttrTable) '输入顶点分组属性表
Public Sub Render() '调用它画图
MatView = Matrix.LookAtLH(vPos, vlook, vUp) '计算摄像机位置矩阵
Dim fAspect As Single = Me.Width / Me.Height '窗口长宽比
MyDevice.BeginScene() '开始画
MatWorld = Matrix.Identity '物体位于原点,不旋转
Me.Mesh.DrawSubset(0) '画物体
MyDevice.EndScene() '结束
MyDevice.Present() '显示在屏幕上
Public Sub DeleteDeviceObjects() '结束程序时放掉资源
MyPlane.Dispose()
MyDevice.Dispose()
#End Region
Private Sub FormMain_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
DeleteDeviceObjects()
Windows.Forms.Cursor.Show()
Private Sub FormMain_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
InitDeviceObjects()
RestoreDeviceObjects()
Windows.Forms.Cursor.Hide()
Render()
End Class
Net 是一个编程框架.
与函数库不同,编程框架指的是一种更高层的抽象,它使使用它的开发人员可以在不用掌握太多基础编程理论时(当然最好是懂一些)就可以开发产品..Net Framework 的意义是指 .Net 框架..NET Framework 是可以用来开发应用软件与托管类库的一个平台;它为你提供在生成、调试以及执行托管应用程序时所需要的编译器及工具.可以说 .NET Framework 为你提供了在 Windows 上开发和运行托管应用程序所需的一切条件.所以呢 .Net 框架也是一种高层次的抽象,它是一种全面支持以面向对象编程的编程方式来进行开发的运行于 Windows NT 系列操作系统上的高层编程框架.
之所以说应用程序是托管的是因为它们的执行过程是由 .NET Framework 管理的.实际上,.NET Framework 通过提供一个可控的运行时环境来管理这些执行过程,此运行时环境提供众多的服务,比如在应用程序运行时载入应用程序、管理内存、监视和维护安全和资源完整性.
.NET Framework 提供了众多的工具,比如编译器、调试器、编程语言、执行引擎(名为 Common Language Runtime,CLR,公共语言运行时),开发工具,以及大量的预定义的"功能模块"类库.这些类库被称作 Framework Class Libraries(FCLs).
.Net 支持众多的编程语言,所有的编程语言编写的代码都将最终交给 CLR 来执行,所以呢 .Net 是"语言无关"的.目前微软推出的用于 .Net 开发的语言有:VB.NET J# C# F#,现在的 VC++ 也支持托管 .Net 编程.
.Net 编程可应用于很多方面,比如桌面应用程序、WEB应用程序、便携设备应用程序、游戏开发、用户界面开发、富互联网开发等.
通过安装一些插件,也可以在 Linux 等操作系统上运行 .Net 程序.
数学上不是有斜二测画法,算好坐标即可画出
或者用AnyCAD的.Net图形控件
也可以调用matlab 实现
以上就是土嘎嘎小编为大家整理的vb.net三维界面编程相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!