三维作图系统及其程序的制作方法

文档序号:6551333阅读:197来源:国知局
三维作图系统及其程序的制作方法
【专利摘要】本发明提供一种三维作图系统及其程序,能够以简便的操作从斜视状态达到正视所希望的面的状态。三维作图系统具备正视工具,根据输入操作来显示图形数据中包含的物体的特定面的正视画面,所述正视工具具备:操作检测机构,检测输入操作的内容、量、方向或坐标;物体检测机构,确定与进行输入操作时的画面法线交叉或靠近的物体;斜角判断机构,检测与输入操作中的画面法线的交叉角度在规定角度以内的特定向量;以及旋转机构,根据操作检测机构的检测信息使包括图形数据的编辑空间相对于视线旋转,并且,在输入操作的结束时检测出特定向量的情况下,使包括图形数据的编辑空间相对于视线旋转以使该特定向量与画面法线平行。
【专利说明】三维作图系统及其程序

【技术领域】
[0001] 本发明涉及以三维进行图形的编辑处理(作图)的作图系统及其程序。

【背景技术】
[0002] 到目前为止,对于三维作图系统,提供的是能够使X轴、Y轴或者Z轴旋转并进行 编辑作业的作图系统。
[0003] 以往的三维作图系统是通过鼠标拖动、键操作而能够改变作图得到的物体的朝向 的作图系统,显示方向为斜视、从XYZ轴方向观察的正面图、立面图。
[0004] 其中,也存在下述作图系统:斜视能够通过继续鼠标拖动、键操作来进行其角度调 整直到达到预期的方向而得到,从XYZ轴方向观察的正面图、立面图的正视能够通过确定 的键输入而得到(例如,参照下述专利文献)。
[0005] 专利文献1 :日本特开平07-105263号公报
[0006] 专利文献2 :日本特开2002-74400号公报
[0007] 然而,以所述公报记载的技术为首的现有的方法存在下述问题:在斜视状态下的 编辑的过程中变为正视状态的情况下,不得不停止拖动操作,按下被分配了变为正视状态 的功能的按钮,为了从当前的斜视状态变为目标的正视状态,作业者必须自己判断物体的 局部坐标系中的W轴、U轴、V轴中的哪一个最靠近画面的法线(U-V平面、V-W平面、W-U平 面(以下,记作"基准面")中的哪一个最靠近画面)来进行操作。
[0008] 具体来说,为了显示建筑物,使其旋转以便能够从正面正视右侧面,必须拖动旋转 以使U轴朝向正面。虽然通过这样的操作,画面与U轴大致垂直,达到接近正视V-W平面的 状态,然而,由于难以达到准确的垂直,因此有时也会看到不希望看到的面。
[0009] 因此,虽然也存在通过启动显示正视最近的面的图像的功能的键输入,能够显示 完整的正视图像的CAD,不过,难以一开始就认识到注视的面是由U轴、V轴或者W轴构成的 哪个面,经常存在需要多次重新进行键输入的情况。
[0010] 特别地,在想要正视相对于所述基准面倾斜的面的情况下,存在下述问题:必须使 拖动操作的旋转角度以例如90度的约数的角度为单位针对各轴进行繁琐的旋转操作。


【发明内容】

