| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3569 人关注过本帖
标题:如何在c#中调用opengl的函数画线啊?
只看楼主 加入收藏
beautymeteor
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2006-4-18
收藏
 问题点数:0 回复次数:3 
如何在c#中调用opengl的函数画线啊?

请高手指点迷津,不胜感激啊

搜索更多相关主题的帖子: opengl 函数 
2006-04-18 21:37
live41
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:67
帖 子:12442
专家分:0
注 册:2004-7-22
收藏
得分:0 
好象是有个csgl.dll
2006-04-19 10:29
live41
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:67
帖 子:12442
专家分:0
注 册:2004-7-22
收藏
得分:0 
[转载]
2 OpenGL与C#.NET在SMT焊点三维重建的应用

本文中编制的软件显示部分主要是利用OpenGL与Visual C#.NET完成。此软件可在窗口中对三维重构算法生成的点云进行旋转、平移、放缩、切线、排序、曲面重构等操作。本文利用此软件以重构SMT焊点模型为例,在三角网格化后对OpenGL 的命令功能进行有效组合利用,以得到实际SMT焊点的三维重建对象[2][3]。

2.1 Visual C#.Net中使用OpenGL 的方法

微软对于和他们竞争的东西,比如CORBA(COM的竞争对手)和OpenGL(DirectX的竞争对手)提供较少的标准支持。不过在C#中实现OpenGl也并非没有可能,有很多很好的第3方库可以使用。下载库CSOpenGL.2.1-1.2并且安装。在工程中添加命名空间CsGL.OpenGL,并且在工程中引用CSGL.DLL,这样就可以在C#.NET工程下使用OPENGL。

2.2 离散点的三角网格化

根据SMT焊点的二维图像利用三维重构算法计算出来的SMT焊点的高度是离散点云数据。而运用OPENGL来进行SMT焊点表面的三维重建需要将这些点有序的三角网格化[5]。利用传统三维测量仪测出的大量离散点,由于这些点往往是杂乱点,没法从数据存储结构上得到一个点的邻近点信息[4],因此,从这些杂乱离散点得到三角网格是个难题。而采用本文方法得到的离散点云是有一定规律性的,可以有效的利用这些规律将点云三角网格化。

本文中用一个二维数组Zn[,]来存储表面数据点云数据。二维数组Zn[i,j]中的(i,j)和SMT焊点二维图像的象素(x,y)的相对应位置是一一对应的,所以可以根据右手定则使用如下图1代码循环构筑三角网格化。如图1所示首先利用右手定则用(i,j), ( i+1,j+1), ( i+1,j)三个点构筑一个三角形,然后再根据右手定则用(i,j), ( i,j+1), ( i+1,j+1)构筑一个另三角形,这样的话每一个离散点就可以构筑两个三角形。本文采集的SMT焊点的二维图像的大小是128×128个象素。所以可以构筑出(128-1)×(128-1)×2=32258个三角形。利用如上规则,可以方便的完成三角网格化。在C#中的OpenGl程序如下:
GLUT.glBegin(GL.GL_TRIANGLES);
for(i=0;i<127;i++)
{
for(j=0;j<127;j++)
{
GLUT.glVertex3f(i, j, tsai[i,j]);
GLUT.glVertex3f(i, j, tsai[i,j+1]);
GLUT.glVertex3f(i+1, j, tsai[i+1,j]);

GLUT.glVertex3f(i+1, j, tsai[i+1,j]);
GLUT.glVertex3f(i, j+1, tsai[i,j+1]);
GLUT.glVertex3f(i+1, j+1, tsai[i+1,j+1]);

}
}
GLUT.glEnd(); // 正方形绘制结束

2006-04-19 10:30
live41
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:67
帖 子:12442
专家分:0
注 册:2004-7-22
收藏
得分:0 
2006-04-19 10:39
快速回复:如何在c#中调用opengl的函数画线啊?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.039259 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved