论文部分内容阅读
摘 要:为获取鼠标按下点的造型空间坐标,利用造型空间和用户空间之间的坐标变换,基于VB实现精度可以控制的直线与圆柱体交点求解数值计算. 给出鼠标在屏幕上按下点的造型空间坐标和2点间距离的计算方法. 通过1个模型室界面,要求学生根据显示模型绘制三视图,训练学生测图和绘图. 结果表明该方法效果较好.
关键词:造型空间; 用户空间; 直线; VB
中图分类号:TP391.41
文献标志码: A
Capturing coordinates of mouse-down point of modeling space based on VB
LI Huaijian,CHEN Xingming
(College of Civil Eng.,Tongji Univ.,Shanghai 200092,China)
Abstract:To obtain the coordinates of mouse-down points of modeling space,the numerical computation on solving crossover points of line and cylinder is implemented based on VB. The method uses the coordinate transformation between modeling space and users’ space and can control the precision. The method on calculating the coordinates of mouse-down points of modeling space and the distance between the two points is proposed. To train the students to survey and draw graphics,a model room is given and the three-view drawing is demanded according to the displayed model. The results indicate that the method achieves better effect.
Key words:modeling space; users’ space; line; VB
0 引 言
图形是表达和交流技术思想的工具[1],在计算机应用已经非常发达的社会里,大量的信息可以记录在图形里,人们也可以从他人绘制的图形中提取所需要的信息.由于用二维示意图表达三维造型的数据处理量庞大、难度高,因此目前对面向对象的建模方法[2]研究较多,如沈海荣等[3]就提出其中的1种方法.程序员已完成模型程序的编写、模型数据的输入和模型空间在用户显示屏幕上的呈现,这就使用户习惯用二维示意图表达三维造型空间.
用户结合VB可视化运行界面,根据需要在屏幕上完成对模型的移动、放大缩小和旋转操作[4]后,按下鼠标在屏幕上移动指针时,如何显示鼠标在屏幕上按下模型直线上点的造型空间坐标,或者如何知道鼠标指针在屏幕显示的模型直线上按下点到前一次按下点的造型空间真实距离,有一定的理论和实际意义,是二维示意图表达三维造型的延伸.
1 模型的坐标系转换
2 建立半径可控的小圆柱
由于鼠标指针在屏幕显示的模型直线上按下点不一定恰巧位于该模型直线上,并且屏幕显示的是二维坐标,为保证鼠标指针在屏幕显示的模型直线上按下点必须位于造型坐标系模型直线上,且反映三维坐标,通过建立半径可控的小圆柱解决上述问题.设鼠标指针在屏幕上按下点为P,在用户坐标系xoy平面形成捕捉屏幕显示的模型直线E的小圆柱方程为(x-x*)2+(y-y*)2=r2[JY](2)式中:(x*,y*)是鼠标在屏幕上按下点P的坐标(用户坐标系),由VB记录;r由用户根据需要设定;小圆柱的轴线平行于用户坐标系的z轴,垂直于xoy平面.
3 找出模型直线端点在鼠标按下点 两侧的直线
直线E有2个端点V0和V1,每个端点V在用户坐标系有(x,y,z),鼠标按下点P在用户坐标系有(x*,y*),建立判别式,找出模型直线的端点满足在鼠标按下点P两侧的模型直线E.
4 鼠标在模型直线上按下点的造型 空间坐标
由式(6)可以得到鼠标在屏幕上按下模型直线上点P在用户坐标系中的坐标;由式(7)可以得到鼠标在屏幕上按下模型直线上点P在造型坐标系中的坐标.
5 求两点间真实距离
由式(8)得鼠标在屏幕上按下模型直线上点到前一次按下点的真实距离.
6 应用举例
图1和2为根据文献[5]编制的训练学生看图和绘图界面.界面左侧是对话区,右侧是模型显示区,通过测量显示区里的图形,在画图纸上用笔徒手绘制模型视图,标注尺寸.先打开需要量测的模型数据文件,经过移动、放大缩小和旋转,使模型在图形框内显示;再移动鼠标点击“捕捉点坐标”按钮,根据需要在屏幕显示的模型底面棱线上按下鼠标点(图中用1个小圆表示该点位置),则该点在造型坐标系中的坐标就显示在界面的捕捉点坐标框内.
如果需要测定2点之间的距离,则移动鼠标点击“捕捉点1-2距离”按钮,再根据需要,在屏幕显示的模型底面棱线上按下鼠标点,该点在造型坐标系的坐标就显示在界面的捕捉点坐标框内;然后还可以移动、放大缩小和旋转图形框内显示的模型,再移动鼠标到所需要的模型底面另一棱线上按下鼠标点,则该点在造型坐标系中的坐标显示在界面的捕捉点坐标框内,“捕捉点1-2距离”按钮下的文本框内显示出该点至前一次按下点在造型坐标系中的真实距离.
7 结 论
在基于VB开发的可视化运行正投影变换界面中,对模型经过移动、放大缩小和旋转操作后,可以进行直线端点的数值转换;在保证鼠标指针按下点必须位于造型坐标系模型直线上时,提出用可控精度的小圆柱捕捉直线上点的方法,通过比较、判断和运算,可以求得按下鼠标在屏幕上游动时指针处模型直线上点的造型空间坐标,以及鼠标指针在屏幕显示的模型直线上按下点到前一次按下点的造型空间距离.由于完成模型程序的编写、模型数据的输入工作量大、变化多,所以也可以在斜平行投影变换和透视投影变换界面中进行可视化运行,今后可以在这方面进行相关研究和探讨.
参考文献:
[1] 谢步瀛,龚沛曾. Visual Basic计算机绘图基础[M]. 北京:电子工业出版社,2002.
[2] 孙家广,杨长贵. 计算机图形学[M]. 北京:清华大学出版社,1995.
[3] 沈海荣,杨勇生,张军. 基于VB技术的SolidWorks二次开发方法[J]. 计算机辅助工程,2004,13(4):51-56.
[4] ROGERS D F,ALAN J A. Mathematical elements for computer graphics[M]. 2nd Edition. New York:McGraw-Hill,1990.
[5] DEITEL H M,DEITEL P J,NIETO T R. Visual Basic 6大学教程[M]. 北京:电子工业出版社,2003.
(编辑 于 杰)
“本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文”
关键词:造型空间; 用户空间; 直线; VB
中图分类号:TP391.41
文献标志码: A
Capturing coordinates of mouse-down point of modeling space based on VB
LI Huaijian,CHEN Xingming
(College of Civil Eng.,Tongji Univ.,Shanghai 200092,China)
Abstract:To obtain the coordinates of mouse-down points of modeling space,the numerical computation on solving crossover points of line and cylinder is implemented based on VB. The method uses the coordinate transformation between modeling space and users’ space and can control the precision. The method on calculating the coordinates of mouse-down points of modeling space and the distance between the two points is proposed. To train the students to survey and draw graphics,a model room is given and the three-view drawing is demanded according to the displayed model. The results indicate that the method achieves better effect.
Key words:modeling space; users’ space; line; VB
0 引 言
图形是表达和交流技术思想的工具[1],在计算机应用已经非常发达的社会里,大量的信息可以记录在图形里,人们也可以从他人绘制的图形中提取所需要的信息.由于用二维示意图表达三维造型的数据处理量庞大、难度高,因此目前对面向对象的建模方法[2]研究较多,如沈海荣等[3]就提出其中的1种方法.程序员已完成模型程序的编写、模型数据的输入和模型空间在用户显示屏幕上的呈现,这就使用户习惯用二维示意图表达三维造型空间.
用户结合VB可视化运行界面,根据需要在屏幕上完成对模型的移动、放大缩小和旋转操作[4]后,按下鼠标在屏幕上移动指针时,如何显示鼠标在屏幕上按下模型直线上点的造型空间坐标,或者如何知道鼠标指针在屏幕显示的模型直线上按下点到前一次按下点的造型空间真实距离,有一定的理论和实际意义,是二维示意图表达三维造型的延伸.
1 模型的坐标系转换
2 建立半径可控的小圆柱
由于鼠标指针在屏幕显示的模型直线上按下点不一定恰巧位于该模型直线上,并且屏幕显示的是二维坐标,为保证鼠标指针在屏幕显示的模型直线上按下点必须位于造型坐标系模型直线上,且反映三维坐标,通过建立半径可控的小圆柱解决上述问题.设鼠标指针在屏幕上按下点为P,在用户坐标系xoy平面形成捕捉屏幕显示的模型直线E的小圆柱方程为(x-x*)2+(y-y*)2=r2[JY](2)式中:(x*,y*)是鼠标在屏幕上按下点P的坐标(用户坐标系),由VB记录;r由用户根据需要设定;小圆柱的轴线平行于用户坐标系的z轴,垂直于xoy平面.
3 找出模型直线端点在鼠标按下点 两侧的直线
直线E有2个端点V0和V1,每个端点V在用户坐标系有(x,y,z),鼠标按下点P在用户坐标系有(x*,y*),建立判别式,找出模型直线的端点满足在鼠标按下点P两侧的模型直线E.
4 鼠标在模型直线上按下点的造型 空间坐标
由式(6)可以得到鼠标在屏幕上按下模型直线上点P在用户坐标系中的坐标;由式(7)可以得到鼠标在屏幕上按下模型直线上点P在造型坐标系中的坐标.
5 求两点间真实距离
由式(8)得鼠标在屏幕上按下模型直线上点到前一次按下点的真实距离.
6 应用举例
图1和2为根据文献[5]编制的训练学生看图和绘图界面.界面左侧是对话区,右侧是模型显示区,通过测量显示区里的图形,在画图纸上用笔徒手绘制模型视图,标注尺寸.先打开需要量测的模型数据文件,经过移动、放大缩小和旋转,使模型在图形框内显示;再移动鼠标点击“捕捉点坐标”按钮,根据需要在屏幕显示的模型底面棱线上按下鼠标点(图中用1个小圆表示该点位置),则该点在造型坐标系中的坐标就显示在界面的捕捉点坐标框内.
如果需要测定2点之间的距离,则移动鼠标点击“捕捉点1-2距离”按钮,再根据需要,在屏幕显示的模型底面棱线上按下鼠标点,该点在造型坐标系的坐标就显示在界面的捕捉点坐标框内;然后还可以移动、放大缩小和旋转图形框内显示的模型,再移动鼠标到所需要的模型底面另一棱线上按下鼠标点,则该点在造型坐标系中的坐标显示在界面的捕捉点坐标框内,“捕捉点1-2距离”按钮下的文本框内显示出该点至前一次按下点在造型坐标系中的真实距离.
7 结 论
在基于VB开发的可视化运行正投影变换界面中,对模型经过移动、放大缩小和旋转操作后,可以进行直线端点的数值转换;在保证鼠标指针按下点必须位于造型坐标系模型直线上时,提出用可控精度的小圆柱捕捉直线上点的方法,通过比较、判断和运算,可以求得按下鼠标在屏幕上游动时指针处模型直线上点的造型空间坐标,以及鼠标指针在屏幕显示的模型直线上按下点到前一次按下点的造型空间距离.由于完成模型程序的编写、模型数据的输入工作量大、变化多,所以也可以在斜平行投影变换和透视投影变换界面中进行可视化运行,今后可以在这方面进行相关研究和探讨.
参考文献:
[1] 谢步瀛,龚沛曾. Visual Basic计算机绘图基础[M]. 北京:电子工业出版社,2002.
[2] 孙家广,杨长贵. 计算机图形学[M]. 北京:清华大学出版社,1995.
[3] 沈海荣,杨勇生,张军. 基于VB技术的SolidWorks二次开发方法[J]. 计算机辅助工程,2004,13(4):51-56.
[4] ROGERS D F,ALAN J A. Mathematical elements for computer graphics[M]. 2nd Edition. New York:McGraw-Hill,1990.
[5] DEITEL H M,DEITEL P J,NIETO T R. Visual Basic 6大学教程[M]. 北京:电子工业出版社,2003.
(编辑 于 杰)
“本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文”