[0011] 本发明正是鉴于上述情况而完成的,其目的在于提供一种三维作图系统及其程 序,能够以简便的操作从斜视状态达到正视所希望的面的状态。
[0012] 为了解决上述课题而完成的本发明的三维作图系统,组合能够进行计算机处理的 图形数据并进行作图,其特征在于,具备正视工具,根据输入操作来显示图形数据中包含的 物体的特定面的正视画面,所述正视工具具备:操作检测机构,检测输入操作的内容、量、方 向或坐标;物体检测机构,确定与进行所述输入操作时的画面法线交叉或靠近的物体;斜 角判断机构,从由所述物体检测机构确定的物体所具备的向量中检测与所述输入操作中的 所述画面法线的交叉角度在规定角度以内的特定向量;以及旋转机构,根据所述操作检测 机构的检测信息使包括所述图形数据的编辑空间相对于视线旋转,并且,在所述输入操作 结束时检测出所述特定向量的情况下,使包括所述图形数据的编辑空间相对于视线旋转以 使所述特定向量与所述画面法线平行。
[0013] 为了解决上述课题而完成的本发明的三维作图程序,组合能够进行计算机处理的 图形数据并进行作图,其特征在于,使计算机作为组合能够进行计算机处理的图形数据并 进行作图的三维作图系统发挥作用,所述三维作图系统具备正视工具,根据输入操作来显 示图形数据中包含的物体的特定面的正视画面,所述正视工具具备:操作检测机构,检测输 入操作的内容、量、方向或坐标;物体检测机构,确定与进行所述输入操作时的画面法线交 叉或靠近的物体;斜角判断机构,从由所述物体检测机构确定的物体所具备的向量中检测 与所述输入操作中的所述画面法线的交叉角度在规定角度以内的特定向量;以及旋转机 构,根据所述操作检测机构的检测信息使包括所述图形数据的编辑空间相对于视线旋转, 并且,在所述输入操作结束时检测出所述特定向量的情况下,使包括所述图形数据的编辑 空间相对于视线旋转以使所述特定向量与所述画面法线平行。
[0014] 优选构成为,作为所述三维作图系统或所述三维作图程序的旋转机构,还具备:斜 角判断机构,从由所述物体检测机构确定的物体所具备的向量中检测与所述输入操作中的 画面坐标轴的交叉角度在规定角度以内的特定向量;以及旋转机构,使包括所述图形数据 的编辑空间以所述画面法线为轴旋转,以使由所述物体检测机构确定的物体的局部坐标轴 或者实坐标轴与所述画面坐标轴平行。
[0015] 另外,所述画面法线指的是,通过由所述输入操作移动的光标的位置的画面的法 线(指示垂线)、或者通过编辑画面的中央的画面的法线(中央法线)。
[0016] 作为所述特定向量,可以采用实坐标轴或者所述物体的局部坐标轴、面法线、材料 轴线或钢筋布置方向等。不拘泥于所述面法线的理由是,例如,在正视处于倾斜状态的建 筑构件的构成要素时,将该物体的局部坐标或实坐标的轴作为特定向量,存在不仅想看到 该构成要素固有的正视画面,而且希望从正面和侧面观察组装到建筑构件中的状态的情 况。
[0017] 作为所述输入操作,可以列举出利用鼠标等的拖动操作、飞梭控制器 (jog-shuttle)等的操作。
[0018] 如上所述,根据本发明的三维作图系统及其程序,通过使包括应在显示器画面显 示的物体的编辑空间以吸附于特定向量的形式旋转,能够调整对在编辑空间中作图的所有 物体及其相关的所有向量的视线。
[0019] 例如,能够仅通过特定操作的开始和结束的操作来实现实坐标系的Z轴、X轴或者 Y轴任意一个方向的正视图像,即使是局部坐标系的W轴、U轴或V轴任意一个方向的正视 图像,也能够仅通过拖动等特定操作的开始、持续中以及结束的操作来实现。
[0020] 具体来说,即使是向编辑的物体具有的各面的法线方向、材料轴线方向或者钢筋 布置方向的正视图像,也能够仅通过所述特定操作以及结束的操作来表现。
[0021] 而且,能够通过预定输出通知用户在所述特定操作中接近正视状态的事实,用户 能够适当指定发出该预定输出的角度阈值。

【专利附图】

【附图说明】
[0022] 图1是示出本发明的三维作图系统及其程序中的正视工具的处理的一例的流程 图。
[0023] 图2是示出本发明的三维作图系统及其程序中的正视工具的通过输入操作进行 的处理的一例的流程图。
[0024] 图3是示出本发明的三维作图系统及其程序中的伴随着拖动标志的变化的处理 的分配的一例的流程图。
[0025] 图4是示出本发明的三维作图系统及其程序中的正视工具的旋转对象在(A):拖 动开始时;(B):拖动持续时;以及(C)拖动结束时进行的处理的一例的流程图。
[0026] 图5是说明本发明的三维作图系统及其程序中的正视工具的旋转对象的动作的 说明图。
[0027] 图6是示出本发明的三维作图系统及其程序中的正视对象在(A):拖动开始时;以 及(B):拖动持续时进行的处理的一例的流程图。
[0028] 图7是示出本发明的三维作图系统及其程序中的正视对象在拖动结束时进行的 处理的一例的流程图。
[0029] 图8是示出本发明的三维作图系统及其程序中的显示对象的处理的一例的说明 图。
[0030] 图9是示出本发明的三维作图系统及其程序中的正视工具的立体正视处理的一 例的说明图。
[0031] 图10是示出本发明的三维作图系统及其程序中的正视工具的水平正视处理的一 例的说明图。
[0032] 图11是示出本发明的三维作图系统及其程序中的画面法线与显示在编辑画面中 的现有的物体的关系的一例的说明图。
[0033] 图12是示出本发明的三维作图系统及其程序中的画面法线与显示在编辑画面中 的现有的物体及实坐标的关系的一例的说明图。
[0034] 图13是示出本发明的三维作图系统及其程序中的画面法线与显示在编辑画面中 的交叉物的交叉面的关系的一例的说明图。
[0035] 图14是示出本发明的三维作图系统的硬件结构的一例的说明图。
[0036] 图15是示出本发明的三维作图系统及其程序中的正视工具采用的物体对象的内 容的一例的说明图。
[0037] 图16是示出本发明的三维作图系统及其程序中的正视对象中的旋转中心标志的 闪烁处理的一例的流程图。
[0038] 图17是示出本发明的三维作图系统及其程序中的数据处理推移的一例的流程 图。
[0039] 标号说明
[0040] 1 :输入装置;2 :控制装置;3 :输出装置;4 :记录装置。

