随手记--Artoolkit
文章平均质量分 80
tupu8617
这个作者很懒,什么都没留下…
展开
-
Artoolkit例子中的simpletest.c改写-----将显示的模型移动
实现模型的移动功能,我首先想的是通过键盘输入要移动的XYZ值,然后我就用C++中的cin语句输入三个整型变量,在simpleTest.c的基础上加了如下代码:图1 头文件声明中添加的代码图2 变量声明中添加的代码图3 在main函数中添加的代码图4 在draw()函数中添加的代码在VS2010中编译后,出现了很原创 2017-09-24 16:25:09 · 577 阅读 · 0 评论 -
Artoolkit的例子simpleVRML详解
当你打开Artoolkit工具包的examples文件夹,你会发现simpleVRML这个例子与其他的例子是不一样的。最主要的区别在于使用的MainLoop()框架不同,这个例子是以ar为主框架,而其他的大部分例子则是以opengl为主框架。因为框架不同,所以该例子显示的模型不是用OPENGL绘制的,而是用绘图软件绘制的,比如3Ds MAX、Sketchup、Solidworks……,以wrl格原创 2017-10-21 16:30:46 · 2167 阅读 · 22 评论 -
ARToolkit手札之显示菜单(二)
在”ARToolkit手札之显示菜单(一) “这篇博客中,我利用标识卡的旋转角度显示了菜单的输出状态,那么我可以根据菜单的输出状态,指定绘制虚拟物体。 nSel表示菜单目前切换到那个字符串,将这个参数传递到staticvoid draw(void)函数,就可以指定绘制哪个虚拟物体了。 在”ARToolkit手札之显示菜单(一) “的基础上,修改static原创 2017-11-24 09:30:32 · 336 阅读 · 0 评论 -
Artoolkit例子中的simpletest.c改写-----识别多个标识
在simpleTest.c 的原始代码中摄像头只能识别一个标识卡,本例在simpletest.c上稍作修改,以识别多个标识。下面是修改后的代码。………………………………char *patt_name[2]={"Data/patt.hiro","Data/patt.kanji"};//用数组存放2个标识的路径int patt_id[2];//以识别两个标识卡为例d原创 2017-12-01 20:05:26 · 1341 阅读 · 0 评论 -
ARToolkit手札之用手遮住标识以切换模型
如果想实现用手遮住标识卡,将手撤回后,就可以切换另外一个模型的功能,那么应该怎么做呢?可以利用手遮住标识再撤回的这段时间来实现该功能。查阅资料得到#include是C/C++中的日期和时间头文件,用于需要时间方面的函数,其中从系统时钟获取时间方式有2种方式。①time_t time(time_t *timer);函数功能:得到机器的日历时间或者设置日历时间 函数返回:机器日历时间原创 2017-12-08 19:47:37 · 494 阅读 · 0 评论 -
ARToolKit例子中simpleTest.c改写-----旋转标识卡,显示出旋转角度
旋转标示卡后,旋转角可以用反正切atan来求。先在simpleTest.c的声明部分添加下面的代码。原创 2017-11-18 20:00:44 · 577 阅读 · 0 评论 -
ARtoolkit例子中的交互代码paddleInteractionTest.c理解
打开“ARToolKit\examples\paddleInteraction”下的“paddleInteractionTest.sln(Visual Studio的解决方案文件,它通常包含一个项目中所有的工程文件信息)”文件,我用的是VS2010,当然也也可以用别的版本打开,建议用2003以上的版本。 这个例子中的交互方法是基于paddle的,原理:首先检测到交互实现的平面,跟基原创 2017-10-16 11:54:34 · 449 阅读 · 0 评论 -
ARToolkit例子中的simpleVRML.c改写(三)
ARToolkit提供了标识在摄像机坐标系统中的位置,可以使用opengl矩阵系统计算出虚拟物体的位置。标识坐标系统有着和opengl坐标系统一样的方位。因此任何应用于与标识关联的物体的转换都应遵循opengl的转换规则。ARToolKit所使用的坐标系统如图1所示。图1 ARToolKit坐标系统(1)摄像机坐标系与标识物坐标系的关系。(2)摄像机坐标系与理性屏幕坐标系的关系原创 2017-11-06 21:47:02 · 465 阅读 · 0 评论 -
ARTOOLKIT例子中的simpleVRML.c改写(一)
simpleVRML这个例子比较特殊,它使用的框架与之前的例子不同。VRML(Virtual Reality Modeling Language)即虚拟现实建模语言。是一种用于建立真实世界的场景模型或人们虚构的三维世界的场景建模语言,也具有平台无关性。是目前Internet上基于 WWW的三维互动网站制作的主流语言。VRML的场景模型文件的扩展名为.wrl,wrl文件是一种虚拟现实文本格式文件,可原创 2017-10-20 21:41:57 · 690 阅读 · 0 评论 -
ARToolkit例子中的simpleVRML.c改写(二)
我在ARTOOLKIT例子中的simpleVRML.c改写(一)中修改代码后显示了自己绘制的模型,并且我还在每个模型的外面都画了一个线状的长方体。现在我只想在茶壶的外面显示线状的长方体,那么怎么实现呢?我们来看一下代码中的static void Display(void)函数,其中在对标识进行遍历的过程中如果该标识被设置为可见且ID正确,那么就用arVrmlDraw()函数根据前面加载的模型I原创 2017-10-28 17:50:38 · 383 阅读 · 0 评论 -
Artoolkit例子中的simpletest.c改写-----将显示的模型放在长方体内
利用OPENGL中的函数来画长方体,然后根据模型的空间坐标来确定长方体的空间坐标。查资料可知,OpenGL中定义的定点放在函数glBegin和glEnd之间,由函数glBegin 的参数指定绘制图元的类型,表1列出了glBegin 可支持的OpenGL图元。 表1 glBegin 可支持的OpenGL图元模型原创 2017-09-25 11:40:37 · 769 阅读 · 0 评论 -
Artoolkit手札之鼠标定位
本博客在simpleTest.c的基础上加以改动,实现不绘制模型,仅获取一些参数来控制鼠标移动的功能。windows API中的mouse_event函数可以控制鼠标操作,原型如下:VOID mouse_event( DWORD dwFlags, //flags specifying various motion and click options DWORD dx, //原创 2018-01-05 18:38:23 · 460 阅读 · 0 评论