【具体实施方式】
[0041] 以下,示出附图并详细说明本发明的三维作图系统(以下,记作作图系统)及其程 序的一种实施方式。
[0042] 图14所示的例子为,通过计算机系统组合能够进行计算机处理的图形数据并进 行作图的作图系统,其构成为具备输入装置1、控制装置2、输出装置3以及记录装置4。 [0043] 所述输入装置1是键盘、指示设备等通过用户的操作输入控制装置能够读取的数 据的装置。
[0044] 所述控制装置2是在包括CPU、存储器以及输入/输出接口的硬件中安装使计算机 系统作为作图系统发挥作用的三维作图程序(以下,记作作图程序。)的控制装置。
[0045] 所述输出装置3是以能够观察的方式显示所编辑的图形的显示器装置、在纸面上 印刷的打印机等。
[0046] 记录装置4是硬盘、USB存储器等各种记录介质。
[0047] 该计算机系统的例子为,通过上述结构,启动所述硬盘中保存的应用程序(作图 程序)来发挥作为作图系统的功能。
[0048] 编辑的图形数据通过对由各种记录介质构成的记录装置4的读取、经过所述输入 装置1的操作来进行相对于作图系统的输入或保存。
[0049] 所述图形数据的编辑处理使用所述作图系统中配备的工具(函数)和由输入装置 1得到的位置数据或素材数据等进行。
[0050] 为了进行如上所述的编辑处理,所述作图系统具备:将具备单个或相关的多个操 作项目的多个工具箱分层级地组合而成的数据(工具数据);分配给所述操作项目的特定 函数的数据(函数数据);选择机构,通过对操作项目的输入操作(以下,记作"点击"或者 "加压"),显示分配给所述操作项目的下位层级的工具箱或者启动分配给所述操作项目的 特定函数;运算机构,利用启动的函数执行所需的运算;以及工具管理机构,通过所述操作 项目的新选择,解除未被选择的同层级的操作项目的选择,并且解除作为所解除的操作项 目的下位层级存在的工具箱的选择和显示。
[0051] 所述工具函数根据其处理内容从所述输入装置1取得通过用户的编辑操作产生 的位置数据、素材数据等编辑所需的各种数据作为所述工具函数的参数等,通过所述运算 机构实施该工具函数预定的运算处理并将得到的图形数据保存到存储器或记录装置4。
[0052] 并且,本例具有的正视工具具备坐标检测机构、操作检测机构、物体检测机构、斜 角判断机构以及旋转机构,以能够仅靠拖动等特定操作实现从作图空间的坐标轴方向、该 物体所具有的各面的法线方向、材料轴线方向或者钢筋布置方向等观察的正视图像。
[0053] 为了使所述正视工具发挥作用,在该例子中,处理分别属于实坐标系、鼠标坐标系 (输入操作的坐标)系、画面坐标系以及局部坐标系的四种坐标。
[0054] 所述实坐标系的坐标(实坐标)指的是该作图系统所具有的整个作图空间的三维 正交坐标(X、Y、Z)。
[0055] 其他坐标系的原点的位置、大小与所述实坐标系不一致,并且所述实坐标系以外 的各个坐标系彼此也不一致。
[0056] 所述鼠标坐标系的坐标指的是,通过鼠标等输入设备的输入操作形成的具有固定 的分辨率的平面的坐标(V、H)。
[0057] 所述画面坐标系的坐标指的是,由在所述实坐标空间中存在的视点、视线方向和 向上向量决定,以由显示器装置的编辑画面的外缘分割的视椎台(View Frustum)的前表面 作为x-y基准面,且在所述视线方向具有进深的空间的三维正交坐标系的坐标(X,y,z), 以在所述实坐标空间存在的视点作为原点,以视线作为所述基准面(x-y平面)的法线(z 轴)。
[0058] S卩,实坐标系和画面坐标系能够利用决定观察实坐标系空间(在本例中为编辑空 间)的视线的"视线移动旋转矩阵"的正反矩阵相互变换。
[0059] 另外,上述矩阵和以下的说明中使用的矩阵是仿射变换矩阵。
[0060] 所述局部坐标系的坐标指的是以各对象隔开的空间固有的材料轴线、钢筋布置方 向等为轴的三维正交坐标系的坐标。
[0061] 〈坐标检测机构〉
[0062] 所述坐标检测机构从所述位置数据检测通过使用鼠标等输入装置的输入操作而 变化的在编辑画面显示的光标(例如,参照图5(A)。)的画面坐标。
[0063] 〈操作检测机构〉
[0064] 所述操作检测机构通过所述画面坐标的变化检测输入操作的内容、量或者方向。
[0065] 例如,输入操作(输入装置1中的点下或加压或者键输入等)以及输入操作的解 除(输入装置1中的、松开或加压解除或者键输入等)以及进行该输入操作及其解除的位 置坐标、或者位置坐标的变化、或者由此导出的操作方向等是其检测对象。
[0066] 〈鼠标对象〉
[0067] 鼠标对象是本例中构成所述函数数据的对象的一个,其具备将所述视点(光标 等)的位置坐标从所述鼠标坐标系变换至所述画面坐标系的变换矩阵,接收由所述坐标检 测机构和所述操作检测机构检测出的鼠标(输入装置1)的输入操作的具体的操作信息 (包括位置坐标),并如下所述地使拖动标志变化。
[0068] 该例子的鼠标对象利用所述鼠标坐标系进行该对象的内部数据的处理,在将该鼠 标对象的处理结果传给其他对象时,将所述处理结果变换为实坐标系。
[0069] 该例子中的所述鼠标对象将鼠标的输入操作通过所述变换矩阵从鼠标坐标系变 换为画面坐标系,通过所述坐标检测机构检测开始所述输入操作的光标位置的画面坐标, 将该画面坐标作为起点坐标PO保存(参照图2和图5 (A)),鼠标的所述输入操作继续而其 位置变化,与此相伴地,基于从所述坐标检测机构得到的变化中的位置坐标通过所述运算 机构依次计算到所述起点坐标的距离L并进行保存,当检测出该距离为隔开规定距离以上 时将拖动标志置为〇N(参照图2(B)),利用从所述操作检测机构得到的鼠标的输入操作的 解除的检测,通过所述坐标检测机构检测该位置的画面坐标并进行保存,将拖动标志置为 OFF (参照图 2(C))。
[0070] 〈物体检测机构〉
[0071] 所述物体检测机构从利用所述编辑操作作为图形数据登记的物体(以下,记作 "登记物")检测与画面法线交叉的物体(交叉物)(参照图11或图13),在无法检测出所 述交叉物的情况下,将编辑空间(在该例子中为实坐标系空间,不过根据需要也可以是相 对于实坐标系空间存在预期的倾斜、移动的其他三维空间)的基准面看作是物体并检测与 该基准面的交叉点的实坐标(参照图8和图12)。
[0072] 所述物体检测机构在进行编辑的所述编辑画面中,首先将所述画面法线以所述画 面坐标定义,将该画面法线的轨迹通过变换矩阵变换为实坐标,通过与所述登记物的位置 坐标(实坐标)进行比较,检测与该画面法线的轨迹交叉的物体(参照图8)。
[0073] 另外,在未检测出与所述画面法线的轨迹交叉的物体的情况下,也可以是,在进行 将所述编辑基准面看作物体的处理之前,对相对于该画面法线离开一定距离的附近也以假 想的画面法线圆形扫描,进行检测与该假想的画面法线相交的物体以及此时的交点的处 理。
[0074] 所述基准面指的是通过实坐标系的原点,法线指向X轴、Y轴、Z轴的三个面的面。 在所述画面法线与多个基准面交叉的情况下,将与所述编辑画面最近的点和X轴、Y轴、Z轴 方向作为向量检测出来。
[0075] 本例中的画面法线为所述中央法线,是从所述编辑画面的中央的位置朝向该编辑 画面的进深方向的向量。该向量以由其起点坐标(x〇,y〇,zO)和终点坐标(x0,y0,-zn)构 成的所述画面坐标系表示,并将其作为通过所述变换矩阵(视线移动旋转矩阵的逆矩阵) 变换为实坐标的实坐标系向量使用(参照图12 :显示对象)。
[0076] 所述视线移动旋转矩阵为用于将以所述物体交点作为视点(旋转的中心)的视线 的旋转运动(或者所述编辑空间的逆旋转移动)作为显示方向反映的矩阵,通过与将处于 实坐标空间的物体投影到编辑画面的投影矩阵相乘来生成射影矩阵Ms。
[0077] 该例子中的所述物体检测机构通过所述选择机构选择正视工具,所述拖动标志为 0N,并且确定包含进行所述输入操作时所述编辑画面的中央的物体(交叉物)的面(交叉 面)(参照图8和图13)。
[0078] 而且,在画面法线(视线)贯通(交叉)多个物体的情况下,将更靠近所述编辑画 面的物体(交叉物)作为对象进行处理,将所述交叉物的交点作为所述旋转的中心。
[0079] 所述画面法线在确定是否与已经编辑的现有的物体交叉时,利用后面说明的显示 对象的处理(参照图8 (A)),进行判断该画面法线是否与构成所述物体的表面的单个三角 形或彼此接触的多个三角形组的任意一个交叉的处理(判断处理)(参照图15(A))。
[0080] 所述交点以所述三角形的顶点上、线上、面上这三种形态存在(参照图13),在所 述交点存在于顶点上或线上的情况下,该交点包含于多个三角形内,因此采用各三角形的 法线的平均向量作为所述面法线(物体法线),在所述交点存在于所述面上的情况下,采用 包含该交点的单一的三角形的法线作为所述面法线。
[0081] 对于具有厚度且入射点(靠近画面法线的起点的一侧)与出射点(远离画面法线 的起点的一侧)不同的物体,将入射点作为所述交点采用。
[0082] 在如上所述地确定所述交叉物,通过所述运算机构确定与所述画面法线交叉的三 角形的情况下,利用所述运算机构导出该三角形(交叉面)上的交点(物体交点)以及该 交点处的法线(物体法线:包含所述物体交点的面的通过该物体交点的法线),并且从物体 对象检测将交叉物作为物体的结构所具备的三维局部坐标系(U,V,W)的各轴(参照图9和 图10)、钢筋布置方向或者材料轴线方向,并保存在存储器等中。
[0083] 另外,在该例子中,以所述中央法线作为画面法线,不过也可以将所述指示垂线 作为画面法线。
[0084] 〈物体对象〉
[0085] 物体对象是构成所述图形数据的对象之一,基本上,其为具有物体的坐标等,针对 构成各种函数数据的对象的请求提供所需的信息,基于各种函数数据的处理结果更新信息 的内容的对象。
[0086] 此时,根据该物体具有的材料轴线、从该物体具有的钢筋布置信息取得的纵向钢 筋、横向钢筋方向,通过所述运算机构计算最接近所述物体交点的向量,并且根据其他对象 的请求返回上述交点、向量,或者更新其内容。
[0087] 该例子中的所述物体对象保持物体的位置坐标(局部坐标)、物体的材料轴线(示 出方向等的局部坐标)、物体的钢筋布置信息(示出方向等的局部坐标)、将所述物体的位 置坐标从局部坐标变换为实坐标的变换矩阵或者将所述物体的位置坐标从实坐标变换为 局部坐标的变换矩阵。
[0088] 在该例子中,将物体定义为具备由单个或多个三角形构成的表面的物体(参照图 15(A)),将彼此相接的三角形(共用边的三角形)组作为一个物体登记为物体对象,从而明 确该物体的外缘(全表面)。
[0089] 所述物体的位置坐标是由所述三角形组构成的表面的顶点坐标。
[0090] 所述物体的材料轴线是以梁、柱等剖面形和线形输入的物体的线形,在形成独立 基础、楼板、墙等建筑物的面的物体(面部件)中也存在无法考虑材料轴线的情况。
[0091] 所述物体的钢筋布置信息在输入独立基础、楼板、墙等面部件的时刻是与各部件 的规格对应地设定的钢筋的钢筋布置方向(参照图15)。
[0092] 〈斜角判断机构〉
[0093] 所述斜角判断机构检测作为目的的一对向量的交叉角度Θ,并判断其是否在规定 角度以内。
[0094] 通过该斜角判断机构,例如在拖动操作中,能够检测所述图形数据的从由所述物 体检测机构确定的物体(交叉物)生成的固有向量(所述物体法线等)与所述画面法线的 交叉角度Θ,并且能够检测该交叉角度Θ在规定角度以内的(以下,记作"近似")特定向 量。
[0095] 检测所述特定向量的处理(特定向量检测处理)为,通过所述运算机构计算所述 画面法线与待定特定向量的内积,并评价该值是否在规定的正视近似范围内等即可。
[0096]〈旋转机构〉
[0097] 所述正视工具具备旋转机构,所述旋转机构通过所述输入操作,使所述交叉物立 体旋转(立体正视处理),以使由所述物体检测机构检测出的交叉物的一面与所述编辑画 面平行,并且,使所述交叉物以所述画面法线为轴水平旋转(水平正视处理),以使所述交 叉物具有的向量与画面坐标系的纵轴或横轴平行。
[0098] 该例子中的旋转机构具备旋转对象、正视对象、显示对象。
[0099] 所述旋转对象和显示对象以实坐标系进行各对象的内部数据的处理。所述旋转对 象的处理中从所述画面坐标系向所述实坐标系的坐标变换是该旋转对象从所述显示对象 取得所述视线移动旋转矩阵的逆矩阵而进行的。
[0100] 所述正视对象以所述画面坐标系进行该对象的内部数据的处理。所述正视对象的 处理中从所述实坐标系向所述画面坐标系的坐标变换是该正视对象从所述显示对象取得 用于此的变换矩阵(视线移动旋转矩阵)而进行的。
[0101] 在构成所述正视工具的各对象的处理中,包括图形数据的数据的收发是以复制的 形式进行的,例如,各对象的物体向量组(物体的材料轴线方向、局部坐标轴、表面方向和 固有向量)的变形、移动等对已编辑的现有的图形数据、其他对象在内部处理时具有的这 些数据没有影响。
[0102] 在该例子的正视工具中,各对象在与其他对象进行所述内部数据的收发时,必须 以实坐标系的数据进行收发。即,在实坐标系的数据以外进行处理的对象在向其他对象输 出时,必须在该对象中进行从其他坐标系的数据向实坐标系的数据变换的处理,在从其他 对象输入时,必须在该对象中从实坐标系的数据向适合该对象中的处理的坐标系的数据变 换(参照图17)。在图17中,符号O (虚线的圆圈)表示从鼠标坐标向实坐标变换的处理 (根据鼠标〇bj所具有的与画面坐标的差值首先变换为画面坐标再变换为实坐标),符号 O (点划线的圆圈)表示从实坐标向画面坐标变换的处理(使用视线移动旋转矩阵),符 号Ol (实线的圆圈)表示从画面坐标向实坐标变换的处理(使用视线移动旋转矩阵的逆 矩阵)。
[0103] 另外,从所述鼠标坐标系向画面坐标系的变换利用如下矩阵进行:将所述鼠标对 象中的从鼠标坐标系向画面坐标系变换的变换矩阵和从所述显示对象取得的从所述实坐 标系向所述画面坐标系变换的变换矩阵(视线移动旋转矩阵)相乘得到的矩阵。
[0104] 〈旋转对象〉
[0105] 所述旋转对象为构成所述函数数据的对象之一,其检测所述鼠标对象的所述拖动 标志的变化,在拖动标志从OFF变化为ON时判断为"拖动开始",在拖动标志保持ON不变时 判断为"拖动中",在拖动标志从ON变化为OFF时判断为"拖动结束",根据其判断,如下所 述地向显示对象或正视对象通知操作信息(参照图4(A))。
[0106] [拖动开始]
[0107] S卩,所述旋转对象从所述鼠标对象收到拖动标志从OFF变化为ON的通知("拖动 开始"),从所述显示对象取得所述交叉物上的所述交叉点(物体交点)的位置坐标、所述交 叉面的法线(物体法线)、该交叉物说包含的固有向量、该交叉物具有的局部坐标的坐标轴 (以下,记作"拖动开始信息(参照图4(A)),并将这些信息通知所述正视对象("拖动开 始"的通知)。
[0108] 另外,该例子中显示所述旋转中心标志的处理为,在该正视对象中,以所述物体交 点为中心作成球,将该球的数据变换为实坐标并通知所述显示对象。将所述旋转中心标志 消去的处理通知所述显示对象消去所述球。
[0109] [拖动中]
[0110] 而且,所述旋转对象从所述鼠标对象收到表示拖动标志持续维持ON的状态的通 知("拖动中"),根据与所述拖动操作相伴的相对于起点坐标的移动量(参照图5),利用 所述操作检测机构导出通过所述旋转处理的中心的旋转轴(后记的立体旋转轴)和旋转量 (立体操作角a),生成符合该旋转轴和旋转量的操作矩阵MO (实坐标系中的旋转函数)并 通知所述显示对象和正视对象(参照图4(B))。
[0111] 例如,所述旋转对象通过立体旋转(将编辑的物体的一面与编辑画面平行地引导 的旋转)时与所述拖动操作相伴的相对于起点坐标的移动量求得应使图像旋转的角度(以 下为立体操作角a),生成与所述画面坐标系(X,y,z)的光标的移动向量(与拖动操作相 伴的相对于起点坐标的二维移动方向)成直角、且以通过所述旋转的中心的轴(立体旋转 轴)作为旋转轴的操作矩阵(函数)M0,将该操作矩阵MO通知所述显示对象和所述正视对 象(参照图5(B))。
[0112] 所述立体操作角a通过光标移动量L/编辑画面的纵向长度XN来求得。
[0113] N为从画面的下方向上拖动时,使所述交叉物与其被放置的所述编辑空间(在该 例子中为实坐标系空间)一起相对于视线旋转的角度,在请求以一次拖动操作旋转一周的 情况下,该角度为360度(参照图5(C))。
[0114] [拖动结束]
[0115] 并且,所述旋转对象从所述鼠标对象收到拖动标志从ON变化为OFF的通知("拖 动结束"),与所述拖动中的处理同样地,根据与所述拖动操作相伴的相对于起点坐标的移 动量(参照图5)生成所述操作矩阵M0,通知正视对象(参照图4(B)),并且将通过该拖动 操作的结束确定并由所述正视对象通知的调整矩阵Ml ·调整矩阵M2乘以所述操作矩阵MO 来生成伴随着该输入操作而产生的旋转矩阵M,并通知显示对象(参照图4 (C))。
[0116] 另一方面,在伴随着该拖动操作的光标的移动量L为"0"的情况下,以单位矩阵作 为所述旋转矩阵M并通知显示对象。
[0117] 另外,所述调整矩阵Ml、调整矩阵M2和所述旋转矩阵M是相对于实坐标系空间的 旋转函数。
[0118] 〈正视对象〉
[0119] 所述正视对象为构成所述函数数据的对象之一,其主要导出所述立体旋转中的调 整量(消除差分角的量),并且基于所导出的调整量导出所述调整矩阵。
[0120] [拖动开始]
[0121] 该例子中的所述正视对象收到来自所述旋转对象的"拖动开始"的通知,从所述旋 转对象取得所述拖动开始信息,并且从现有的图形数据中取得与交叉物的交点、交点附近 的材料轴线方向、交叉物的局部坐标轴、表面方向或者包括固有向量(钢筋布置方向等)的 持有向量组(参照图6(A))。
[0122] 所取得的数据设置于该正视对象中的内部处理并变换为适于该处理的坐标系 (画面坐标系)。
[0123] 以下,将所述材料轴线方向、局部坐标系、表面方向和固有向量记作"物体向量 组"。
[0124] [拖动中]
[0125] 该例子中的所述正视对象收到来自所述旋转对象的"拖动中(包括所述操作矩阵 MO) "通知,显示在所述交叉物成为旋转处理的中心的点的标志,并且如下所述地进行正视 捕捉标志(表示接近正视状态的捕捉标志)的显示处理。
[0126] 如上所述,实坐标系的操作矩阵MO变换为该正视对象的处理对象坐标系即画面 坐标系的操作矩阵m0。
[0127] 该例子中的所述正视对象为了按照所述操作矩阵m0使所述交叉物具有的所述物 体向量组旋转,以所述操作矩阵m0变换该物体向量组,通过所述斜角判断机构判断在变换 的该物体向量组中,在变换后,是否存在与所述画面法线近似的所述特定向量。
[0128] 在该例子的正视对象的处理中,首先,进行判断与所述画面法线近似的向量是否 存在于所述交叉物的所述物体向量组中的处理(图17中的"画面法线测试"),仅在存在的 情况下,接下来,进行判断是否存在与所述画面坐标系的X轴或y轴近似的向量的处理。
[0129] 在所述判断的结果为无法检测出与所述画面法线对应的所述特定向量的情况下, 向显示图形模块发送将正视捕捉标志的显示消去的指令/信息,并且在"拖动中"通知持续 的期间,重复上述处理(参照图6(B))。
[0130] 另一方面,在所述判断的结果为检测出与所述画面法线对应的所述特定向量的情 况下,向所述显示图形模块发送利用所述显示对象显示正视捕捉标志的指令/信息。
[0131] [拖动结束]
[0132] 所述正视对象收到来自所述旋转对象的"拖动结束"通知,将调整矩阵Ml和调整 矩阵M2清空,进行以下的立体正视处理。
[0133] 所述正视对象与所述拖动中的该正视对象的处理同样地,为了按照所述操作矩阵 m0使所述交叉物具有的所述物体向量组旋转,以所述操作矩阵m0变换该物体向量组,通过 所述斜角判断机构判断在变换的该物体向量组中,在变换后,是否存在与所述画面法线近 似的特定向量。
[0134] 在所述判断的结果为无法检测出与所述画面法线对应的所述特定向量的情况下, 所述正视对象将使所述立体差分角为"〇"的单位矩阵作为调整矩阵ml (参照图7)。
[0135] 另一方面,在所述判断的结果为检测出与所述画面法线对应的所述特定向量的情 况下,所述正视对象通过所述斜角判断机构从所述交叉物的所述物体向量组选出与所述画 面法线最近似的所述特定向量,通过所述运算机构导出所述画面法线与所述特定向量的立 体差分角(参照图7)。
[0136] 并且,所述正视对象通过所述运算机构求得所述特定向量与画面法线的外积向 量,导出以该外积方向作为旋转轴、以所述立体差分角作为旋转量(调整量)的矩阵ml,为 了以所述特定向量与所述画面法线平行的方式使所述交叉物具有的所述物体向量组旋转 (参照图7),将该物体向量组以所述调整矩阵ml变换(参照图9)。
[0137] 接下来,所述正视对象进行水平正视处理(图17中的"x-y轴测试")。
[0138] 此时,所述正视对象利用所述运算机构导出使所述交叉物的所述物体向量组的z 轴成分的量为"〇"的画面坐标面(x,y,0)上的向量组(以下,记作"画面向量组(参照图 10),并且利用所述斜角判断机构判断在所述画面向量组中是否存在与所述画面坐标系的X 轴或y轴近似的特定向量。
[0139] 在所述判断的结果为无法检测出与所述画面坐标系的X轴或y轴对应的所述特定 向量的情况下,所述正视对象将使所述水平差分角为"〇"的单位矩阵作为该画面坐标系的 调整矩阵m2 (参照图7)。
[0140] 另一方面,在所述判断的结果为检测出与所述画面坐标系的X轴或y轴对应的所 述特定向量的情况下,所述正视对象通过所述斜角判断机构从所述画面向量组选出与所述 画面坐标面(X,y,〇)的X轴或y轴最近似的特定向量,通过所述运算机构导出该特定向量 与所述画面坐标系的X轴或y轴所成的水平差分角(参照图7),导出以所述画面坐标系(X, y,z)的z轴作为旋转轴旋转所述水平差分角的调整矩阵m2。
[0141] 另外,在所述立体正视处理和水平正视处理中,采取如下措施来使所述交叉物的 所述物体向量组在所述编辑空间中的位置关系在这些处理的前后不变:使利用所述调整矩 阵ml的变换前的所述物体向量组临时退避,并在这些处理结束后复原到原来状态;或者复 制利用所述调整矩阵ml的变换前的所述物体向量组并在该复制目的地执行所述处理。
[0142] 最后,所述正视对象将与在该正视对象的处理中得到的立体差分角和水平差分角 对应的所述调整矩阵ml和所述调整矩阵m2分别变换为适于实坐标系中的处理的调整矩阵 Ml和调整矩阵M2并通知旋转对象(参照图7),并且向显示图形模块发送将成为所述旋转 的中心的点的标志以及正视捕捉标志的显示消去的指令/信息。
[0143] 〈显示对象〉
[0144] 所述显示对象为构成所述函数数据的对象之一,其具备将所述物体的位置坐标从 实坐标系变换为画面坐标系的变换矩阵(视线移动旋转矩阵)、将所述物体的位置坐标从 画面坐标系变换为实坐标系的变换矩阵(视线移动旋转矩阵的逆矩阵)、以及所述视线移 动旋转矩阵和将位于实坐标空间的物体投影到编辑画面的投影矩阵相乘得到的射影矩阵 Ms0
[0145] 该例子中的所述显示对象适当进行所述图形数据的操作以在所述编辑画面上恰 当地进行与输入操作对应的描绘,并且对于所持有的射影矩阵Ms,分成所述视线移动旋转 矩阵和投影矩阵来进行管理,收到从其他对象取得的视点的移动量U= IpO-pl I)或者旋 转量(立体操作角)a并依次积累来更新所述视线移动旋转矩阵成分,根据来自其他对象的 请求适当通知采用最新的所述视线移动旋转矩阵的各种持有矩阵。
[0146] 并且,该例子中的所述显示对象按照与所述登记物相关的所述物体对象或者由各 对象生成的标志等的图形数据,进行在编辑画面显示已编辑的图形数据的处理。
[0147] 具体来说,该例子中的所述显示对象将从所述旋转对象通知的所述操作矩阵MO 以及调整矩阵Ml和所述调整矩阵M2以所述旋转矩阵M( = MO · Ml · M2)的形式接收,将提 供在所述编辑画面显示时的新的视线(view)信息的函数与所述旋转矩阵M相乘,生成将以 所述物体交点为中心的旋转(视线相对于编辑空间的变化)作为编辑画面的显示而反映的 旋转矩阵Mv (=移动矩阵(-物体交点)· MO · Ml · M2 ·移动矩阵(物体交点))。
[0148] 另外,所述旋转矩阵Mv为,使所述物体交点通过所述移动矩阵(_物体交点)向实 坐标的原点移动并以该原点为中心进行利用旋转矩阵M的旋转,然后使所述物体交点通过 所述移动矩阵(物体交点)回到该物体交点当初存在的实坐标系的位置的矩阵,经过利用 了该旋转矩阵Mv的变换,从而能够使视线相对于所述编辑空间变化。
[0149] 并且,该例子中的显示对象将基于所述视线的变换的旋转矩阵Mv与现有的射影 矩阵Ms相乘来更新射影矩阵Ms (Ms = Mv · Ms),通过将更新的该射影矩阵Ms与所述图形 数据中包含的所有显示物体的所述位置坐标等一起发送至所述显示图形模块,来实施利用 显示函数的运算,在所述编辑画面显示反映所述输入操作的预期的面的正视图像(参照图 8⑶)。
[0150] 另外,在拖动中,以所述调整矩阵Ml和所述调整矩阵M2作为单位矩阵导出所述旋 转矩阵M,在拖动结束时,使用从所述正视对象通知的所述调整矩阵Ml和所述调整矩阵M2 导出所述旋转矩阵M并进行同样的处理(参照图17)。
[0151] 如上所述,当利用所述正视工具在所述编辑画面显示正视图像等时,在所述物体 检测机构的处理中,通过所述物体检测机构计算所述画面法线与物体表面的交点,在不存 在与所述画面法线交叉的物体的情况下,通过所述运算机构计算与所述实坐标系的基准面 的交点,将如此计算出的交点作为所述旋转对象的物体的旋转操作的中心(参照图8(A)), 在特定向量的检测范围中包括所述实坐标系的坐标轴。
【权利要求】
1. 一种三维作图系统,组合能够进行计算机处理的图形数据并进行作图,其特征在于, 具备正视工具,根据输入操作来显示图形数据中包含的物体的特定面的正视画面, 所述正视工具具备: 操作检测机构,检测输入操作的内容、量、方向或坐标; 物体检测机构,确定与进行所述输入操作时的画面法线交叉或靠近的物体; 斜角判断机构,从由所述物体检测机构确定的物体所具备的向量中检测与所述输入操 作中的所述画面法线的交叉角度在规定角度以内的特定向量;以及 旋转机构,根据所述操作检测机构的检测信息使包括所述图形数据的编辑空间相对于 视线旋转,并且,在所述输入操作结束时检测出所述特定向量的情况下,使包括所述图形数 据的编辑空间相对于视线旋转以使所述特定向量与所述画面法线平行。
2. 根据权利要求1所述的三维作图系统,其特征在于,具备: 斜角判断机构,从由所述物体检测机构确定的物体所具备的向量中检测与所述输入操 作中的画面坐标轴的交叉角度在规定角度以内的特定向量;以及 旋转机构,使包括所述图形数据的编辑空间以所述画面法线为轴旋转,以使由所述物 体检测机构确定的物体的局部坐标轴或者实坐标轴与所述画面坐标轴平行。
3. -种三维作图程序,组合能够进行计算机处理的图形数据并进行作图,其特征在于, 使计算机作为组合能够进行计算机处理的图形数据并进行作图的三维作图系统发挥 作用, 所述三维作图系统具备正视工具,根据输入操作来显示图形数据中包含的物体的特定 面的正视画面, 所述正视工具具备: 操作检测机构,检测输入操作的内容、量、方向或坐标; 物体检测机构,确定与进行所述输入操作时的画面法线交叉或靠近的物体; 斜角判断机构,从由所述物体检测机构确定的物体所具备的向量中检测与所述输入操 作中的所述画面法线的交叉角度在规定角度以内的特定向量;以及 旋转机构,根据所述操作检测机构的检测信息使包括所述图形数据的编辑空间相对于 视线旋转,并且,在所述输入操作结束时检测出所述特定向量的情况下,使包括所述图形数 据的编辑空间相对于视线旋转以使所述特定向量与所述画面法线平行。
4. 根据权利要求3所述的三维作图程序,其特征在于, 作为三维作图系统发挥作用,所述三维作图系统具备: 斜角判断机构,从由所述物体检测机构确定的物体所具备的向量中检测与所述输入操 作中的画面坐标轴的交叉角度在规定角度以内的特定向量;以及 旋转机构,使包括所述图形数据的编辑空间以所述画面法线为轴旋转,以使由所述物 体检测机构确定的物体的局部坐标轴或者实坐标轴与所述画面坐标轴平行。
【文档编号】G06T19/20GK104424663SQ201410301666
【公开日】2015年3月18日 申请日期:2014年6月27日 优先权日:2013年9月3日
【发明者】中岛彻 申请人:株式会社亚太达
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1