JPH11134520A - Three-dimensional shape data processor - Google Patents

Three-dimensional shape data processor

Info

Publication number
JPH11134520A
JPH11134520A JP9301639A JP30163997A JPH11134520A JP H11134520 A JPH11134520 A JP H11134520A JP 9301639 A JP9301639 A JP 9301639A JP 30163997 A JP30163997 A JP 30163997A JP H11134520 A JPH11134520 A JP H11134520A
Authority
JP
Japan
Prior art keywords
point
distance
dimensional
points
dimensional model
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP9301639A
Other languages
Japanese (ja)
Inventor
Shigenobu Fukushima
茂信 福嶋
Toshihiko Karasaki
敏彦 唐崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Minolta Co Ltd
Original Assignee
Minolta Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Minolta Co Ltd filed Critical Minolta Co Ltd
Priority to JP9301639A priority Critical patent/JPH11134520A/en
Priority to US09/187,467 priority patent/US6260000B1/en
Publication of JPH11134520A publication Critical patent/JPH11134520A/en
Pending legal-status Critical Current

Links

Landscapes

  • Length Measuring Devices By Optical Means (AREA)
  • Processing Or Creating Images (AREA)
  • Image Analysis (AREA)

Abstract

PROBLEM TO BE SOLVED: To adjust a spatial frequency, i.e., a range wherein it is considered that there is one projection or recessed part by regarding a three-dimensional surface between points on a calculated outline as a smoothed curved surface and extracting feature quantities from the shape. SOLUTION: For mapping, viewer coordinates (x, y, z) are converted into polar coordinates (r, θ, ϕ) to convert the coordinates of vertexes of solid model data into the polar coordinates. Mapping data are given by regarding the intersection Pb of the straight line passing a point Pa on a solid model Pb from the origin O with a spherical surface S as a point corresponding to a point Pa on the solid model. Those Pa and Pb are value (r) different and the values and ϕ match each other. Namely, when the vertexes of the solid model data are converted to the polar coordinates, angular components θ and ϕ are mapping data on corresponding points on the spherical surface as they are. Thus, the solid model surface surrounded with the line of intersection of a range on a cylinder prescribed with the value obtained from the spatial frequency and the solid model surface is regarded as a smoothed curved surface to calculate features quantities.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、計測対象の3次元
形状データを用いて測定対象の物理的な性質を解析する
3次元形状データ処理装置に関し、特に、計測対象表面
の曲率等の特徴量を算出するものに関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a three-dimensional shape data processing apparatus for analyzing the physical properties of a measurement target using the three-dimensional shape data of the measurement target, and more particularly to a characteristic quantity such as a curvature of the surface of the measurement target. Is calculated.

【0002】[0002]

【従来の技術】近年、3次元の測定対象の物理的な性質
を調べるために、測定対象をレンジファインダー等によ
り測定対象を構成する複数の点(頂点)の空間的な位置
を測定して3次元形状データとして取得し、当該3次元
形状データを数学的手法を用いて解析することが行われ
ている。
2. Description of the Related Art In recent years, in order to examine the physical properties of a three-dimensional measurement object, the measurement object is measured by measuring the spatial position of a plurality of points (apex) constituting the measurement object using a range finder or the like. Acquired as three-dimensional shape data, and analyzing the three-dimensional shape data using a mathematical method is performed.

【0003】このような3次元形状データの解析におい
ては、3次元形状データは空間的に位置を特定される点
群により表されるので、3次元形状の表面にどのような
凹凸があるかが一見してわかりにくい。そこで、3次元
形状表面の曲率や微分値等の形状を表す特徴量を求めて
これを定量的に評価する必要性がある。3次元形状デー
タから曲率等の特徴量を求める場合に、従来は注目する
頂点座標ととその周辺の頂点座標とを用いて、注目して
いる頂点における特徴量を数学的な近似式を用いて算出
するようにしていた。
In the analysis of such three-dimensional shape data, the three-dimensional shape data is represented by a point group whose position is spatially specified. At first glance it is hard to understand. Therefore, it is necessary to obtain a characteristic amount representing a shape such as a curvature or a differential value of the surface of the three-dimensional shape and quantitatively evaluate the characteristic amount. Conventionally, when a feature amount such as curvature is obtained from three-dimensional shape data, the feature amount at the noted vertex is calculated using a mathematical approximation formula by using the vertex coordinates of interest and the coordinates of the vertices around it. It was calculated.

【0004】[0004]

【発明が解決しようとする課題】ところで、3次元形状
データは隣接する頂点間の間隔が測定対象の形状や測定
の方法によりどうしてもばらつきが生じてしまう。具体
的に説明すると、レンジファインダーで形状を測定する
場合、測定対象を一方向から等間隔で測定していくの
で、レンジファインダーの光軸方向と測定対象表面各点
の法線方向の差によりサンプリングする点同士の距離に
差ができてしまう。例えば、図45に示すように測定対
象Xを下方からレンジファインダーの光線を当てて右方
向へ等間隔にサンプリングしていくと、サンプリング点
Pa、Pb間の距離と、サンプリング点Pc、Pd間の距離
は大きく差がでることになる。
However, in the three-dimensional shape data, the interval between adjacent vertices necessarily varies depending on the shape of the object to be measured and the method of measurement. Specifically, when measuring the shape with a range finder, the measurement target is measured at equal intervals from one direction, so sampling is performed based on the difference between the optical axis direction of the range finder and the normal direction of each point on the measurement target surface. There is a difference in the distance between the two points. For example, as shown in FIG. 45, when the measurement object X is sampled at equal intervals to the right by irradiating the light of the range finder from below, the distance between the sampling points Pa and Pb and the distance between the sampling points Pc and Pd are measured. The distance will be greatly different.

【0005】このようなばらつきが生じると、頂点の密
度の高い領域における特徴量は非常に狭い範囲のみを考
慮した値が算出され、頂点の密度の低い領域における特
徴量は非常に広い範囲のみを考慮した値が算出されると
いったことが生じる。即ち、3次元形状のそれぞれの部
分ごとに特量量の算出精度が異なってしまう。これは、
言い換えると、領域に対する3次元形状表面の凹凸の空
間周波数が、それぞれの部分で異なったレベルとなると
いうことができる。
[0005] When such a variation occurs, a feature value in a region having a high vertex density is calculated taking into account only a very narrow range, and a feature value in a region having a low vertex density has only a very wide range. For example, the considered value is calculated. That is, the calculation accuracy of the characteristic amount differs for each part of the three-dimensional shape. this is,
In other words, it can be said that the spatial frequency of the unevenness of the three-dimensional surface with respect to the region is at a different level in each portion.

【0006】さらに、上記特徴量は3次元形状データの
凹凸のレベルに大きく影響を受ける。便宜的に2次元で
説明すると、例えば、取り込んだ3次元形状データXの
ある断面の一部の輪郭が、計測値の高周波ノイズの影響
で図46(a)のように細かな凹凸成分を含んだ曲線と
なったとする。この輪郭から空間周波数の高周波成分を
除くと図46(b)のような滑らかな曲線となる。この
2つの輪郭において同じ部分の点Aにおいて例えば特徴
量として微分値を求めると明らかに異なる値が得られ
る。また、測定対象自体が表面に小さな凹凸を有すると
きに、使用者がこの小さな凹凸を無視した巨視的な曲
線、即ち空間周波数の小さなレベルでの特徴量を算出し
たい場合や、逆に、当該小さな凹凸に対する微視的な曲
線、即ち空間周波数の大きなレベルでの特徴量を算出し
たい場合も生じる。
[0006] Further, the feature amount is greatly affected by the level of unevenness of the three-dimensional shape data. Explaining two-dimensionally for the sake of convenience, for example, the outline of a part of a cross section of the captured three-dimensional shape data X includes a fine irregular component as shown in FIG. Let's say that the curve is Excluding the high frequency components of the spatial frequency from this contour, a smooth curve as shown in FIG. For example, when a differential value is obtained as a feature value at the point A of the same portion in these two contours, a clearly different value is obtained. Further, when the measurement target itself has small irregularities on the surface, the user may want to calculate a macroscopic curve ignoring the small irregularities, that is, a feature amount at a small level of the spatial frequency, or conversely, There is also a case where it is desired to calculate a microscopic curve for the unevenness, that is, a feature amount at a large level of the spatial frequency.

【0007】しかし、従来のように対象となる頂点とそ
の周辺の頂点のみで特徴量を算出することとすると、特
徴量を算出する範囲は部分ごとに固定されてしまうの
で、頂点密度に規定される空間周波数レベルでの特徴量
しか算出できず、柔軟に凹凸レベルに応じた特徴量を算
出することができない。そこで、本発明は3次元形状デ
ータから特徴量を算出する際に、空間周波数の調整、言
い換えると、一つの凸部または凹部があると見なす範囲
の調整をすることができる3次元形状データ処理装置を
提供することを目的とする。
However, if the feature amount is calculated using only the target vertex and its surrounding vertices as in the prior art, the range for calculating the feature amount is fixed for each part. Only a feature amount at a spatial frequency level can be calculated, and a feature amount according to the unevenness level cannot be calculated flexibly. Therefore, the present invention provides a three-dimensional shape data processing apparatus capable of adjusting a spatial frequency, in other words, adjusting a range in which one convex or concave part is considered to be present, when calculating a feature amount from three-dimensional shape data. The purpose is to provide.

【0008】[0008]

【課題を解決するための手段】上記課題を解決するため
に本発明は、3次元形状データにより表される3次元形
状表面の形状を表す特徴量を算出する3次元形状データ
処理装置において、距離の大きさを取得する距離取得手
段と、取得された距離で規定される範囲内に存する前記
3次元形状表面の輪郭上の複数の点を算出する範囲算出
手段と、算出された輪郭上の点間にある前記3次元表面
を平滑化した曲面とみなして、当該曲面形状から特徴量
を算出する特徴量算出手段とを設けたものである。
According to the present invention, there is provided a three-dimensional shape data processing apparatus for calculating a feature quantity representing a shape of a three-dimensional shape surface represented by three-dimensional shape data. Distance obtaining means for obtaining the size of the area, range calculating means for calculating a plurality of points on the contour of the surface of the three-dimensional shape within a range defined by the obtained distance, and points on the calculated contour And a feature value calculating unit that calculates a feature value from the curved surface shape by regarding the three-dimensional surface in between as a smoothed curved surface.

【0009】前記距離取得手段は、3次元形状データを
構成する頂点データを元に前記距離を算出することによ
り前記距離を取得するようにすることができる。また、
前記距離取得手段は、使用者により指定される距離を受
け付けることで前記距離を取得するようにしてもよい。
前記特徴量は曲率とすることができる。
[0009] The distance acquiring means may acquire the distance by calculating the distance based on vertex data constituting three-dimensional shape data. Also,
The distance obtaining means may obtain the distance by receiving a distance specified by a user.
The feature amount may be a curvature.

【0010】さらに、前記範囲算出手段は、前記3次元
形状表面の測定対象点を取得する対象点取得部と、前記
測定対象を中心として前記取得された距離の範囲内に存
する前記3次元形状表面の輪郭上の点を算出する輪郭点
算出部により構成し、前記特徴量算出手段は、前記対象
点取得部が取得した測定対象点における特徴量を算出す
るようにすることが望ましい。
Further, the range calculating means includes a target point obtaining unit for obtaining a measurement target point on the three-dimensional shape surface, and the three-dimensional shape surface within a range of the obtained distance around the measurement target. It is preferable that the feature point calculation unit calculates a feature amount at the measurement target point acquired by the target point acquisition unit.

【0011】[0011]

【発明の実施の形態】以下、本発明の実施の形態につい
て図面を参照しながら説明する。 (1)システム構成 図1に本実施の形態に係る3次元形状データ処理装置の
内部構成を示す機能ブロック図を図1に示す。図に示す
ように本3次元形状データ処理装置は光学的測定部1、
測定対象モデル化部2、ディスク装置3、ディスプレイ
4、マウス5、キーボード6、GUIシステム7、メイン
モジュール8、及びメジャーリングモジュール9から構
成される。
Embodiments of the present invention will be described below with reference to the drawings. (1) System Configuration FIG. 1 is a functional block diagram showing the internal configuration of the three-dimensional shape data processing apparatus according to the present embodiment. As shown in the figure, the three-dimensional shape data processing apparatus includes an optical measurement unit 1,
It comprises a measurement object modeling unit 2, a disk device 3, a display 4, a mouse 5, a keyboard 6, a GUI system 7, a main module 8, and a measuring module 9.

【0012】光学的測定部1は例えば特開平7−174
536に記載されたレンジファインダーのような装置で
あり、レーザ測定機器を有し測定対象を光学的に読み取
る。測定対象モデル化部2は光学的に読み取られた測定
対象を立体モデル化する。立体モデルと測定対象との関
係を図2(a)(b)に示す。図2(a)は測定対象の
一例である人体の一部を示す。この測定対象表面上の複
数点が光学的測定部1によってレーザー照射され、各点
の空間座標上の位置が読み取られていく。このように読
み取られた位置データを用いて、測定対象モデル化部2
は図2(b)に示すように測定対象を立体モデル化す
る。立体モデル(3次元形状モデル)とは測定対象を多
面体近似で表現したポリゴンメッシュデータによるモデ
ルであり、何千個、何万個の平面から構成される。
The optical measuring section 1 is disclosed in, for example, Japanese Patent Laid-Open No. 7-174.
A device such as a range finder described in No. 536, which has a laser measuring device and optically reads an object to be measured. The measurement object modeling unit 2 models the optically read measurement object into a three-dimensional model. FIGS. 2A and 2B show the relationship between the three-dimensional model and the measurement object. FIG. 2A shows a part of a human body as an example of a measurement target. A plurality of points on the surface to be measured are irradiated with a laser by the optical measuring unit 1, and the positions on the spatial coordinates of each point are read. Using the position data read in this way, the measurement object modeling unit 2
Converts a measurement object into a three-dimensional model as shown in FIG. A three-dimensional model (three-dimensional shape model) is a model based on polygon mesh data that represents a measurement target by approximating a polyhedron, and is composed of thousands and tens of thousands of planes.

【0013】図2(c)に示すy201内の円は、図2
(b)の立体モデルの円y200に囲まれる部分を拡大
して表している。立体モデルを構成する個々の平面はポ
リゴンメッシュと称され三角形或は四角形の形状を有す
る。なお、図2(c)のy201内には立体モデルデー
タが生成されていない箇所が存在する。これは光学的測
定部の反射光の読み取り不良によって生じた欠損部であ
る。
The circle in y201 shown in FIG.
The part surrounded by the circle y200 of the three-dimensional model of FIG. Each plane constituting the three-dimensional model is called a polygon mesh and has a triangular or quadrangular shape. Note that there is a place in the y201 of FIG. 2C where no stereo model data has been generated. This is a defective portion caused by defective reading of the reflected light from the optical measurement unit.

【0014】立体モデルのデータ構造を図3に示す。立
体モデルを表すデータは全頂点数・全ポリゴンメッシュ
数の組みと、ポリゴンメッシュリストと、頂点リストと
からなる。頂点リストは、各頂点に付された識別子と、
各頂点の3次元座標を示すリストである。また、ポリゴ
ンメッシュリストは、各ポリゴンメッシュに付された識
別子と、各ポリゴンメッシュを構成する頂点の数と、当
該ポリゴンメッシュを構成する各頂点の識別子とを示す
リストである。
FIG. 3 shows the data structure of the three-dimensional model. The data representing the three-dimensional model includes a combination of the total number of vertices and the total number of polygon meshes, a polygon mesh list, and a vertex list. The vertex list contains an identifier assigned to each vertex,
5 is a list showing three-dimensional coordinates of each vertex. The polygon mesh list is a list indicating identifiers assigned to the respective polygon meshes, the number of vertices forming the respective polygon meshes, and identifiers of the respective vertices forming the polygon mesh.

【0015】ポリゴンメッシュリストにおける各ポリゴ
ンメッシュを構成する頂点の識別子の配置順序は当該立
体モデルを表側から見た時に左回りになるような順序で
あり、これにより各ポリゴンメッシュの表裏の識別、お
よび、立体モデルの内部・外部の識別ができるようにな
っている。ディスク装置3には、立体モデルデータを収
録したデータファイルが多数蓄積される。
The arrangement order of the identifiers of the vertices constituting each polygon mesh in the polygon mesh list is such that the three-dimensional model is counterclockwise when viewed from the front side. In addition, the inside and outside of the three-dimensional model can be identified. The disk device 3 stores a large number of data files containing three-dimensional model data.

【0016】ディスプレイ4は20インチ以上の広々と
した表示面を有し、ここに何枚ものウィンドウを配する
ことができる。ディスプレイ4におけるウィンドウには
『ビューワー(VIEWER)』、『キャンバス(CANVAS)』、
『パネル』といった三つの種別がある。ビューワーとは
3次元データ表示用のウィンドウであり、キャンバスと
は二次元データ表示用のウィンドウであり、パネルとは
各種操作用ボタンや計測値を表示するためのウインドウ
である。
The display 4 has a spacious display surface of 20 inches or more, on which a number of windows can be arranged. "VIEWER", "CANVAS",
There are three types, such as "panel". The viewer is a window for displaying three-dimensional data, the canvas is a window for displaying two-dimensional data, and the panel is a window for displaying various operation buttons and measured values.

【0017】なお、ビューワーの表示には、レンダリン
グ処理によりその表面に陰影を付すことができ、テクス
チャマッピング処理により模様・柄を張り付けることも
できる。また、ビューワーの表示にはウィンドウの他に
も、液晶シャッターを具備したゴーグルタイプの3次元
ディスプレイやリアルタイムホログラフィー等を用いる
ことも可能である。
In the display of the viewer, the surface can be shaded by a rendering process, and a pattern / pattern can be attached by a texture mapping process. In addition to a window, a goggle type three-dimensional display having a liquid crystal shutter, real-time holography, or the like can be used for displaying the viewer.

【0018】ディスプレイ4の表示例を図4に示す。本
図においてディスプレイ4の表示面には、3つのビュー
ワーy2201〜y2203と、4つのキャンバスy22
04〜y2207と、2つのパネル70、90が配置さ
れている。ビューワーy2201には立体モデルデータ
の斜視像が表示され、ビューワーy2202には側面像
が表示され、ビューワーy2203は立体モデルデータ
の上面像が表示されている。キャンバスy2204〜y
2206には、立体モデルデータを切断した断面像が表
示される。このようにキャンバスを複数配しているの
は、例えば、立体モデルの首周り、腰周り、胸周り等立
体モデルの複数の断面を個別に表示させるためである。
パネルには立体モデルの断面積情報や、距離情報を表示
したり、使用者の指示を入力するためのメジャーリング
処理操作パネルや、曲面モード時の特徴量の表示や使用
者の指示を入力するための曲面モード処理用パネル等が
ある。
FIG. 4 shows a display example of the display 4. In the figure, the display surface of the display 4 has three viewers y2201 to y2203 and four canvases y22.
04 to y2207 and two panels 70 and 90 are arranged. The viewer y 2201 displays a perspective image of the three-dimensional model data, the viewer y 2202 displays a side image, and the viewer y 2203 displays a top image of the three-dimensional model data. Canvas y2204-y
In 2206, a cross-sectional image obtained by cutting the three-dimensional model data is displayed. The reason why a plurality of canvases are arranged in this way is to individually display a plurality of cross sections of the three-dimensional model such as a neck circumference, a waist circumference, and a chest circumference of the three-dimensional model.
The panel displays the cross-sectional area information and distance information of the three-dimensional model, the measuring processing operation panel for inputting the user's instruction, the display of the feature value in the curved surface mode, and the input of the user's instruction. Panel for curved surface mode processing.

【0019】ビューワーにおける座標系と、キャンバス
における座標系との対応関係を図5に示す。図5(b)
においてビューワー系の座標は立体モデルデータの左下
を原点としている。これに対してキャンバスにおける座
標系は基準平面と呼ぶ仮想的な平面体の中心を原点と
し、この平面上に設定されるX軸、Y軸を基準とする座
標系を形成する。この基準平面は使用者が立体モデルの
どの部分を計測し、修復するか等を指定するためにもち
いる仮想的な平面体であり、ビューワーにおいて立体モ
デルと共に表示される。なお、基準平面の表側にあるポ
リゴンメッシュはZ座標において正の座標値をとり、裏
側にあるポリゴンメッシュはZ座標において負の座標値
をとるようにしてある。
FIG. 5 shows the correspondence between the coordinate system of the viewer and the coordinate system of the canvas. FIG. 5 (b)
, The coordinates of the viewer system have the origin at the lower left of the three-dimensional model data. On the other hand, the coordinate system on the canvas has the origin at the center of a virtual plane called a reference plane, and forms a coordinate system based on the X axis and the Y axis set on this plane. This reference plane is a virtual plane used by the user to specify which part of the three-dimensional model to measure and repair, and is displayed together with the three-dimensional model in the viewer. The polygon mesh on the front side of the reference plane has a positive coordinate value on the Z coordinate, and the polygon mesh on the back side has a negative coordinate value on the Z coordinate.

【0020】基準平面について図6、図7を参照しなが
ら説明する。図6(a)に示すように基準平面の中心位
置には、キャンバス座標系のX軸Y軸Z軸が直交してい
る。直交点がキャンバス座標系における原点となる。こ
れらのX軸Y軸Z軸は基準平面と共に表示され、また、
各軸は区別が容易なように異なる色に設定され、さら
に、その正の部分と負の部分でも異なる色となるように
してある。
The reference plane will be described with reference to FIGS. As shown in FIG. 6A, the X, Y, and Z axes of the canvas coordinate system are orthogonal to the center position of the reference plane. The orthogonal point is the origin in the canvas coordinate system. These X axis, Y axis, and Z axis are displayed together with the reference plane, and
Each axis is set to a different color so that it can be easily distinguished, and further, the positive portion and the negative portion have different colors.

【0021】図6(a)に示す基準平面は図6(b)に
示すデータ構造で表現される。即ち基準平面は、法線ベ
クトル(p,q,r)と、ビューワー座標系で表された中
心位置の座標(Xa、Ya、Za)と、縦幅LXと、横幅Ly
とを対応づけたデータ構造で表現される。ビューワー座
標系において基準平面上の任意の座標(X,Y,Z)と法
線ベクトル(p,q,r)との間にはp(X−Xa)+q
(Y−Ya)+r(Z−Za)=0の関係が成立する。
The reference plane shown in FIG. 6A is represented by a data structure shown in FIG. That is, the reference plane is composed of a normal vector (p, q, r), coordinates (Xa, Ya, Za) of the center position expressed in the viewer coordinate system, a vertical width LX, and a horizontal width Ly.
Are represented by a data structure in which In the viewer coordinate system, p (X−Xa) + q is between any coordinate (X, Y, Z) on the reference plane and the normal vector (p, q, r).
The relationship of (Y−Ya) + r (Z−Za) = 0 holds.

【0022】また、基準平面は6自由度(3次元空間に
おける位置と姿勢)を持つ。即ち、図7(a)に示すよ
うに、基準平面の姿勢は、使用者の操作に応じてX軸Y軸
Z軸周りの矢印Rx,Ry,Rz方向に回転し、図7(b)に
示すように、基準平面の位置はX軸Y軸Z軸の矢印mx,m
y,mz方向にスライドするようにしてある。マウス5及
びキーボード6は、キャンバスやビューワー内の位置の
指定や、各種パネルに設定されるボタンを指示し、数値
を入力するための入力装置である。
The reference plane has six degrees of freedom (position and orientation in a three-dimensional space). That is, as shown in FIG. 7A, the posture of the reference plane is changed in the X-axis and the Y-axis in accordance with the operation of the user.
It rotates in the directions of arrows Rx, Ry, and Rz around the Z axis, and as shown in FIG. 7B, the position of the reference plane is the arrow mx, m of the X axis, the Y axis, and the Z axis.
It slides in the y and mz directions. The mouse 5 and the keyboard 6 are input devices for specifying a position in the canvas or the viewer, indicating buttons set on various panels, and inputting numerical values.

【0023】GUIシステム7はイベント管理を行い、デ
ィスプレイ4におけるキャンバス及びビューワーの割り
当てや、各種メニュ−を割り当てを制御する。メインモ
ジュール8は、メインルーチンの手順を記述した実行形
式のプログラムであり、メジャーリングモジュール9
は、メインルーチンから分岐するメジャーリング処理や
その他の処理の手順を記述した実行形式のプログラムで
ある。これらのモジュールはディスク装置3からメモリ
上にロードされ、プロセッサ10によって逐一実行され
る。
The GUI system 7 manages events, and controls the allocation of canvases and viewers on the display 4 and the allocation of various menus. The main module 8 is an executable program that describes the procedure of the main routine.
Is an executable program that describes the procedure of measuring processing and other processing branched from the main routine. These modules are loaded onto the memory from the disk device 3 and executed by the processor 10 one by one.

【0024】プロセッサ10は、解読器、ALU、各種レ
ジスタを具備した集積回路でありメインモジュール8、
メジャーリングモジュール9の内容に基づいて各種3次
元データ処理を制御する。なお、上記3次元データ処理
装置は、光学的測定部1のデータを入力できるようにし
た通常のコンピュータを用い、当該コンピュータに以下
に示す動作・機能を行わせるようなプログラムを内蔵さ
せることによっても実現可能であり、当該プログラムは
CD−ROMのような当該コンーピュータで読み取り可
能な記録媒体に記録することができる。
The processor 10 is an integrated circuit having a decoder, an ALU, and various registers.
Various three-dimensional data processing is controlled based on the contents of the measuring module 9. Note that the three-dimensional data processing device may be implemented by using a normal computer capable of inputting data of the optical measurement unit 1 and incorporating a program that causes the computer to perform the following operations and functions. The program can be realized, and the program can be recorded on a recording medium readable by the computer, such as a CD-ROM.

【0025】(2)制御動作の概要 次に、図8のメインフローチャートを参照しながらメイ
ンモジュール8に基づいたプロセッサの制御内容につい
て説明を行う。まず、ステップ10でプロセッサ10
は、ハードウェアの初期化や各種ウィンドウの表示等の
初期設定を行う。初期設定後、ディスプレイ4には立体
モデルデータ取り込み処理、メジャーリング処理、その
他の処理の何れを実行するかを使用者に問うPOPUPメニ
ューを表示する。ここで使用者が立体モデルデータ取り
込み処理を選択するとステップ11がYesになりステッ
プ12に移行する。
(2) Outline of Control Operation Next, control contents of the processor based on the main module 8 will be described with reference to a main flowchart of FIG. First, in step 10, the processor 10
Performs initialization such as hardware initialization and display of various windows. After the initial setting, the display 4 displays a POPUP menu for asking the user whether to execute the three-dimensional model data capturing process, the measuring process, or other processes. Here, if the user selects the three-dimensional model data import process, step 11 becomes Yes and the process proceeds to step 12.

【0026】ステップ12ではプロセッサ10は光学的
測定部1を起動し、光学的測定部1により測定対象にレ
ーザを照射させ、その反射光を測定させる。レーザー照
射が済むと、測定対象モデル化部2に測定結果に基づい
て立体モデルデータを生成させる。これにより図2の説
明図に示したような立体モデルデータが生成される。こ
のように立体モデルを生成すると、ステップ17におい
てプロセッサ10は生成した立体モデルデータをビュー
ワーに表示する。ステップ17によりディスプレイは、
図4に示した表示例のような画面になる。この画面にお
けるカーソル位置は、GUIシステム7のイベント管理に
よって適宜移動する。
In step 12, the processor 10 activates the optical measuring section 1, irradiates the object to be measured with a laser beam by the optical measuring section 1, and measures the reflected light. After the laser irradiation, the measurement target modeling unit 2 is caused to generate three-dimensional model data based on the measurement result. Thereby, the three-dimensional model data as shown in the explanatory diagram of FIG. 2 is generated. When the three-dimensional model is generated in this way, in step 17, the processor 10 displays the generated three-dimensional model data on the viewer. By step 17, the display is
The screen will look like the display example shown in FIG. The cursor position on this screen is appropriately moved by the event management of the GUI system 7.

【0027】また、使用者が立体モデルデータの計測、
修復処理を選択するとステップ13がYesとなり、ステ
ップ14へ移行する。この処理の内容については後に詳
述する。使用者がこれら以外の処理を選択すると、S1
5がYesとなり、ステップ16へ移行し、プロセッサ1
0はデータの削除、変換等の加工処置や、立体モデルの
回転、移動等の処理を行わせる。
The user can measure the three-dimensional model data,
When the restoration process is selected, step 13 becomes Yes and the process proceeds to step 14. The details of this processing will be described later. If the user selects a process other than these, S1
5 is Yes, the process proceeds to step 16, and the processor 1
A value of 0 causes processing such as data deletion and conversion, and processing such as rotation and movement of the three-dimensional model.

【0028】(3)メジャーリング処理 続いて、図8のメジャーリング処理の内容について詳述
する。図9に、メジャーリング処理のメインフローチャ
ートを示す。メジャーリング処理に移行するとディスプ
レイ4には図10に示すようなメジャーリング処理操作
パネル70が表示され、イベント待機状態となる。メジ
ャーリング処理は、図のメジャーリング処理操作パネル
70に対するボタンのクリックに応じて各種モードを起
動する。
(3) Measuring Process Next, the contents of the measuring process of FIG. 8 will be described in detail. FIG. 9 shows a main flowchart of the measuring process. When the process shifts to the measuring process, the display 4 displays a measuring process operation panel 70 as shown in FIG. In the measuring process, various modes are activated in response to clicking a button on the measuring process operation panel 70 shown in the figure.

【0029】図10に示すようにメジャーリング処理操
作パネル70は、使用者の指示を受け付けて各種モード
を起動すべく次のようなボタンを有する。即ち、(1)基
準平面により立体モデルを仮想的に切断しその切断面の
断面積や周囲長を計算する切断モードを起動するための
切断モード起動ボタン71、(2)立体モデルの2点間
の距離や、表面上の経路長を求める距離モードを起動す
るための距離モード起動ボタン72、(3)立体モデル表
面の特徴量を求める曲面モードを起動するため曲面モー
ド起動ボタン73、(4)立体モデルの欠損部分を自動的
に修復する修復モードを起動するための修復モード起動
ボタン74が設けられている。
As shown in FIG. 10, the measuring processing operation panel 70 has the following buttons for accepting a user's instruction and activating various modes. That is, (1) a cutting mode start button 71 for starting a cutting mode for virtually cutting the three-dimensional model by the reference plane and calculating the cross-sectional area and perimeter of the cut surface, and (2) between two points of the three-dimensional model. Mode start button 72 for activating a distance mode for obtaining the distance of the object or the path length on the surface, (3) surface mode activating button 73 for activating a surface mode for obtaining a feature amount of the three-dimensional model surface, (4) A restoration mode activation button 74 for activating a restoration mode for automatically restoring a missing portion of the three-dimensional model is provided.

【0030】さらに、使用者の指示を受けつけるための
ボタンとして基準平面を移動させるための基準平面移動
ボタン76、基準平面を回転させるための基準平面回転
ボタン77、立体モデルをロードするための立体モデル
ロードボタン78、処理を終了するためのメジャーリン
グ処理終了ボタン79を有している。また、使用者に測
定結果等を表示するために、形状モデルのビューワー座
標系におけるX、Y、Z方向の大きさを示すモデルサイ
ズ表示部81、基準平面に切断された立体モデルの切断
面の周囲長と断面積を表示する断面情報表示部82、2
点間の直線距離や経路長さを表示する距離情報表示部8
3を有している。
Further, as a button for receiving a user's instruction, a reference plane moving button 76 for moving the reference plane, a reference plane rotation button 77 for rotating the reference plane, and a three-dimensional model for loading the three-dimensional model It has a load button 78 and a measuring process end button 79 for ending the process. Further, in order to display measurement results and the like to the user, a model size display unit 81 indicating the size of the shape model in the X, Y, and Z directions in the viewer coordinate system, and a cut surface of the three-dimensional model cut into the reference plane. Section information display sections 82 and 2 for displaying the perimeter and the sectional area
Distance information display section 8 for displaying the straight-line distance between points and the path length
Three.

【0031】使用者はマウスやキーボードを操作して、
メジャーリング処理操作パネル70上の各ボタンにカー
ソルを移動させ指示を入力する。ここで使用者のボタン
操作によりイベントが入力されると、ステップ31〜ス
テップ36の判定ステップの羅列に移行し、何れかのス
テップにおいて『Yes』になるまで順次判定が実行され
てゆく。
The user operates the mouse and keyboard,
The cursor is moved to each button on the measuring processing operation panel 70 to input an instruction. Here, when an event is input by a button operation of the user, the process shifts to a series of determination steps from step 31 to step 36, and the determination is sequentially performed until “Yes” in any of the steps.

【0032】(3−1)基準平面表示処理 基準平面表示処理は、基準物体がビューワーに表示され
ていない場合に図9のステップ31を介して実行され
る。本3次元形状データ処理装置が起動した状態では、
基準平面が未表示であるから通常はステップ31に移行
して基準表面処理がなされる。この基準平面表示処理は
立体モデルのサイズに基準平面を適合させて表示するこ
とを主眼においている。
(3-1) Reference plane display processing The reference plane display processing is executed via step 31 in FIG. 9 when the reference object is not displayed on the viewer. When the three-dimensional shape data processing device is activated,
Since the reference plane has not been displayed, the routine normally proceeds to step 31 to perform the reference surface treatment. The main purpose of this reference plane display process is to display the reference plane by adjusting the reference plane to the size of the three-dimensional model.

【0033】立体モデルとの適合が如何に行われるかを
図11のフローチャートを参照しながら説明する。ま
ず、ステップ101では図3に示す頂点リストからX座
標Y座標Z座標の最大値、最小値を探索する。ステップ
102では、探索された最大値、最小値から立体モデル
のXYZ各方向のサイズを計算する。ステップ101によ
って既に頂点の座標の最大値、最小値が探索されている
から、これらに基づいて立体モデルデータの縦のサイズ
及び横のサイズが算出される。算出された各サイズは図
10に示すメジャーリング処理操作パネル70上のモデ
ルサイズ表示部81に表示される。
How the matching with the three-dimensional model is performed will be described with reference to the flowchart of FIG. First, in step 101, the maximum value and the minimum value of the X coordinate, Y coordinate, and Z coordinate are searched from the vertex list shown in FIG. In step 102, the size of the three-dimensional model in each of the XYZ directions is calculated from the searched maximum value and minimum value. Since the maximum value and the minimum value of the coordinates of the vertices have already been searched in step 101, the vertical size and the horizontal size of the three-dimensional model data are calculated based on these. The calculated sizes are displayed on the model size display section 81 on the measuring operation panel 70 shown in FIG.

【0034】ステップ102の実行後、ステップ103
においてプロセッサ10は計算された立体モデルの縦の
サイズ及び横のサイズに合うように基準平面のサイズを
決定する。ここでは、基準平面の1辺を立体モデルのX
YZ各方向におけるサイズの最大値に1.1倍を掛けた
長さとする。ステップ103の実行後、ステップ104
に移行して、プロセッサ10はX座標Y座標Z座標の最
大値、最小値を用いて立体モデルデータが占めている範
囲を計算し、その中心位置を算出する。ここで算出され
た位置が基準平面の中心位置となる。ステップ104が
終了するとステップ105においてプロセッサ10はビ
ューワーにおける中点位置に基準平面を据える。最後
に、基準平面が立体モデルデータの中央に据えた状態で
ビューワー上に表示される。この際、基準平面の各軸の
正負をそれぞれ色分けして表示する。
After execution of step 102, step 103
In, the processor 10 determines the size of the reference plane to match the calculated vertical size and horizontal size of the three-dimensional model. Here, one side of the reference plane is defined as X of the three-dimensional model.
The length is obtained by multiplying the maximum value of the size in each of the YZ directions by 1.1 times. After execution of step 103, step 104
The processor 10 calculates the range occupied by the three-dimensional model data using the maximum value and the minimum value of the X coordinate, the Y coordinate, and the Z coordinate, and calculates the center position thereof. The position calculated here is the center position of the reference plane. When step 104 is completed, in step 105, the processor 10 sets the reference plane at the midpoint position in the viewer. Finally, the reference plane is displayed on the viewer in a state where it is set at the center of the three-dimensional model data. At this time, the sign of each axis of the reference plane is displayed in different colors.

【0035】(3−2)基準平面移動・回転処理 使用者によりメジャーリング処理操作パネル70の基準
平面移動ボタン76又は基準平面回転ボタン77が操作
されると、図9のステップ32より、基準平面移動・回
転処理へ移行する。基準平面は使用者が立体モデルのど
の部分を計測し、修復するか等を指定するためのもので
あり、この表示された基準平面は使用者の意図に従って
移動および回転させられる。図12に基準平面移動・回
転処理のフローチャートを示す。
(3-2) Reference plane movement / rotation processing When the reference plane movement button 76 or the reference plane rotation button 77 of the measuring processing operation panel 70 is operated by the user, the reference plane is moved from step 32 in FIG. Move to the movement / rotation processing. The reference plane is for the user to specify which part of the three-dimensional model is to be measured and repaired, and the displayed reference plane is moved and rotated according to the user's intention. FIG. 12 shows a flowchart of the reference plane movement / rotation processing.

【0036】基準平面移動・回転処理には、基準平面回
転ボタン77により起動される基準平面の姿勢を変える
処理(1)と、基準平面移動ボタン76により起動される
基準平面の位置を変える処理(2)とがある。(1)における
回転量及び(2)における移動量は使用者により入力され
るイベント量によって決定される。イベント量は、ここ
では図13に示す基準平面回転ボタン77、基準平面移
動ボタン76をクリックすると表示される回転・移動量
入力パネル90を用いて使用者がイベント量を入力す
る。具体的には、使用者は回転・移動量入力パネル90
の各座標の入力位置をカーソルで指示して所望の数値を
キータイプすることでイベント量を入力する。
The reference plane movement / rotation processing includes processing (1) for changing the attitude of the reference plane activated by the reference plane rotation button 77 and processing for changing the position of the reference plane activated by the reference plane movement button 76 ( 2) The amount of rotation in (1) and the amount of movement in (2) are determined by the amount of event input by the user. Here, the user inputs the event amount by using a rotation / movement amount input panel 90 displayed by clicking the reference plane rotation button 77 and the reference plane movement button 76 shown in FIG. Specifically, the user operates the rotation / movement input panel 90.
An input amount of each coordinate is designated by a cursor and a desired numerical value is key-typed to input an event amount.

【0037】基準平面移動・回転処理では、まず、ステ
ップ111においてこの使用者により入力されるイベン
ト量が検出される。入力されたイベント量は各座標ごと
に表示部91、92、93に表示される。使用者が確定
ボタン94をクリックすると表示された入力値が確定さ
れイベント量が受け付けられる。なお、イベント量の入
力はマウス5の走行操作により得られるマウス5に内蔵
される球体の回転量を用いてもよい。
In the reference plane moving / rotating process, first, at step 111, the amount of event input by the user is detected. The input event amount is displayed on the display units 91, 92, 93 for each coordinate. When the user clicks the confirm button 94, the displayed input value is confirmed and the event amount is accepted. The input of the event amount may use the rotation amount of the sphere built in the mouse 5 obtained by the running operation of the mouse 5.

【0038】次に、ステップ112において基準平面回
転ボタン77がクリックされた状態あるか否かが判断さ
れる。ここで、基準平面回転ボタン77がクリックされ
て状態であある場合は回転量の入力がされたと判断さ
れ、ステップ113に移行する。ステップ113でプロ
セッサ10はステップ111において検出されたイベン
ト量に基づいて各基準軸周りの回転量を計算する。ステ
ップ113の実行後ステップ114に移行し基準平面を
各基準軸周りにそれぞれ計算された回転量だけ回転する
(図7(a)参照)。最後に、ステップ118に移行
し、基準物体を回転により得られた姿勢により再表示す
る。その後、図9に示すメインルーチンへ戻る。
Next, at step 112, it is determined whether or not the reference plane rotation button 77 has been clicked. Here, when the reference plane rotation button 77 is clicked, it is determined that the rotation amount has been input, and the process proceeds to step 113. In step 113, the processor 10 calculates the amount of rotation about each reference axis based on the amount of event detected in step 111. After execution of step 113, the process proceeds to step 114, and the reference plane is rotated around the reference axes by the calculated rotation amounts (see FIG. 7A). Finally, the process proceeds to step 118, where the reference object is displayed again based on the posture obtained by the rotation. Thereafter, the process returns to the main routine shown in FIG.

【0039】ステップ112でNoと判断されると、ステ
ップ115へ移行し基準平面移動ボタン76がクリック
された状態であるか否かが判断される。ここで、基準平
面移動ボタン76がクリックされた状態である場合は移
動量の入力がされたと判断され、ステップ116に移行
する。ステップ116ではステップ111で入力された
イベント量から各基準軸方向の移動量が計算され、さら
に、ステップ117で計算された移動量が基準平面のビ
ューワー座標系における原点座標値に加算される。即
ち、ビューワー座標系における基準平面の中心座標を
(Xa,Ya,Za)とすると、これにステップ35で算出
された移動量が新た加算される。これらの処理により、
基準平面の位置はイベント量に応じて自在にスライドす
ることになる(図7(b)参照)。その後、やはりステ
ップ57に移行し、基準物体を移動した位置に再表示
し、図9に示すメインルーチンへ戻る。
If No is determined in the step 112, the process shifts to a step 115 to determine whether or not the reference plane moving button 76 is clicked. Here, if the reference plane movement button 76 is in a clicked state, it is determined that the movement amount has been input, and the process proceeds to step 116. In step 116, the movement amount in each reference axis direction is calculated from the event amount input in step 111, and the movement amount calculated in step 117 is added to the origin coordinate value of the reference plane in the viewer coordinate system. That is, assuming that the center coordinate of the reference plane in the viewer coordinate system is (Xa, Ya, Za), the movement amount calculated in step 35 is newly added to this. By these processes,
The position of the reference plane slides freely according to the event amount (see FIG. 7B). Thereafter, the process also proceeds to step 57, where the reference object is displayed again at the moved position, and the process returns to the main routine shown in FIG.

【0040】以上のような動作により、使用者の指示に
応じて基準平面と立体モデルの交叉角度を自由に変化さ
せることができ、基準平面を自在にスライドさせること
により、立体モデルの切断位置を自在に切り替えること
ができる。 (3−3)切断モード処理 図9のメインフロ−において切断モード起動ボタン71
が操作されるとステップ40の切断モード処理へ移行す
る。図14に切断モード処理を表すフローチャートを示
す。図14のフローチャートに示すように、切断モード
処理ではステップ61における断面データ計算処理で基
準平面を切り口とした立体モデルデータの断面データを
計算し、ステップ62の断面表示処理において計算され
た断面データに基づいてキャンバス上に断面像を表示す
る。それからステップ63の断面積測定処理において断
面データに基づいてその断面積を計算し、ステップ64
の輪郭長測定処理においてその断面の輪郭長を測定す
る。最後にステップ65の断面積・輪郭長表示ステップ
において、断面積及び輪郭長を表示する。上記の各処理
については以下にさらに詳述する。
By the above operation, the intersection angle between the reference plane and the three-dimensional model can be freely changed in accordance with the user's instruction, and by freely sliding the reference plane, the cutting position of the three-dimensional model can be changed. You can switch freely. (3-3) Cutting Mode Processing In the main flow of FIG.
Is operated, the flow shifts to the disconnection mode processing in step 40. FIG. 14 is a flowchart showing the cutting mode process. As shown in the flowchart of FIG. 14, in the cutting mode processing, the cross-section data of the three-dimensional model data with the reference plane as the cut plane is calculated in the cross-section data calculation processing in step 61, and the cross-section data calculated in the cross-section display processing in step 62 is calculated. A cross-sectional image is displayed on the canvas based on the image. Then, in the cross-sectional area measurement processing in step 63, the cross-sectional area is calculated based on the cross-sectional data, and step 64 is performed.
In the contour length measuring process, the contour length of the section is measured. Finally, in the cross-sectional area / contour length display step of step 65, the cross-sectional area and the contour length are displayed. Each of the above processes will be described in further detail below.

【0041】(3−3−1)断面データ計算モード 『断面データ』とは基準平面−立体モデル間の交点と、
これらの交点を結ぶ線分列とによって立体モデルの断面
を表現した情報である。断面データの算出の手順は図1
5から図17までのフローチャートで表現される。図1
5(a)(b)のフローチャートにおいて『断面i』と
は基準平面上に得られた複数の断面データのそれぞれを
指示する変数である。断面データ計算処理では、まず、
プロセッサ10はステップ201においてポリゴンメッ
シュの頂点座標をキャンバス座標系に変換する。それか
ら、ステップ202では線分のつなぎ合わせ処理を行う
ため、図15(b)のフローチャートに分岐する。図1
5(b)のフローチャートのステップ301では『交点
同士の連結処理』を行うため図16のフローチャートに
分岐し、ステップ302では『線分列の連結処理』を行
うため図17のフローチャートに分岐する。
(3-3-1) Section data calculation mode “Cross section data” refers to the intersection between the reference plane and the three-dimensional model,
This is information expressing a cross section of the three-dimensional model by a line segment series connecting these intersections. Figure 1 shows the procedure for calculating the cross-sectional data.
5 to FIG. FIG.
In the flowcharts of FIGS. 5A and 5B, “section i” is a variable indicating each of a plurality of section data obtained on the reference plane. In the cross section data calculation process, first,
In step 201, the processor 10 converts the vertex coordinates of the polygon mesh into a canvas coordinate system. Then, in step 202, the process branches to the flowchart of FIG. FIG.
In step 301 of the flowchart of FIG. 5B, the process branches to the flowchart of FIG. 16 to perform the “connection process of intersections”, and in step 302, branches to the flowchart of FIG. 17 to perform the “connection process of line segment sequence”.

【0042】(3−3−2)交点同士の連結処理 図16に示す『交点同士の連結処理』は、立体モデルと
基準平面との交点座標の算出し、算出された交点間を結
ぶ線分を生成する。交点同士の連結処理では、まず、ス
テップ403においてプロセッサ10は、1つのポリゴ
ンの頂点座標の組み合わせについてZ座標の積(ここで
いうZ座標はキャンバス座標系のZ座標である。)が負で
あるかを判定し、負の場合は当該頂点を結ぶ線分とXY
平面との交点を求める。即ち、Z座標の積が負であるこ
とはその組み合わせの頂点が、基準平面を介して対向し
ていることを示す。例えば、ポリゴンメッシュと基準平
面の位置関係が図18(a)に示すような関係にある場
合、ポリゴンメッシュP1、P2、P3、P4、P5の
頂点の組み合わせのうち、組み合わせ2601、組み合
わせ2602、組み合わせ2603の頂点は基準平面を
介して対向しているためz座標は正負が反転し、その積
は負になる。そこで、これらの組み合わせの頂点同士を
直線で結び、図18(b)において『×』印に示すよう
な基準平面との交点の座標を求める。以上の処理を全て
のポリゴンメッシュの頂点組み合わせについて終了する
と、図18(c)に示すように、基準平面上に複数の交
点を得ることができる。
(3-3-2) Connection processing between intersections The “connection processing between intersections” shown in FIG. 16 calculates the coordinates of the intersection between the three-dimensional model and the reference plane, and connects the calculated intersections. Generate In the process of connecting the intersections, first, in step 403, the processor 10 has a negative product of the Z coordinates (here, the Z coordinates are the Z coordinates in the canvas coordinate system) for the combination of the vertex coordinates of one polygon. And if it is negative, a line segment connecting the vertex and XY
Find the intersection with the plane. That is, a negative product of the Z coordinate indicates that the vertices of the combination face each other via the reference plane. For example, when the positional relationship between the polygon mesh and the reference plane is as shown in FIG. 18A, among the combinations of the vertices of the polygon meshes P1, P2, P3, P4, and P5, combination 2601, combination 2602, combination Since the vertices of 2603 face each other via the reference plane, the z coordinate is inverted between positive and negative, and the product is negative. Therefore, the vertices of these combinations are connected by a straight line, and the coordinates of the intersection with the reference plane as shown by the mark “x” in FIG. When the above processing is completed for all the vertex combinations of the polygon mesh, a plurality of intersections can be obtained on the reference plane as shown in FIG.

【0043】続いて、ステップ405においてプロセッ
サ10は1つのポリゴンについて交点が2つ生成したか
を判定し、もしそうであればステップ406においてプ
ロセッサ10はその交点を結ぶ線分を生成する。例え
ば、図19(a)に示すように、ステップ402の処理
で基準平面上に交点が得られたとする。交点y270
1、y2702は両方とも図18に示したポリゴンメッ
シュP1の交点であるので、図19(b)に示すよう
に、これらを結ぶ線分y2710生成される。同じく交
点y2702、y2703もポリゴンメッシュP2の交
点であるので、これらを結ぶ線分y2711が生成され
る。
Subsequently, in step 405, the processor 10 determines whether two intersections have been generated for one polygon, and if so, in step 406, the processor 10 generates a line segment connecting the intersections. For example, as shown in FIG. 19A, it is assumed that an intersection is obtained on the reference plane in the process of step 402. Intersection y270
1 and y2702 are both intersections of the polygon mesh P1 shown in FIG. 18, so that a line segment y2710 connecting these is generated as shown in FIG. 19B. Similarly, since the intersections y2702 and y2703 are also intersections of the polygon mesh P2, a line segment y2711 connecting these is generated.

【0044】(3−3−3)線分列の連結処理 交点同士の連結処理が終わると線分列の連結処理へ移行
する。『線分列』とは基準平面上の立体モデルの輪郭線
を表現するための折れ線であり、交点同士の連結処理で
生成した線分をつなぎ合わせることにより生成する。図
17に『線分列の連結処理』の具体的手順を示す。本フ
ローチャートにおいて『線分i』とは基準平面上の個々
の線分を指示するための変数であり、『線分列i』とは
線分iを含む線分列を指示するための変数である。
(3-3-3) Linking Process of Line Segment Sequence When the connecting process of the intersections is completed, the process proceeds to the connecting process of the line segment sequence. The “line segment sequence” is a polygonal line for expressing a contour line of a three-dimensional model on a reference plane, and is generated by connecting line segments generated by a connection process between intersections. FIG. 17 shows a specific procedure of the “connection process of line segment sequence”. In this flowchart, “line segment i” is a variable for designating an individual line segment on the reference plane, and “line segment sequence i” is a variable for designating a line sequence including the line segment i. is there.

【0045】線分列の連結処理では、まず、ステップ5
02で線分kについて端点座標と一致する端点を有する
線分mが存在するかを判定する。かかる線分mが存在す
る場合は線分kを含む線分列iを検出し、線分mを線分列i
に連結する。以上の処理が全ての線分k(k=1,2,・・・
n)について繰り返されると、例えば図19(b)に示
す線分群は、図19(c)に示すように基準平面上の折
れ線状の線分列となる。なお、図19(c)においてy
2704、y2705、y2706、y2707間は直
線で結ばれていない。これは欠損部が基準平面上に表れ
た結果である。
In the connecting process of the line segment sequence, first, in step 5
At 02, it is determined whether or not a line segment m having an end point that matches the end point coordinates exists for the line segment k. If such a line segment m exists, a line segment sequence i including the line segment k is detected, and the line segment m is converted to the line segment sequence i.
Connect to The above processing is performed for all the line segments k (k = 1, 2,...)
When repeated for n), for example, the line segment group shown in FIG. 19B becomes a polygonal line segment sequence on the reference plane as shown in FIG. 19C. Note that y in FIG.
2704, y2705, y2706, and y2707 are not connected by a straight line. This is the result of the missing part appearing on the reference plane.

【0046】(3−3−4)断面データ判定処理 『線分列の連結処理』を終えると、図15(b)のステ
ップ303に移行して、全ての断面iが閉じているの
か、開いているのかを判定する。ステップ305におい
てプロセッサ10は、断面iについて線分列の開始点と
終了点とが一致もしくは所定距離の範囲内にあるか否か
を判定する。もしそうであれば、ステップ306に移行
してこれを閉じた断面とみなし、当該断面iについて断
面フラグFiを断面が閉じていることを示す0に設定す
る。一方、図19(c)の交点y2704−交点y270
5、交点y2706−交点y2707間のように線分列の
開始点と終了点間が所定距離以上離れていればステップ
307において最寄りの線分列を探索する。探索で線分
列が見つかると、ステップ308においてプロセッサ1
0は線分列との距離が所定値以上開いているかを判定す
る。もし、所定値以上開いていなければ当該線分列と接
続して再びステップ305に戻る。一方、所定値以上開
いていれば、テップ310に移行し当該断面iについて
の断面フラグFiを断面が開いていることを示す1に設
定する。以上の処理を全ての断面i(i=1,2,・・・n)につ
いて終了すると、図15(a)におけるステップ203
に戻る。ステップ203では、断面データの頂点をキャ
ンバス座標系に変換する。ステップ203の実行後、ス
テップ204に移行して断面の輪郭を作成する。
(3-3-4) Cross-Section Data Judgment Processing When the “connection processing of the line segment sequence” is completed, the process proceeds to step 303 in FIG. 15B, where all cross-sections i are closed or opened. Is determined. In step 305, the processor 10 determines whether or not the start point and the end point of the line segment sequence for the cross section i are the same or within a predetermined distance. If so, the process proceeds to step 306, where this is regarded as a closed section, and the section flag Fi is set to 0 indicating that the section is closed for the section i. On the other hand, the intersection y2704-intersection y270 in FIG.
5. If the start point and the end point of the line segment sequence are separated by a predetermined distance or more, such as between the intersection point y2706 and the intersection point y2707, the nearest line segment sequence is searched in step 307. If the search finds a line segment sequence, in step 308 the processor 1
A value of 0 determines whether the distance from the line segment is longer than a predetermined value. If the line segment is not opened by more than the predetermined value, the line is connected to the line segment sequence and the process returns to step 305 again. On the other hand, if the opening is not less than the predetermined value, the process proceeds to step 310 and the section flag Fi for the section i is set to 1 indicating that the section is open. When the above processing is completed for all the cross sections i (i = 1, 2,... N), step 203 in FIG.
Return to In step 203, the vertices of the cross-section data are converted to a canvas coordinate system. After the execution of step 203, the process proceeds to step 204 to create a contour of a cross section.

【0047】(3−3−5)断面表示処理 図14のステップ62の断面表示処理では線分の連結体
として表現された輪郭線を断面像としてキャンバスに表
示する。この表示において、前記断面フラグFiを参照
して、輪郭線が閉じた断面か開いた断面かによって表示
を変える。即ち、Fi=0で輪郭線が閉じた断面である
場合は、当該断面を『薄緑色』で断面内部を塗り潰して
キャンバスの1つに表示する。この塗り潰しは、既存の
グラフィックスシステムで実現されている色彩変換アル
ゴリズムで簡易に実現される。一方、Fi=1で輪郭線
が開いていれば『黄色』で断面を示す交線のみを表示す
る。これは上記の色彩変換アルゴリズムで輪郭線が開い
ている断面内を塗り潰そうとすると断面外の部分をも誤
って塗り潰してしまうからであり、基準平面の交線を異
なる色で描画するのみに留めるものである。
(3-3-5) Cross-Section Display Processing In the cross-section display processing in step 62 of FIG. 14, a contour line represented as a connected body of line segments is displayed on the canvas as a cross-section image. In this display, the display is changed depending on whether the outline is a closed cross section or an open cross section with reference to the cross section flag Fi. That is, if Fi = 0 and the contour is a closed cross section, the cross section of the cross section is painted in “light green” and displayed on one of the canvases. This filling is easily realized by a color conversion algorithm realized in an existing graphics system. On the other hand, if the contour line is open when Fi = 1, only the intersection line indicating the cross section is displayed in "yellow". This is because if you try to fill the inside of the section where the outline is open with the above color conversion algorithm, the part outside the section will be filled by mistake, and only the intersection line of the reference plane is drawn with a different color. It is something to keep.

【0048】(3−3−6)断面積測定処理 図14のステップ63の『断面積測定処理』では、基準
平面における断面積を多角形近似で計算する。即ち、図
20(a)に示すような断面を構成する交点が算出され
ている場合、図20(b)に示すように隣合う交点と原
点により構成される三角形の面積(Sum1、Sum2、Sum3・
・・)を総和することにより断面積を計算する。各三角
形の面積は原点から隣う交点へ向かうベクトルの外積を
もとに計算する。なお、原点が断面の外側に位置する場
合は、断面の輪郭の外側に接するベクトルにより形成さ
れる三角形の面積は負の値に、断面の輪郭の内側に接す
るベクトルにより形成される三角形の面積は正の値にす
ることにより断面積を得ることができる。
(3-3-6) Cross-Section Area Measurement Processing In the “cross-section area measurement processing” of step 63 in FIG. 14, the cross-sectional area on the reference plane is calculated by polygon approximation. That is, when the intersections forming the cross section as shown in FIG. 20A are calculated, the area (Sum1, Sum2, Sum3) of the triangle formed by the adjacent intersection and the origin as shown in FIG.・
・ ・) Is calculated to calculate the cross-sectional area. The area of each triangle is calculated based on the cross product of vectors from the origin to the adjacent intersection. If the origin is located outside the cross section, the area of the triangle formed by the vector tangent to the outside of the cross section is a negative value, and the area of the triangle formed by the vector tangent to the inside of the cross section is By setting it to a positive value, the cross-sectional area can be obtained.

【0049】(3−3−7)輪郭長測定処理 図14のステップ64の『輪郭長測定』では、断面の輪
郭長を折れ線長(線分列長)に近似して計算する。例え
ば図20(a)のように交点が得られている場合には、
隣合う交点により構成される各線分の和(Len1+Len2+
Len3+Len4+・・・)により輪郭長が算出される。な
お、断面が開いている場合は、輪郭線の始点・終点間の
距離を輪郭長Lenを加算する。
(3-3-7) Contour Length Measurement Processing In “contour length measurement” in step 64 of FIG. 14, the contour length of the cross section is calculated by approximating it to the broken line length (line segment length). For example, when the intersection is obtained as shown in FIG.
Sum of each line segment composed of adjacent intersections (Len1 + Len2 +
Len3 + Len4 + ...) calculates the contour length. If the cross section is open, the distance between the start point and the end point of the contour is added to the contour length Len.

【0050】以上の処理が終わると、図14のステップ
65により算出された断面積及び輪郭長をメジャーリン
グ処理操作パネル70の断面情報表示部82に有効数字
4桁で表示して切断モード処理を終える。 (3−4)距離モード処理 図9のフローチャートにおいて、メジャーリング処理操
作パネル70の距離モード起動ボタン72が操作される
と、ステップ41の距離モード処理へ移行する。距離モ
ード処理では、立体モデルデータが置かれた3次元空間
における所望の距離が測定される。
When the above processing is completed, the cross-sectional area and the contour length calculated in step 65 of FIG. 14 are displayed on the cross-section information display section 82 of the measuring processing operation panel 70 with four significant digits to execute the cutting mode processing. Finish. (3-4) Distance Mode Processing In the flowchart of FIG. 9, when the distance mode start button 72 of the measuring processing operation panel 70 is operated, the processing shifts to the distance mode processing of step 41. In the distance mode processing, a desired distance in a three-dimensional space where the three-dimensional model data is placed is measured.

【0051】ここでは立体モデル中の2点間の直線距離
と、立体モデル表面上を通る経路の長さを測定するもの
とし、さらに、経路長は、一平面上に存在する経路の長
さと、一平面上に存在しいない経路の長さの2種類に分
けて処理を行う。図21に距離モード処理を表すフロー
チャートを示す。まず、距離モードが起動すると、ステ
ップ601により図22に示す選択用パネル130がポ
ップアップ表示される。選択用パネル130には2点間
の直線距離を求めるモードに設定する2点モードを起動
する2点モードボタン131、立体モデル表面の一平面
上に存在する経路長を求める3点モードを起動する3点
モードボタン132、立体モデル表面の一平面上に存在
しない経路長を求めるN点モードを起動するN点モード
ボタン133、処理を終了するためのキャンセルボタン
134が設けてある。次にステップ602でこの選択用
パネル130に対するモードの入力を待って、入力され
たモードに応じた処理へ移行する。
Here, it is assumed that the linear distance between two points in the three-dimensional model and the length of a path passing on the surface of the three-dimensional model are measured. The processing is performed for two types of path lengths that do not exist on one plane. FIG. 21 is a flowchart showing the distance mode processing. First, when the distance mode is activated, the selection panel 130 shown in FIG. On the selection panel 130, a two-point mode button 131 for starting a two-point mode for setting a mode for obtaining a straight line distance between two points, and a three-point mode for obtaining a path length existing on one plane of the three-dimensional model surface are started. A three-point mode button 132, an N-point mode button 133 for starting an N-point mode for finding a path length that does not exist on one plane of the three-dimensional model surface, and a cancel button 134 for ending the processing are provided. Next, in step 602, the process waits for the mode to be input to the selection panel 130, and shifts to processing according to the input mode.

【0052】(3−4−1)2点入力モード処理 選択用パネル130から2点モードボタン131が操作
されると、2点間の直線距離を求めるために、ステップ
604で始点と終点の2点の入力が在るか否かを判断
し、入力されていなければステップ605で入力の受付
を待つ。このモードにおける点の入力は使用者がビュー
ワーに表示されている立体モデル表面上の一点をクリッ
クするか、キャンバスに表示されている輪郭線上の一点
をクリックすることにより行われる。
(3-4-1) Two-Point Input Mode Processing When the two-point mode button 131 is operated from the selection panel 130, in step 604, the two points of the start point and the end point are determined in order to obtain the linear distance between the two points. It is determined whether or not a point has been input. If not, the process waits for an input in step 605. In this mode, the user inputs a point by clicking a point on the surface of the three-dimensional model displayed on the viewer or by clicking on a point on the contour displayed on the canvas.

【0053】2点の入力を受け付けるとメインルーチン
へ移行し、再びステップ604へ戻る。ここでは2点の
入力がされているので、ステップ606で当該2点の座
標値から2点間の距離が算出され、ステップ607でメ
ジャーリング処理操作パネル70の距離情報表示部83
に、算出した値が表示される。 (3−4−2)3点入力モード処理 選択用パネル130より3点モードボタン132が操作
されると、ステップ608より立体モデル表面の一平面
上の経路長を求める3点入力モードへ移行する。ここで
は、まず3点の入力を判断し、入力されていなければ立
体モデルの3点の入力を待つ。3点モードにおける点の
入力は、使用者がキャンバスに表示されている断面の輪
郭線上の始点と終点と通過点をクリックするか、ビュー
ワーに表示されている立体モデル表面の始点と終点と通
過点をクリックすることにより行う。
When the input of two points is received, the process shifts to the main routine, and returns to step 604 again. Here, since two points have been input, the distance between the two points is calculated from the coordinate values of the two points in step 606, and the distance information display section 83 of the measuring processing operation panel 70 is calculated in step 607.
Displays the calculated value. (3-4-2) Three-Point Input Mode Processing When the three-point mode button 132 is operated from the selection panel 130, the process shifts to a three-point input mode for obtaining the path length on one plane of the three-dimensional model surface from step 608. . Here, three inputs are determined first, and if not, the input of three points of the three-dimensional model is waited. In the three-point mode, the user can click the start point, end point, and passing point on the contour line of the cross section displayed on the canvas, or start, end, and passing points on the surface of the three-dimensional model displayed in the viewer. This is done by clicking.

【0054】以下に、この3点の入力について具体的に
説明する。まず、キャンバスに表示されている断面の輪
郭線から入力する場合は、使用者はキャンバスに表示さ
れている断面の輪郭線上から始点と終点となる2点をク
リックする。例えば、図23(a)に示すような断面4
0がキャンバスに表示されているとすると、使用者は断
面の輪郭線上の点41、点42をクリックすることで始
点と終点を入力する。始点と終点が入力されると、この
2点を始点・終点とする経路は経路44aと経路44b
の2つとなる。そこで、使用者は最後にこのいずれかの
経路を選択すべく、通過点として点43をクリックす
る。なお、通過点の代わりに経路の存在する側のエリア
をクリックする等の方法で経路を選択するようにしても
よい。
The input of these three points will be specifically described below. First, when inputting from the outline of the cross section displayed on the canvas, the user clicks two points that are the start point and the end point on the outline of the cross section displayed on the canvas. For example, a cross section 4 as shown in FIG.
Assuming that 0 is displayed on the canvas, the user inputs a start point and an end point by clicking points 41 and 42 on the outline of the cross section. When the start point and the end point are input, the path with the two points as the start point and the end point is a path 44a and a path 44b.
It becomes two. Therefore, the user finally clicks the point 43 as a passing point to select any one of these routes. Note that the route may be selected by a method such as clicking the area on the side where the route exists instead of the passing point.

【0055】次に、ビューワーに表示されている立体モ
デルの3点を入力する場合は、使用者はビューワーに表
示されている立体モデルの表面上を始点終点通過点の順
で、3点クリックする。例えば、図24(a)に示すよ
うな立体モデル32に対しては、図24(b)に示すよ
うに始点として点51、終点として点52、通過点とし
て点53を入力する。キャンバスからの入力とビューワ
ーからの入力の区別は、最初の点の入力を使用者がキャ
ンバス上から行ったか、ビューワー上から行ったかによ
り行う。
Next, when inputting three points of the three-dimensional model displayed in the viewer, the user clicks three points on the surface of the three-dimensional model displayed in the viewer in the order of the start point and the end point. . For example, for a three-dimensional model 32 as shown in FIG. 24A, a point 51 is input as a start point, a point 52 as an end point, and a point 53 as a pass point as shown in FIG. The input from the canvas and the input from the viewer are distinguished depending on whether the user has input the first point from the canvas or the viewer.

【0056】3点の入力の受け付けが終わると、メイン
ルーチンに戻った後再び、ステップ609へ戻る。ここ
では3点の入力がされているので次の処理へ移行する。
ステップ611からステップ613までは3点を通る断
面を求める処理であるが、キャンバスから3点を入力し
た場合は、断面はすでに求まっているのでこれらのステ
ップでの処理は求まっている値をそのまま使用する。
When the input of three points is completed, the process returns to the main routine and returns to step 609 again. In this case, since three points have been input, the processing shifts to the next processing.
Steps 611 to 613 are processing for obtaining a cross section passing through three points. However, when three points are input from the canvas, since the cross section has already been obtained, the processing in these steps uses the obtained values as they are. I do.

【0057】ビューワーの立体モデルから3点が入力さ
れた場合はステップ611で、当該3点を通る基準平面
の方向と位置を計算する。図24(b)のように3点が
指定された場合は、図24(c)のように、まず、始点
である点51と終点である点52を結ぶ直線を基準物体
のX軸とし、両点の中点を原点、当該X軸と通過点であ
る点53を通る平面をXY平面として基準平面の方向と
位置を定める。
When three points are input from the viewer's three-dimensional model, in step 611, the direction and position of a reference plane passing through the three points are calculated. When three points are designated as shown in FIG. 24B, first, as shown in FIG. 24C, a straight line connecting the point 51 which is the start point and the point 52 which is the end point is set as the X axis of the reference object. The direction and position of the reference plane are determined by setting the middle point between the two points as the origin and the plane passing through the X axis and the point 53 as the passing point as the XY plane.

【0058】次に、ステップ612により求められた方
向と位置に応じて基準平面をビューワー上に表示する。
それから、ステップ613により基準平面による立体モ
デルの切断面を計算する。切断面の計算の方法は切断処
理の場合と同様である。なお、切断面が求まると図24
(d)に示すようにキャンバス上に表示される。以上の
処理が終わるとキャンバスによる3点入力、ビューワー
による3点入力を問わずステップ614により経路長の
計算がなされる。経路長の計算は、開始点から通過点を
経て終了点に至るまでの線分長を積算することにより簡
易になされる。図25のフローチャートを参照しながら
経路長測定処理について説明する。本フローチャートに
おいて『経路長Len』とは開始、終了点、通過点からな
る経路の長さを格納するための変数である。本フローチ
ャートに処理が移行すると、プロセッサ10はステップ
651において経路長Lenに0を代入することによりこ
れを初期化する。
Next, a reference plane is displayed on the viewer in accordance with the direction and position obtained in step 612.
Then, in step 613, the cut surface of the three-dimensional model by the reference plane is calculated. The method of calculating the cut surface is the same as that of the cutting process. When the cut surface is determined, FIG.
It is displayed on the canvas as shown in (d). When the above processing is completed, the path length is calculated in step 614 regardless of the three-point input by the canvas or the three-point input by the viewer. The calculation of the path length is easily performed by integrating the line segment length from the start point to the end point through the passing point. The path length measurement processing will be described with reference to the flowchart in FIG. In this flowchart, the “path length Len” is a variable for storing the length of a path including a start point, an end point, and a passing point. When the process proceeds to the flowchart, the processor 10 initializes the path length Len in step 651 by substituting 0 for the path length Len.

【0059】プロセッサ10は続いてステップ652に
おいて開始点・終了点・通過点を含む線分列を求める。そ
れからステップ653に移行し、ステップ654の処理
を開始点から終了点まで繰り返すよう制御する。ステッ
プ653においてプロセッサ10はではその組み合わせ
間の距離を算出し、経路長Lenに加算する。この処理を
開始点から終了点までの全ての交点について繰り返す
と、指示された3点を通る経路長が得られることにな
る。
Subsequently, in step 652, the processor 10 obtains a line segment sequence including a start point, an end point, and a passing point. Then, control is passed to step 653, and control is performed so that the process of step 654 is repeated from the start point to the end point. In step 653, the processor 10 calculates the distance between the combinations and adds it to the path length Len. When this process is repeated for all the intersections from the start point to the end point, a path length passing through the three designated points is obtained.

【0060】経路長が計算されると、ステップ615に
移行して、指定された経路を通常の断面を形成する線と
よりも太くかつ異なる色で表示する(図23(c)、図
24(d)参照)。最後に、メジャーリング処理操作パ
ネル70の距離情報表示部83に、ステップ614で算
出した値が表示される。 (3−4−3)N点入力モード処理 N点入力モードでは立体モデル表面の一平面上にない経
路長を求める処理を行う。一平面上にない経路の指定手
段として、物体表面上をマウスドラッグすることも考え
られるが、使用者にとって二次元画面上で立体モデル表
面上の経路を正確にドラッグすることは困難であるの
で、ここでは立体モデル上の複数の点により経路を指定
する。使用者が指定するのは始点、終点、複数の通過点
よりなるN点である。
When the path length is calculated, the process proceeds to step 615, where the specified path is displayed in a color thicker and different from the line forming the normal cross section (FIGS. 23 (c) and 24 ( d)). Finally, the value calculated in step 614 is displayed on the distance information display section 83 of the measuring processing operation panel 70. (3-4-3) N-Point Input Mode Processing In the N-point input mode, processing is performed to obtain a path length that is not on one plane of the surface of the solid model. As a means for specifying a route that is not on one plane, dragging the mouse on the surface of the object may be considered, but it is difficult for the user to accurately drag the route on the surface of the three-dimensional model on the two-dimensional screen. Here, a route is specified by a plurality of points on the three-dimensional model. The user specifies N points including a start point, an end point, and a plurality of passing points.

【0061】立体モデル上のN点は通常は一平面上には
存在しない。そのため、当該N点を通る経路は無数に存
在し特定することは困難である。そこで、ここでは、N
点から3点ずつを抽出して、得られる3点ごとに前記3
点入力モードで用いた方法により3点を通る経路長を算
出して、この結果を用いてN点を通る経路長を近似的に
求めることとしている。
The N point on the three-dimensional model usually does not exist on one plane. Therefore, there are countless paths passing through the N points, and it is difficult to specify the paths. Therefore, here, N
3 points are extracted from the points, and the obtained 3 points are
The path length passing through three points is calculated by the method used in the point input mode, and the path length passing through N points is approximately obtained using the result.

【0062】図26を用いて具体的に説明する。例え
ば、図26(a)のように立体モデル32上に4つの点
P1、P2、P3、P4(P1が始点、P4が終点、P2、P3
が通過点とする)が指定されたとする。ここで、点P
1、P2、P3、の3点を用いて、当該3点を通る平面か
ら経路を求めると図26(b)に示すような点P1、P
2、P3を通る経路が得られる。ここで、この経路のP
1、P2間の距離をLa12、P2、P3間の距離をLa23とす
る。
A specific description will be made with reference to FIG. For example, as shown in FIG. 26A, four points P1, P2, P3, P4 (P1 is a start point, P4 is an end point, P2, P3
Is a passing point). Where point P
Using three points of P1, P2, and P3 to determine a route from a plane passing through the three points, points P1 and P3 shown in FIG.
2. A path through P3 is obtained. Where P
1, the distance between P2 is La12, and the distance between P2 and P3 is La23.

【0063】次に、点P2、P3、P4の3点を用いて、
当該3点を通る平面から経路を求めると図26(c)に
示すような点P2、P3、P4を通る経路が得られる。こ
こで、この経路のP2、P3間の距離をLb23、P3、P4間
の距離をLb34とする。なお、La12、La23、Lb23、L
b34の経路長は3点入力モードと同様の方法により求め
ることができる。
Next, using the three points P2, P3 and P4,
When a path is obtained from a plane passing through the three points, a path passing through points P2, P3, and P4 as shown in FIG. 26C is obtained. Here, the distance between P2 and P3 of this route is Lb23, and the distance between P3 and P4 is Lb34. Note that La12, La23, Lb23, L
The path length of b34 can be obtained by the same method as in the three-point input mode.

【0064】このようにした場合、点P2、P3を通る経
路は、長さLa23の経路と、長さLb23の経路の2通りが
存在することになる。そこで、ここでは求める経路が2
つの経路の中間付近にあるものと考えて、La23、Lb23
の平均を点P2、P3を通る経路の長さとする。即ち、4
点P1、P2、P3、P4を通る経路の長さはLa12+((L
a23+Lb23)/2)+Lb34であらわすことができる。
In this case, there are two paths passing through the points P2 and P3, a path having a length La23 and a path having a length Lb23. Therefore, here, the route to be sought is 2
La23, Lb23
Is the length of the path passing through the points P2 and P3. That is, 4
The length of the path passing through the points P1, P2, P3, and P4 is La12 + ((L
a23 + Lb23) / 2) + Lb34.

【0065】これをさらに一般化して、立体モデル表面
上にP1、P2、・・・PNのN点の指定による経路長をP
ath(P1,P2,・・・PN )を求めるとする。連続する
3点Pi、Pi+1、Pi+2を始点、通過点、終点としてこ
れを通る平面から求められる経路長について、始点と通
過点間の経路長をL(Pi,Pi+1,Pi+2,”former”)と
表し、通過点と終点間の経路長をL(Pi,Pi+1,Pi+
2,”latter”)と表すものとする。
By further generalizing this, the path length by designating N points of P1, P2,.
Let ath (P1, P2,... PN) be obtained. The path length between the starting point and the passing point is represented by L (Pi, Pi + 1, Pi) for the path length obtained from a plane passing through three consecutive points Pi, Pi + 1, and Pi + 2 as the starting point, the passing point, and the ending point. +2, "former"), and the path length between the passing point and the end point is L (Pi, Pi + 1, Pi +
2, "latter").

【0066】経路全体の始点P1と次の点P2との距
離、及び、経路全体の終点の一つ手前の点PN-1と終点
PNとの距離は一義的に定まる。これ以外の各点間Pi、
Pi+1(i=2、3、・・・N−2)の経路長はL(P
i,Pi+1,Pi+2,”former”)とL(Pi+1,Pi+2,Pi+
3,”latter”)との平均をとる。これにより、経路長Pa
th(P1,P2,・・・PN )は
The distance between the start point P1 of the entire route and the next point P2 and the distance between the end point PN and the point PN-1 just before the end point of the entire route are uniquely determined. Other points Pi between points,
The path length of Pi + 1 (i = 2, 3,..., N-2) is L (P
i, Pi + 1, Pi + 2, “former”) and L (Pi + 1, Pi + 2, Pi +
3, “latter”). As a result, the path length Pa
th (P1, P2, ... PN) is

【0067】[0067]

【数1】 (Equation 1)

【0068】と表すことができる。次に、実際にどのよ
うな動作によりN点を通過する経路長を行うかを説明す
る。上記処理を行うN点入力モードへは、選択用パネル
130よりN点モードボタン133が操作されることに
より、図21のステップ608を介して移行する。最初
にステップ618においてN点の入力がなされたか否か
が判断される。ここで、N点の入力がされていなければ
ステップ619へ移行しN点の入力を待つ。
Can be expressed as Next, a description will be given of what operation is performed to actually perform the path length passing through the N point. When the N-point mode button 133 is operated on the selection panel 130 to enter the N-point input mode for performing the above-described processing, the processing shifts to Step N608 in FIG. First, at step 618, it is determined whether or not N points have been input. If the N point has not been input, the flow shifts to step 619 to wait for the N point input.

【0069】点の入力は使用者がビューワーにおいて立
体モデル表面をクリックすることで行う。使用者が立体
モデル表面上に1点目をクリックすると、図27(a)
に示すような次の点の指定を促すポップアップメニュー
150aが表示される。続いて、使用者が2点目、3点
目を指定するとやはり、図27(a)に示すポップアッ
プメニュー150aが表示される。
The input of points is performed by the user clicking on the surface of the solid model in the viewer. When the user clicks the first point on the surface of the three-dimensional model, FIG.
A pop-up menu 150a for prompting the user to specify the next point as shown in FIG. Subsequently, when the user designates the second point and the third point, the pop-up menu 150a shown in FIG. 27A is displayed.

【0070】ところでN点入力モードにおいては4点以
上ならば制限無く点を指定することができるので、使用
者が最終的に全ての点を入力したことを指示する必要が
ある。そこで、4点目を入力した後は、点を入力するご
とに図27(b)に示すような、N点入力の終了か、さ
らに点の入力を行うかを問うポップアップメニュー15
0bが表示される。ここで、使用者は所望のN点の入力
が終了した場合はフィニッシュボタン151をクリック
し、まだ、入力を続ける場合はコンティニューボタン1
52をクリックすればよい。使用者がフィニッシュボタ
ン151をクリックするとN点の入力が終了し、ビュー
ワー座標系の各点の座標値が入力されることになる。
By the way, in the N-point input mode, if there are four or more points, points can be specified without limitation, and it is necessary to indicate that the user has finally input all points. Therefore, after inputting the fourth point, each time a point is input, a pop-up menu 15 asking whether to end N-point input or to input another point as shown in FIG.
0b is displayed. Here, the user clicks the finish button 151 when the input of the desired N points is completed, and clicks the continue button 1 when the input is still continued.
Click 52. When the user clicks the finish button 151, the input of the N points is completed, and the coordinate values of each point in the viewer coordinate system are input.

【0071】N点の入力受付が終わると、メインルーチ
ンから再びステップ618に戻り、今度はステップ62
0へ移行する。ステップ620ではプロセッサ10は経
路の分割を行う。具体的には、入力されたN点から連続
する3点の組を1点ずつずらしながら抽出していく。続
いて、ステップ621により抽出した3点の一組につい
て断面を計算し、ステップ622により経路長を計算す
る。この処理は3点を通る基準平面を求めた後に当該基
準平面による切断面を導き、これから各点間の経路長を
求める処理であって、3点入力モード処理で行った計算
方法と同様の計算を行えば足りる。
When the input of the N points has been accepted, the process returns from the main routine to step 618 again.
Move to 0. At step 620, the processor 10 divides the path. Specifically, a set of three consecutive points from the input N points is extracted while shifting one point at a time. Subsequently, a cross section is calculated for a set of three points extracted in step 621, and a path length is calculated in step 622. In this process, a reference plane passing through three points is obtained, a cut plane is derived from the reference plane, and a path length between the points is obtained from the cut plane. The same calculation as the calculation method performed in the three-point input mode process is performed. Is sufficient.

【0072】以上のステップ621、622の処理を全
ての3点の組について行った後に、ステップ624で上
記式により全経路長を計算する。それから、ステップ
625でN点入力の経路を表示する。ここでは、表示さ
れる経路は各N点を直線で結んだ線分を表示するものと
する。もっとも、N点を滑らかに繋ぐ曲線を算出してこ
れを表示する等種々の表示が可能であることはいうまで
もない。
After performing the above processing of steps 621 and 622 for all sets of three points, the total path length is calculated by the above equation in step 624. Then, in step 625, a path for inputting N points is displayed. Here, it is assumed that the displayed route displays a line segment connecting each of the N points with a straight line. Needless to say, various displays are possible, such as calculating a curve connecting the N points smoothly and displaying the calculated curve.

【0073】最後に、ステップ626においてプロセッ
サ10は、ステップ624で計算された経路長をメジャ
ーリング処理操作パネル70の距離情報表示部83に表
示してN点入力モード処理を終了する。以上のようにN
点入力処理では、立体モデル表面上の任意の経路長を算
出することができる。なお、ここでは、経路長が2つ算
出された2点間の距離を2つ経路長を算出することによ
り求めたが、2つの経路の重なり部分として、それぞれ
の曲線の2点間での距離を重みとして線形補完して曲線
を求める等により経路長を算出する等種々の方法が採用
できる。また、ここでは、N点の内、連続する3点を1
点ずつずらしながら組分けすることで3点を抽出した
が、3点の内の2点を他の組を共有するように組分けす
れば足りるので、例えば点Pa、Pb、Pc、Pdに対し
て、(Pa、Pb、Pd)と(Pa、Pb、Pd)のような組
分けをすることも可能である。
Finally, at step 626, the processor 10 displays the path length calculated at step 624 on the distance information display section 83 of the measuring processing operation panel 70, and ends the N-point input mode processing. As described above, N
In the point input processing, an arbitrary path length on the surface of the three-dimensional model can be calculated. Note that, here, the distance between two points whose two path lengths were calculated was obtained by calculating the two path lengths. However, the distance between the two points of each curve was defined as the overlapping portion of the two paths. Various methods can be employed, such as calculating a path length by linearly complementing with a weight and obtaining a curve. Here, three consecutive points out of N points are 1
Three points were extracted by grouping while shifting each point. However, it is sufficient if two of the three points are grouped so as to share another group. For example, for points Pa, Pb, Pc, and Pd, Therefore, it is also possible to make a grouping such as (Pa, Pb, Pd) and (Pa, Pb, Pd).

【0074】(3−5)曲面モード処理 曲面モード処理では、使用者が指定する立体モデル表面
の点や面につき微分値や曲率等の特徴量を求めこの特徴
量を数値及び画像として表示する。また、特徴量を算出
するに際して、立体モデルの凹凸のレベル、即ち立体モ
デルの凹凸の空間周波数を設定し調整することも合わせ
て行う。この曲面モード処理は図9のメジャーリング処
理のフローチャートにおいてメジャーリング処理操作パ
ネル70の曲面モード起動ボタン73がクリックされた
場合にステップ35を介して移行する。図28に曲面モ
ード処理のフローチャートを示す。以下、このフローチ
ャートに従って曲面モード処理を空間周波数の調整処理
と特徴量の算出処理に分けて説明する。
(3-5) Surface Mode Processing In the surface mode processing, characteristic values such as differential values and curvatures are obtained for points and surfaces on the surface of the three-dimensional model designated by the user, and these characteristic values are displayed as numerical values and images. In calculating the feature amount, the level of the unevenness of the three-dimensional model, that is, the spatial frequency of the unevenness of the three-dimensional model is set and adjusted. This curved surface mode process shifts via step 35 when the curved surface mode start button 73 of the measuring process operation panel 70 is clicked in the flowchart of the measuring process of FIG. FIG. 28 shows a flowchart of the curved surface mode processing. Hereinafter, the curved surface mode processing will be described separately according to this flowchart into spatial frequency adjustment processing and feature quantity calculation processing.

【0075】(3−5−1)空間周波数の調整 空間周波数の調整は、測定対象を測定する時に生じる高
周波ノイズを取り除いたり、サンプリング点間距離の不
均一さを緩和したり、使用者が立体モデルから巨視的又
は微視的に特徴量を得たい場合等を考慮して空間周波数
の調整を行うものである。なお、ここでいう空間周波数
とは、単位長さ当たりの物理的な凹凸の周期をいうもの
とし、空間周波数の調整とはどの程度の凹凸を対象とし
て特徴量を定めるかを指定することをいう。見方を変え
ると空間周波数の逆数は一つは凹凸の1周期の距離を表
すので、1つの凸部または凹部を形成するものとしてみ
なす範囲を調整しているともいえる。
(3-5-1) Adjustment of Spatial Frequency Adjustment of the spatial frequency removes high-frequency noise generated when measuring an object to be measured, alleviates unevenness in the distance between sampling points, and allows the user to adjust the spatial frequency. The spatial frequency is adjusted in consideration of, for example, a case where it is desired to obtain a feature amount macroscopically or microscopically from the model. Note that the spatial frequency here refers to the period of the physical unevenness per unit length, and the adjustment of the spatial frequency refers to specifying how much unevenness is to determine the feature amount. . From a different point of view, one reciprocal of the spatial frequency represents the distance of one period of the unevenness, so that it can be said that the range in which one convex portion or one concave portion is formed is adjusted.

【0076】具体的に説明すると、空間周波数の指定、
即ち距離の指定により、例えば図29(a)に示す空間
周波数の逆数で規定される距離dを直径とする円筒Cで
表される範囲と立体モデルXとの交線内の立体モデル表
面部分Sxa部分を、図29(b)に示すように平滑化し
た曲面Sxbと見なして当該立体モデル表面Sxaの特徴量
を算出するようにする。なお、実際の計算においては範
囲と立体モデル表面との交線を求める必要はなく、交線
上の数点が在れば足りる。
More specifically, designation of a spatial frequency,
That is, by specifying the distance, for example, the three-dimensional model surface portion Sxa in the intersection of the three-dimensional model X and the range represented by the cylinder C having a diameter of the distance d defined by the reciprocal of the spatial frequency shown in FIG. The part is regarded as a smoothed surface Sxb as shown in FIG. 29B, and the feature amount of the three-dimensional model surface Sxa is calculated. In the actual calculation, it is not necessary to find the line of intersection between the range and the surface of the three-dimensional model, and it is sufficient if there are several points on the line of intersection.

【0077】図28のフローチャートにおいて、後述す
る曲面モード処理用パネルが未表示の場合はステップ7
02側へ移行し空間周波数の調整が行われる。通常は曲
面モードが起動した直後は曲面モード処理用パネルは未
表示であるのでステップ702へ進む。ステップ702
では空間周波数の基準値が計算される。これは立体モデ
ルを構成する点同士の距離の平均に応じて、特徴量算出
のための適当な空間周波数を定めるものである。空間周
波数の基準値の算出は立体モデルの頂点群の分布密度を
元に求める。図30に空間周波数の基準値を算出する処
理を表すフローチャートを示す。空間周波数の基準値の
算出は、まず、ステップ802で立体モデルの頂点の逆
数の平均値avr(1/Lside)を求める。これは、頂点
間を1周期とした空間周波数の平均値である。次にステ
ップ803で、求めた平均値にavr(1/Lside)に補
正値Vfragを積算することで空間周波数の基準値を算出
する。なお、Vfragは実験又は経験的に得られる値であ
って、ここではVfrag=0.25を用いる。なお、空間
周波数の基準値は頂点群の分布密度から求める場合に限
られず、例えば、立体モデル表面の空間周波数の内、最
も帯域が多いものを選択する等の方法により定めること
もできる。
In the flowchart of FIG. 28, if a curved surface mode processing panel described later is not displayed, step 7 is executed.
Moving to the 02 side, the spatial frequency is adjusted. Normally, immediately after the curved surface mode is activated, the curved surface mode processing panel is not displayed, and the process proceeds to step 702. Step 702
In, the reference value of the spatial frequency is calculated. This is to determine an appropriate spatial frequency for calculating the feature amount according to the average of the distance between the points constituting the three-dimensional model. The reference value of the spatial frequency is calculated based on the distribution density of the vertices of the three-dimensional model. FIG. 30 is a flowchart showing a process for calculating the reference value of the spatial frequency. In calculating the reference value of the spatial frequency, first, in step 802, the average value avr (1 / Lside) of the reciprocal of the vertex of the three-dimensional model is obtained. This is the average value of the spatial frequency with one cycle between vertices. Next, at step 803, the reference value of the spatial frequency is calculated by multiplying the obtained average value by the correction value Vfrag to avr (1 / Lside). Vfrag is a value obtained experimentally or empirically. Here, Vfrag = 0.25 is used. Note that the reference value of the spatial frequency is not limited to the case where the reference value is obtained from the distribution density of the vertex group. For example, the reference value of the spatial frequency on the surface of the three-dimensional model that has the largest band can be selected.

【0078】空間周波数の基準値が求まるとステップ7
03で当該値が所定記憶エリアに記憶され、曲面モード
処理用パネル140が表示される。ステップ704で表
示されるこの曲面モード処理用パネル140を図31に
示す。曲面モード処理用パネル140は、スライダー1
41、空間周波数表示部142、特徴量選択用ボタン1
44、145、146、微分方向選択ボタン147、計
算値表示部148、ポイントモード起動ボタン149、
エリアモード起動ボタン150、マッピングンモード起
動ボタン151、終了ボタン152により構成される。
When the reference value of the spatial frequency is determined, step 7
At 03, the value is stored in the predetermined storage area, and the curved surface mode processing panel 140 is displayed. This curved surface mode processing panel 140 displayed in step 704 is shown in FIG. The curved surface mode processing panel 140 includes the slider 1
41, spatial frequency display section 142, feature selection button 1
44, 145, 146, differential direction selection button 147, calculated value display section 148, point mode start button 149,
It comprises an area mode start button 150, a mapping mode start button 151 and an end button 152.

【0079】スライダー141は、使用者により空間周
波数を調整するためもので、スライド片を左右にマウス
を用いて移動させることで前記算出した空間周波数の基
準値に対して、空間周波数の値を10-3〜103まで倍
率で変化させることができる。空間周波数表示部142
は、スライダーの調整量に応じて得られる空間周波数の
値を表示する。なお、最初は前記ステップ702算出さ
れた空間周波数の基準値が表示されている。
The slider 141 is used by the user to adjust the spatial frequency. The slider 141 is moved left and right by using a mouse so that the value of the spatial frequency is set to 10 with respect to the calculated spatial frequency reference value. It can be changed at a magnification from -3 to 103. Spatial frequency display section 142
Displays the value of the spatial frequency obtained according to the adjustment amount of the slider. At first, the reference value of the spatial frequency calculated in step 702 is displayed.

【0080】特徴量選択用ボタン144、145、14
6は、使用者が算出しようとする特徴量を選択するため
のボタンであり、ここでは特徴量として、特徴量選択用
ボタン144により平均曲率を選択でき、特徴量選択用
ボタン145によりガウス曲率を選択でき、特徴量選択
用ボタン146により微分値を選択することができる。
なお、特徴量として微分値が選択された場合は、微分方
向選択ボタン147により微分の方向を選択するように
なっている。
Buttons 144, 145, 14 for selecting feature values
Reference numeral 6 denotes a button for selecting a feature amount to be calculated by the user. Here, an average curvature can be selected by a feature amount selection button 144, and a Gaussian curvature can be selected by a feature amount selection button 145. The differential value can be selected using the feature amount selection button 146.
When a differential value is selected as a feature value, a differentiation direction is selected by a differentiation direction selection button 147.

【0081】ポイントモード起動ボタン149は、立体
モデル上の一点の特徴量を求めるポイントモードを起動
するためのボタンである。ここで求められた特徴量は計
算値表示部148に表示される。エリアモード起動ボタ
ン150は、立体モデルを一方向から見たときの全ての
点について特徴量を算出し、結果を画像として表示する
エリアモードを起動するためのボタンである。マッピン
グモード起動ボタン151は、立体モデル表面の全ての
点について特徴量を算出し、結果を画像として立体モデ
ルにテクスチャマッピング処理により張り付けるマッピ
ングモードを起動するためのボタンである。終了ボタン
152は曲面モードを終了させるためのボタンである。
The point mode start button 149 is a button for starting a point mode for obtaining a feature amount of one point on the three-dimensional model. The feature amount obtained here is displayed on the calculated value display section 148. The area mode activation button 150 is a button for activating an area mode in which feature amounts are calculated for all points when the three-dimensional model is viewed from one direction, and the result is displayed as an image. The mapping mode activation button 151 is a button for activating a mapping mode in which feature amounts are calculated for all points on the surface of the three-dimensional model, and the result is attached as an image to the three-dimensional model by a texture mapping process. The end button 152 is a button for ending the curved surface mode.

【0082】(3−5−2)特徴量算出処理 曲面モード処理用パネル140が表示されるとメインル
ーチンは移行した後、再びステップ702に戻り、次の
特徴量算出処理へ移行する。特徴量算出処理では曲面モ
ード処理用パネル140の操作内容に応じて、ポイント
モード、エリアモード、マッピングモードによる処理を
行い、また、特徴量として、微分値、平均曲率、ガウス
曲率のいずれかを求める。平均曲率は曲面がどちら側に
膨らんでいるかを表すものである。また、ガウス曲率は
曲面が平面を曲げることによって作れるかどうかを示す
ものであって、平面の曲げの他に面の伸び縮みが必要な
曲面の場合は値が0にならない。特徴量には、測定する
箇所の法線方向に依存するものと、依存しないものが存
在するので特徴量に応じて法線方向で定まる座標系と、
基準平面により規定される座標系を使い分ける。
(3-5-2) Feature Amount Calculation Process When the curved surface mode processing panel 140 is displayed, the main routine shifts to step 702 again, and shifts to the next feature amount calculation process. In the feature amount calculation processing, processing in the point mode, the area mode, and the mapping mode is performed according to the operation content of the surface mode processing panel 140, and any one of a differential value, an average curvature, and a Gaussian curvature is obtained as the feature amount. . The average curvature indicates to which side the curved surface bulges. The Gaussian curvature indicates whether a curved surface can be formed by bending a plane, and the value does not become 0 in the case of a curved surface requiring expansion and contraction in addition to bending of a plane. The feature amount depends on the normal direction of the location to be measured, and there is a feature that does not depend on the coordinate system determined by the normal direction according to the feature amount,
The coordinate system defined by the reference plane is properly used.

【0083】(3−5−2a)微分値の計算 微分値の計算は、測定点の法線方向とは無関係に求める
ことができるので基準平面により定まる座標系を用い
る。この座標系をXLYLZL座標とする。この座標系に
おいて、立体モデル表面の測定点近傍の点の座標は
(x,y,f(x,y))と表せる。ここで、f(x,
y)の値は、点(x,y,f(x,y))の存在するポ
リゴンメッシュを構成する頂点P1、P2、・・・Pnの
各ZL座標を用いて、各頂点から測定点間での距離の逆
数を重みとして補完して求める。具体的には、頂点Pi
のZL座標をZL(Pi)、頂点Piから測定点までの距離
をL(Pi)とすると次式で表すことができる。
(3-5-2a) Calculation of Differential Value Since the differential value can be calculated regardless of the normal direction of the measurement point, a coordinate system determined by a reference plane is used. This coordinate system is defined as XLYLZL coordinates. In this coordinate system, the coordinates of a point near the measurement point on the surface of the three-dimensional model can be expressed as (x, y, f (x, y)). Where f (x,
The value of y) is calculated between each vertex and each measurement point using the ZL coordinates of the vertices P1, P2,... Pn constituting the polygon mesh where the point (x, y, f (x, y)) exists. Is obtained by complementing the reciprocal of the distance in as a weight. Specifically, the vertex Pi
Let ZL (Pi) denote the ZL coordinate of, and L (Pi) denote the distance from the vertex Pi to the measurement point.

【0084】[0084]

【数2】 (Equation 2)

【0085】なお、f(x,y)の値はB-splineや法
線ブレンディングなどの手法による羽ラメトリックな曲
線や曲面で近似して求めてもよい。今、測定点を(x
0,y0,f(x0,y0))とし、空間周波数から得られる区
間長をdとすると、XL軸方向、YL軸方向の微分値はそ
れぞれ次式で表せる。
Note that the value of f (x, y) may be obtained by approximating a feather metric curve or curved surface by a technique such as B-spline or normal blending. Now, let the measurement point be (x
0, y0, f (x0, y0)), and if the section length obtained from the spatial frequency is d, the differential values in the XL-axis direction and the YL-axis direction can be expressed by the following equations, respectively.

【0086】[0086]

【数3】 (Equation 3)

【0087】[0087]

【数4】 (Equation 4)

【0088】空間周波数により特定される区間dとf
(x0,y0)、f(x0-d/2,y0)、f(x0+d/2,y0)
の関係を図32に示す。図32(a)はdの値を狭い値
d1(高い空間周波数値)に設定した場合を示し、図3
2(b)はdの値を広い値d2(低い空間周波数値)に
設定した場合を示す。なお、微分の計算方法はXL軸方
向、YL軸方向とも同じであるので、ここでXL軸方向に
ついてのみ説明する。上記計算式は、測定点(x0,y
0,f(x0,y0))を中心として距離dで規定される範囲
で定まる点(x0-d/2,y0,f(x0-d/2,y0))、(x0
+d/2,y0,f(x0+d/2,y0))のみで算出されるの
で、実質的に図で示される両点に挟まれる曲線をC1も
しくはC2のように平滑化したものと見なして特徴量を
算出していることになる。即ち、区間dを小さくとれば
より微視的な凹凸の範囲で特徴量を算出でき、区間dを
大きくとればより巨視的な凹凸の範囲で特徴量を算出す
ることができる。なお、ここでは曲線(曲面)を平滑化
したものと見なして計算を行うが、区間dにおける曲線
(曲面)を実際に平滑化処理したあとに通常の微分処理
をするようにしてもほぼ同様の結果を得ることができ
る。これは次の曲率の計算においても同様である。
Sections d and f specified by the spatial frequency
(X0, y0), f (x0-d / 2, y0), f (x0 + d / 2, y0)
32 is shown in FIG. FIG. 32A shows a case where the value of d is set to a narrow value d1 (high spatial frequency value).
2 (b) shows a case where the value of d is set to a wide value d2 (low spatial frequency value). Note that the method of calculating the derivative is the same in the XL-axis direction and the YL-axis direction. Therefore, only the XL-axis direction will be described here. The above formula is used to calculate the measurement point (x0, y
(X0-d / 2, y0, f (x0-d / 2, y0)), (x0-d / 2, y0), (x0-f / 2)
+ d / 2, y0, f (x0 + d / 2, y0)), so that the curve substantially sandwiched between the two points shown in the figure is smoothed as C1 or C2. This means that the feature amount has been calculated. That is, if the section d is small, the feature amount can be calculated in a more microscopic unevenness range, and if the section d is large, the feature amount can be calculated in a more macroscopic unevenness range. In this case, the calculation is performed assuming that the curve (curved surface) is smoothed. However, even if the normal differentiation processing is performed after the curve (curved surface) in the section d is actually smoothed, almost the same operation is performed. The result can be obtained. This is the same in the following calculation of the curvature.

【0089】(3−5−2b)曲率の計算 曲率は測定点の法線方向に依存するので、測定点の法線
により定まるローカルなXLYLZL座標系を用いて計算
を行う。具体的には図33に示すように立体モデルの測
定点を原点とし、当該測定点における法線と逆方向にZ
L軸をもつ座標系を用いる。なお、XL軸、YL軸はその
都度適当に設定する。また、この座標系においても立体
モデル表面の測定点近傍の点の座標は(x,y,f
(x,y))と表せ、f(x,y)も上記方法で得るこ
とができる。
(3-5-2b) Calculation of curvature Since the curvature depends on the normal direction of the measurement point, the calculation is performed using a local XLYLZL coordinate system determined by the normal line of the measurement point. Specifically, as shown in FIG. 33, the measurement point of the three-dimensional model is set as the origin, and Z is set in the direction opposite to the normal at the measurement point.
Use a coordinate system with an L axis. The XL axis and the YL axis are appropriately set each time. Also in this coordinate system, the coordinates of a point near the measurement point on the surface of the three-dimensional model are (x, y, f).
(X, y)), and f (x, y) can also be obtained by the above method.

【0090】ここで算出する平均曲率κm、ガウス曲率
κgは次式で表すことができる。
The calculated average curvature κm and Gaussian curvature κg can be expressed by the following equations.

【0091】[0091]

【数5】 (Equation 5)

【0092】[0092]

【数6】 (Equation 6)

【0093】いま、測定点のXL座標、YL座標を、XL
=x0、YL=y0とすると、上式における∂2f/∂
2、∂2f/∂y2、∂2f/(∂x∂y)の値は、空間
周波数から得られる区間長d(空間周波数の逆数)を用
いて、次式により近似できる。
Now, the XL and YL coordinates of the measurement point are represented by XL
= X0, YL = y0, then ∂ 2 f / ∂
x 2, ∂ 2 f / ∂y 2, the value of ∂ 2 f / (∂x∂y), using the section obtained from the spatial frequency length d (the reciprocal of the spatial frequency) can be approximated by the following equation.

【0094】[0094]

【数7】 (Equation 7)

【0095】[0095]

【数8】 (Equation 8)

【0096】[0096]

【数9】 (Equation 9)

【0097】以上の式を用いることで、平均曲率、ガウ
ス曲率を立体モデルの頂点データから求めることができ
る。なお、これらの式においても、例えばx軸方向に
は、図32に示すのと同じ区間dとf(x0,y0)、f
(x0-d/2,y0)、f(x0+d/2,y0)の関係を持ち、両
点間に挟まれる立体モデル表面を曲線C1(C2)に平滑
化したものと見なして特徴量を算出しているものという
ことができる。但し、曲率の算出においてはローカルな
座標を用いるのでx0=0、y0=0である。
By using the above equations, the average curvature and the Gaussian curvature can be obtained from the vertex data of the three-dimensional model. In these expressions, for example, in the x-axis direction, the same sections d and f (x0, y0), f as shown in FIG.
(X0−d / 2, y0), f (x0 + d / 2, y0), and the feature amount is regarded as that the surface of the solid model sandwiched between the two points is smoothed into a curve C1 (C2). Is calculated. However, since local coordinates are used in the calculation of curvature, x0 = 0 and y0 = 0.

【0098】(3−5−3)ポイントモード処理 図31に示す曲面モード処理用パネル140のポイント
モード起動ボタン149が操作されると図28の曲面モ
ードのフローチャートにおいて、ステップ705を介し
てポイントモード処理へ移行する。ポイントモードで
は、まず、ステップ706で使用者によるビューワーで
の立体モデル表面の測定点の指定を待つ。測定点が指定
されるとステップ707で現在の空間周波数、即ち、曲
面モード処理用パネル140の空間周波数表示部142
に表示されている空間周波数の値を取り込む。
(3-5-3) Point Mode Processing When the point mode start button 149 of the curved surface mode processing panel 140 shown in FIG. 31 is operated, the point mode is set via the step 705 in the curved surface mode flowchart of FIG. Move on to processing. In the point mode, first, in step 706, the user waits for designation of a measurement point on the surface of the three-dimensional model in the viewer. When the measurement point is designated, the current spatial frequency, that is, the spatial frequency display section 142 of the curved surface mode processing panel 140 is determined in step 707.
Capture the value of the spatial frequency displayed in.

【0099】次に、ステップ710で曲面の特徴量が算
出される。曲面の特徴量を計算する処理を図34のフロ
ーチャートに示す。特徴量の計算は曲面モード処理用パ
ネル140の特徴量選択ボタンによって選択される微
分、平均曲率、ガウス曲率の別に応じて処理を変える。
まず、プロセッサ10は選択されている特徴量が曲率か
否かを判断する。ここで、曲率が選択されていなければ
微分が選択されているので、ステップ909へ移行し、
基準平面の座標系を特徴量を求める座標系として設定す
る。そしてステップ910で、曲面モード処理用パネル
140の微分方向選択ボタン147で設定されている方
向に従って、式を用いて測定点の微分値を計算す
る。
Next, in step 710, the characteristic amount of the curved surface is calculated. FIG. 34 is a flowchart illustrating a process of calculating the feature amount of a curved surface. The calculation of the feature amount is changed depending on the differentiation, average curvature, and Gaussian curvature selected by the feature amount selection button on the surface mode processing panel 140.
First, the processor 10 determines whether or not the selected feature amount is a curvature. If the curvature has not been selected, the differentiation has been selected.
The coordinate system of the reference plane is set as the coordinate system for obtaining the feature amount. In step 910, the differential value of the measurement point is calculated using an equation according to the direction set by the differential direction selection button 147 of the curved surface mode processing panel 140.

【0100】一方、ステップ901で曲率が選択されて
いる場合は、まず、ステップ902で測定点における法
線ベクトルを求め、ステップ903で求めた法線ベクト
ルから図33に示すようなXL YL ZL 座標系を設定す
る。次に、ステップ906で求める曲率は平均曲率か否
かが判断される。ここで平均曲率である場合は、ステッ
プ907において式、、、を用いて、測定点に
おける平均曲率κmを求める。一方、平均曲率でない場
合はガウス曲率が選択されているので、ステップ908
において式、、、を用いて、測定点におけるガ
ウス曲率κgを求める。
On the other hand, if the curvature is selected in step 901, first the normal vector at the measurement point is obtained in step 902, and the XLYL ZL coordinates shown in FIG. 33 are obtained from the normal vector obtained in step 903. Set the system. Next, it is determined whether the curvature determined in step 906 is an average curvature. If it is the average curvature here, the average curvature κm at the measurement point is obtained in step 907 by using the formulas,. On the other hand, if it is not the average curvature, the Gaussian curvature has been selected, so that step 908 is executed.
Is used to determine the Gaussian curvature κg at the measurement point.

【0101】上記ようにして曲面の特徴量計算処理が終
わると、ステップ711で曲面モード処理用パネル14
0の計算値表示部148に算出された特徴量を表示して
ポイントモード処理を終了する。 (3−5−4)エリアモード処理 エリアモード処理では基準平面へ立体モデルを投影した
場合に投影される各点の立体モデルにおける特徴量を画
像として表すものである。具体的には、図35(a)に
示すようにキャンバスの画素の位置に対応する基準平面
Hの座標点p、p、pからZ軸方向へ立体モデルXに投
射して得られる立体モデル上の各点(図中の二点鎖線よ
り左側の面上の点)に対し特徴量を算出し、当該特徴量
に応じてキャンバスの対応する画素の濃度を定めること
によって、特徴量を画像として図35(b)のようにキ
ャンバスに表示するものである。このモードに移行する
際には使用者は基準平面を立体モデルの所望の方向が投
影できるように姿勢を調整し移動させておく必要があ
る。
When the characteristic amount calculation processing of the curved surface is completed as described above, in step 711, the curved surface mode processing panel 14
The calculated feature amount is displayed on the calculated value display unit 148 of 0, and the point mode processing ends. (3-5-4) Area Mode Processing In the area mode processing, when the three-dimensional model is projected on the reference plane, the feature amount of each point projected on the three-dimensional model is represented as an image. More specifically, as shown in FIG. 35 (a), on a three-dimensional model obtained by projecting a coordinate model p from the coordinate points p, p, p on the reference plane H corresponding to the position of the pixel of the canvas in the Z-axis direction. Is calculated for each point (a point on the surface on the left side of the two-dot chain line in the figure), and the density of the corresponding pixel of the canvas is determined in accordance with the calculated feature amount. This is displayed on the canvas as shown in FIG. When shifting to this mode, the user needs to adjust the posture and move the reference plane so that a desired direction of the three-dimensional model can be projected.

【0102】図31に示す曲面モード処理用パネル14
0のエリアモード起動ボタン150が操作されると図2
8の曲面モードのフローチャートにおいて、ステップ7
12を介してエリアモード処理へ移行する。エリアモー
ドでは、まず、ステップ713で現在の空間周波数、即
ち、曲面モード処理用パネル140の空間周波数表示部
142に表示されている空間周波数の値を取り込む。そ
れから、ステップ714で基準平面の姿勢を取り込む。
基準平面の姿勢を取り込むと、ステップ715でこの基
準平面のキャンバスの画素位置に対応する座標点からZ
軸方向へ立体モデルへ投射することで立体モデル上の点
の座標を算出する。なお、ここではキャンバスには48
0×480の画素を配列するように構成してあるものと
する。
The curved surface mode processing panel 14 shown in FIG.
When the area mode start button 150 of “0” is operated, FIG.
Step 7 in the flowchart of the curved surface mode 8
Then, the processing shifts to the area mode processing via the line 12. In the area mode, first, in step 713, the current spatial frequency, that is, the value of the spatial frequency displayed on the spatial frequency display section 142 of the surface mode processing panel 140 is fetched. Then, in step 714, the attitude of the reference plane is captured.
When the posture of the reference plane is captured, in step 715, Z is calculated from the coordinate point corresponding to the pixel position of the canvas on the reference plane.
The coordinates of points on the three-dimensional model are calculated by projecting the three-dimensional model in the axial direction. The canvas is 48
It is assumed that pixels of 0 × 480 are arranged.

【0103】投影点が抽出されると、ステップ716で
抽出された点の1つずつについて曲面の特徴量計算処理
が行われる。この処理は、ポイント処理モードにおいて
説明した図34のフローチャートと同じ処理である。全
ての点に対して特徴量の算出が完了すると、ステップ7
17で各点の特徴量に応じて対応する画素の濃淡を変え
て2次元直交平面上即ちキャンバス平面にマッピングす
る。具体的にはキャンバス平面上の各画素の画素データ
として、対応する点における特徴量の絶対値が大きいほ
ど小さな輝度値を、特徴量の絶対値が小さいほど大きな
輝度値を設定し、さらに、特徴量の値が正の場合は青色
に負の場合は赤色にというふうに正負に応じた色を与え
るRGB値を設定する。マッピングの計算が終わるとス
テップ720でキャンバスにマッピングしたデータを表
示してエリアモードを終了する。
When the projection points are extracted, the feature amount calculation processing of the curved surface is performed for each of the points extracted in step 716. This processing is the same as the processing in the flowchart of FIG. 34 described in the point processing mode. When the calculation of the feature amounts for all points is completed, step 7
At 17, mapping is performed on a two-dimensional orthogonal plane, that is, a canvas plane, by changing the density of the corresponding pixel according to the feature amount of each point. Specifically, as the pixel data of each pixel on the canvas plane, a smaller brightness value is set as the absolute value of the feature value at the corresponding point is larger, and a larger brightness value is set as the absolute value of the feature value is smaller. When the value of the amount is positive, an RGB value that gives a color according to the positive or negative, such as blue when the value is negative and red when the value is negative, is set. When the mapping calculation is completed, the data mapped on the canvas is displayed in step 720, and the area mode ends.

【0104】なお、ここでは、キャンバスの画素位置に
対応する基準平面の座標点から立体モデルへ投射した点
を求め、当該点の特徴量により表される濃淡を対応する
画素に表すようにした。だが、これは立体モデルの各頂
点を基準平面に投影して各頂点の基準平面における対応
点を求め、各頂点の特徴量から各頂点の濃淡を算出し、
当該濃淡を用いて各点に囲まれる部分の濃淡を補完して
求め表示するようにすることもできる。
Here, a point projected on the three-dimensional model is obtained from the coordinate point on the reference plane corresponding to the pixel position on the canvas, and the shading represented by the characteristic amount of the point is represented by the corresponding pixel. However, this involves projecting each vertex of the three-dimensional model on the reference plane, finding the corresponding point on the reference plane of each vertex, calculating the density of each vertex from the feature amount of each vertex,
Using the shades, the shades of the portion surrounded by each point can be complemented and displayed.

【0105】(3−5−5)マッピングモード処理 マッピングモード処理では立体モデル表面上の各点にお
ける特徴量を算出し、当該特徴量に応じた画像を立体モ
デル表面上にテクスチャマッピング処理を行って、当該
画像を立体モデル表面に張り付けるものである。
(3-5-5) Mapping Mode Processing In the mapping mode processing, a feature amount at each point on the surface of the three-dimensional model is calculated, and an image corresponding to the feature amount is subjected to texture mapping on the three-dimensional model surface. The image is attached to the surface of the three-dimensional model.

【0106】テクスチャマッピング処理は、図36に示
すように、テクスチャ空間に設定されるテクスチャ形成
面にAのような立体モデルXに張り付けるテクスチャパ
タンを形成し、テクスチャ空間座標で表されるテクスチ
ャ形成面とテクスチャを張り付ける立体モデル空間の座
標(ビューワー座標)で表される立体モデルX表面との
対応を表すマッピングデータを設定し、これを元に、テ
クスチャ空間から立体モデル空間へ座標変換を行ってZ
のようにテクスチャを立体モデル表面に形成するもので
ある。
In the texture mapping process, as shown in FIG. 36, a texture pattern to be attached to a three-dimensional model X such as A is formed on a texture formation surface set in a texture space, and a texture formation represented by texture space coordinates is performed. Mapping data indicating the correspondence between the surface and the solid model X surface represented by the coordinates (viewer coordinates) of the solid model space to which the texture is attached is set, and based on this, coordinate conversion from the texture space to the solid model space is performed. T
The texture is formed on the surface of the three-dimensional model as shown in FIG.

【0107】ここでは、テクスチャ空間座標として極座
標系を、テクスチャ形成面として球面を用いる。テクス
チャ形成面として球面を用いるのは、ここでは3次元表
面上の全体にテクスチャマッピングをするために2次元
直交座標系における平面は適切でないからである。もっ
とも、適切なマッピングを行うならば2次元直交座標系
における平面もテ クスチャ形成面とすることができ、
その他、円筒上のテクスチャ形成面等種々のテクスチャ
形成面を用いることができる。
Here, a polar coordinate system is used as the texture space coordinates, and a spherical surface is used as the texture forming surface. The spherical surface is used as the texture forming surface because the plane in the two-dimensional rectangular coordinate system is not appropriate here for performing texture mapping on the entire three-dimensional surface. However, if appropriate mapping is performed, the plane in the two-dimensional rectangular coordinate system can also be used as the texture forming surface,
In addition, various texture forming surfaces such as a cylindrical texture forming surface can be used.

【0108】極座標空間の球面と立体モデルとのマッピ
ングデータは次のようにして与えられる。今、図37に
示すようにビューワー座標系の立体モデルXに対して、
テクスチャ形成面である球面Sが取り囲んでいるものと
する。この球面はテクスチャ空間において中心を原点、
半径をrbとしている。また、ビューワー座標系の原点
と極座標の原点は一致するものとし、当該原点は立体モ
デル内部にあるものとする。もし、原点が立体モデル外
にある場合は、立体モデルを平行移動させて、原点が立
体モデル内に位置するようにする。
The mapping data between the spherical surface in the polar coordinate space and the three-dimensional model is given as follows. Now, as shown in FIG. 37, for the three-dimensional model X in the viewer coordinate system,
It is assumed that a spherical surface S, which is a texture forming surface, surrounds the surface. This sphere has its origin at the center in texture space,
The radius is rb. Also, it is assumed that the origin of the viewer coordinate system and the origin of the polar coordinates coincide, and that the origin is inside the three-dimensional model. If the origin is outside the three-dimensional model, the three-dimensional model is translated so that the origin is located within the three-dimensional model.

【0109】マッピングを行うために、まず、座標系を
一致させる必要がある。そこで、まず、ビューワー座標
(x,y,z)を、極座標(r,θ,φ)に変換する。
この変換は次式で与えられる。
In order to perform mapping, it is necessary to first match the coordinate systems. Therefore, first, the viewer coordinates (x, y, z) are converted into polar coordinates (r, θ, φ).
This conversion is given by the following equation.

【0110】[0110]

【数10】 (Equation 10)

【0111】この変換により立体モデルデータの頂点の
座標を極座標に変換する。これからマッピングデータは
次のように与えられる。即ち、図37に示すように原点
Oから立体モデルX上の点Paを通る直線が球面Sと交
わる点Pbを、当該立体モデル上の点Paと対応する点と
してマッピングデータを与える。図37に示すように、
PaとPbはrの値のみ異なり、θ,φの値は一致する。
つまり、立体モデルデータの頂点を極座標に変換したと
きに角度成分θ,φがそのまま球面上の対応点のマッピ
ングデータになる。なお、rbは一定であるので結局は
定める必要は無くなる。
By this conversion, the coordinates of the vertices of the three-dimensional model data are converted to polar coordinates. From now on, the mapping data is given as follows. That is, as shown in FIG. 37, a point Pb at which a straight line passing from the origin O to a point Pa on the three-dimensional model X intersects the spherical surface S is given mapping data as a point corresponding to the point Pa on the three-dimensional model. As shown in FIG.
Pa and Pb differ only in the value of r, and the values of θ and φ match.
That is, when the vertices of the three-dimensional model data are converted into polar coordinates, the angle components θ and φ become mapping data of the corresponding points on the spherical surface as they are. Since rb is constant, there is no need to determine it after all.

【0112】マッピングモード処理の具体的な動作を以
下に説明する。図31に示す曲面モード処理用パネル1
40のマッピングモード起動ボタン151が操作される
と図28の曲面モードのフローチャートにおいて、ステ
ップ721を介してマッピングモード処理へ移行する。
マッピングモードでも、まず、ステップ722で現在の
空間周波数を取り込む。それから、立体モデルの頂点の
1つずつについて曲面の特徴量計算処理が行われる。こ
の処理も、ポイント処理モードにおいて説明した図34
のフローチャートと同じ処理である。全ての処理につい
て特徴量の算出が完了すると、ステップ728でテクス
チャマッピング処理が行われる。
The specific operation of the mapping mode processing will be described below. Panel 1 for curved surface mode processing shown in FIG.
When the mapping mode start button 151 of 40 is operated, the process proceeds to the mapping mode processing via step 721 in the flowchart of the curved surface mode of FIG.
Also in the mapping mode, first, in step 722, the current spatial frequency is fetched. Then, the feature amount calculation processing of the curved surface is performed for each of the vertices of the three-dimensional model. This processing is also performed in FIG. 34 described in the point processing mode.
This is the same process as the flowchart in FIG. When the calculation of the feature amounts is completed for all the processes, the texture mapping process is performed in step 728.

【0113】図38にテクスチャマッピング処理を表す
フローチャートを示す。テクスチャマッピング処理で
は、まず、前述したように立体モデルの頂点のビューワ
ー座標(必要に応じて平行移動しておく)を極座標に変
換する。そして、極座標に変換後の各頂点のθ,φの2
成分で表せる2次元座標位置に当該頂点の特徴量に応じ
て当該頂点位置の輝度値及びRGBデータを設定する。
なお、輝度値及びRGB値の設定の仕方は、エリアモー
ド処理の場合と同様である。また、ステップ1004で
ビューワー座標とと極座標の角度成分間の対応をマッピ
ングデータとして保存しておく。ステップ1002から
1004の処理を全ての頂点について終えると、ステッ
プ1006で頂点以外の面上の画像パタンを頂点に設定
された画像パタンを用いて補完して求める。具体的に
は、ポリゴンメッシュを構成する頂点に囲まれた面上の
点について、各頂点の濃度を距離に応じて重み付けをし
て、平均をとることにより算出する。これにより完全な
テクスチャパタンがテクスチャ形成面にデータとして形
成されることになる。
FIG. 38 is a flowchart showing the texture mapping process. In the texture mapping processing, first, as described above, the viewer coordinates of the vertices of the three-dimensional model (translated as necessary) are converted to polar coordinates. Then, 2 of θ and φ of each vertex after conversion into polar coordinates
The luminance value and RGB data of the vertex position are set at the two-dimensional coordinate position represented by the component according to the feature amount of the vertex.
The way of setting the luminance value and the RGB value is the same as in the case of the area mode processing. In step 1004, the correspondence between the viewer coordinates and the angle components of the polar coordinates is stored as mapping data. When the processing of steps 1002 to 1004 is completed for all vertices, in step 1006, image patterns on surfaces other than the vertices are obtained by complementing using the image patterns set as vertices. Specifically, for a point on a surface surrounded by vertices forming a polygon mesh, the density of each vertex is weighted according to the distance, and the average is calculated. As a result, a complete texture pattern is formed as data on the texture forming surface.

【0114】以上の処理が終わると、マッピングデータ
に基づいてデータとして得られているテクスチャパタン
を立体モデル表面に張り付けビューワーに表示して処理
を終了する。なお、ここでは立体モデルの各頂点とテク
スチャ形成面とをマッピングし、各頂点の特徴量から得
られる濃淡から各頂点に対応する点に囲まれる面のテク
スチャパターンを補完することで求めた。だが、これは
テクスチャ形成面の十分に細かく均等に選んだ座標と立
体モデル表面とをマッピングして対応する立体モデル上
の点を求め、求められた点における特徴量を算出して、
各点に対応するテクスチャ形成面上の点に当該特徴量に
応じた濃淡を形成することでテクスチャパターンを形成
するようにしてもよい。
When the above processing is completed, the texture pattern obtained as data based on the mapping data is pasted on the surface of the three-dimensional model and displayed on the viewer, and the processing is terminated. Here, each vertex of the three-dimensional model is mapped to the texture forming surface, and the texture pattern of the surface surrounded by the point corresponding to each vertex is complemented from the shading obtained from the feature amount of each vertex. However, this maps the coordinates of the texture forming surface that are selected sufficiently finely and evenly and the three-dimensional model surface to obtain a corresponding point on the three-dimensional model, and calculates a feature amount at the obtained point.
A texture pattern may be formed by forming shading corresponding to the feature amount at a point on the texture forming surface corresponding to each point.

【0115】以上のような処理により、曲面モードでは
立体モデル表面の特徴量を空間周波数を調整しながら、
数値して算出し、さらに画像として視覚的に表示するこ
とができる。なお、ここでは図29に示されるように空
間周波数により得られるdの値に規定される円筒上の範
囲と立体モデル表面との交線に囲まれる立体モデル表面
を平滑化した曲面と見なして特徴量を算出したが、この
範囲は円筒ではなくdを半径とする球とすることもでき
る。この場合の図32のXLZL平面に対応する図を図3
9に示す。
By the above-described processing, the characteristic amount of the surface of the three-dimensional model is adjusted in the curved surface mode while adjusting the spatial frequency.
It can be calculated numerically and further visually displayed as an image. Here, as shown in FIG. 29, the solid model surface surrounded by the intersection of the range on the cylinder defined by the value of d obtained by the spatial frequency and the solid model surface is regarded as a smoothed curved surface. Although the quantity has been calculated, this range may be a sphere having a radius of d instead of a cylinder. FIG. 3 is a diagram corresponding to the XLZL plane of FIG. 32 in this case.
It is shown in FIG.

【0116】図39では、測定点を中心として直径をd
とした球(円)と立体モデルとの交点からf(xa,y
0)、f(xb,y0)を求めている。そして、これを用
いて測定点の特徴量を求めるようにすることができる。
このようにすると、頂点間の距離のばらつきに係わりな
く、測定点から立体モデル表面の均等な距離の範囲を特
徴量を算出するためのデータとして用いることができ
る。
In FIG. 39, the diameter is d around the measurement point.
F (xa, y) from the intersection of the sphere (circle)
0) and f (xb, y0). Then, the feature amount of the measurement point can be obtained using this.
In this way, the range of the uniform distance from the measurement point to the surface of the three-dimensional model can be used as data for calculating the feature amount regardless of the variation in the distance between the vertices.

【0117】また、エリアモード処理およびマッピング
処理においては濃度を変えることで特徴量を視覚的に表
示したが、これは色を変えたりハッチングやトーンのパ
ターンを変えたりすることで視覚的に表示するようにす
ることができる。さらに、形状より得られる特徴量とし
て、ここでは微分値と曲率を用いたが、これは他の特徴
量を用いてもよく、例えば、次式で表されるラプラシア
ンΔなどを算出するようにしてもよい。
In the area mode processing and the mapping processing, the feature amount is visually displayed by changing the density, but this is visually displayed by changing the color or the pattern of hatching or tone. You can do so. Further, as the feature value obtained from the shape, the differential value and the curvature are used here, but this may be another feature value, such as calculating the Laplacian Δ represented by the following equation. Is also good.

【0118】[0118]

【数11】 [Equation 11]

【0119】ラプラシアンは3次元におけるエッジの強
さを表す。この他にも、平滑化した曲面を表す多項式の
特定の係数や、曲率等の平均などを特徴量としてもよ
い。 (3−6)修復モード処理 修復モード処理では、立体モデルの欠損部分を自動的に
修復する。修復モード処理の基本的な考え方を図40を
用いて説明する。例えば、図40(a)に示すように、
立体モデルデータXをある軸方向を法線とする複数の平
面で切断する。すると、前述した切断モード時と同様の
計算により複数の断面データ(輪郭)を得ることができ
る。こうした得た断面データを前記軸方向に3次元空間
に並べて、断面間にポリゴンを発生させると立体モデル
データX* を得ることができる。元の立体モデルデータ
Xと得られた立体モデルデータX* は切断平面の間隔が
十分に狭ければほぼ同じものと見なすことができる。
Laplacian represents the strength of an edge in three dimensions. In addition, a specific coefficient of a polynomial representing a smoothed curved surface, an average of curvature, or the like may be used as the feature amount. (3-6) Restoration Mode Processing In the restoration mode processing, the missing part of the three-dimensional model is automatically restored. The basic concept of the repair mode process will be described with reference to FIG. For example, as shown in FIG.
The three-dimensional model data X is cut along a plurality of planes whose normals are in a certain axial direction. Then, a plurality of cross-sectional data (contours) can be obtained by the same calculation as in the cutting mode described above. By arranging the obtained section data in a three-dimensional space in the axial direction and generating a polygon between the sections, three-dimensional model data X * can be obtained. The original three-dimensional model data X and the obtained three-dimensional model data X * can be regarded as substantially the same if the interval between the cutting planes is sufficiently small.

【0120】同じように図40(b)に示すような欠損
のある立体モデルデータXをある軸方向を法線とする複
数の平面で切断すると、やはり複数の断面データを得る
ことができる。この際、欠損部分は、切断モードにおけ
る図15(b)の線分のつなぎ合わせ処理のフローチャ
ートにおいて線分がつなぎ合わさらないことになり閉じ
てない断面と判断することが可能である。そして、この
ような閉じていない断面の開いた部分は輪郭を補完する
ことで、閉じた断面に修復することができる。その後、
やはり断面データを3次元空間に並べて断面間にポリゴ
ンを発生させると立体モデルX* が得られる。切断平面
の間隔を十分に小さくとれば、この立体モデルX* はほ
ぼ元の立体モデルXと同じでしかも欠損部分が修復され
ていることになる。
Similarly, when the three-dimensional model data X having a defect as shown in FIG. 40B is cut along a plurality of planes whose normal lines are set in a certain axial direction, a plurality of cross-sectional data can be obtained. At this time, the missing portion can be determined as an unclosed cross section because the line segments are not connected in the flowchart of the line connecting process of FIG. 15B in the cutting mode. An open portion of such an unclosed cross section can be restored to a closed cross section by complementing the outline. afterwards,
Similarly, if the cross-section data is arranged in a three-dimensional space and a polygon is generated between the cross sections, a three-dimensional model X * is obtained. If the interval between the cutting planes is made sufficiently small, this three-dimensional model X * is almost the same as the original three-dimensional model X, and the defective part is restored.

【0121】なお、この手法で重要なのは切断面の法線
方向の取り方であり、欠損部分を適切にスライスできる
ような方向に設定することが重要である。そこで、ここ
では、基準平面のZ軸方向を切断面の法線方向とし、使
用者が適切な方向を設定できるようにしてある。図9の
メジャーリング処理のフローチャートにおいて修復モー
ド起動ボタン74が操作されるとステップ43の切断モ
ード処理へ移行する。図41に修復モード処理の動作を
示すフローチャートを示す。修復モード処理では、ま
ず、ステップで使用者が設定した基準平面の姿勢の取り
込みを行う。次に立体モデルのZ軸方向の高さを求め、
この高さから切断平面間の間隔を求める。ここでは、得
られた高さの1/1000としている。
It is important in this method to determine the direction of the normal to the cut surface, and it is important to set the direction in such a manner that the defective portion can be sliced appropriately. Therefore, here, the Z-axis direction of the reference plane is set as the normal direction of the cut plane, so that the user can set an appropriate direction. When the restoration mode start button 74 is operated in the flowchart of the measuring processing of FIG. 9, the processing shifts to the cutting mode processing of step 43. FIG. 41 is a flowchart showing the operation of the restoration mode process. In the restoration mode processing, first, the posture of the reference plane set by the user in step is captured. Next, the height of the three-dimensional model in the Z-axis direction is obtained,
The height between the cutting planes is obtained from this height. Here, the height is set to 1/1000 of the obtained height.

【0122】次に、S1105で1の刻み幅づつ立体モ
デルを平面で切断していき断面データを求めていく。断
面データの求め方は断面モード処理で説明したのと同様
である。そして、ステップ1107で求められた断面デ
ータが欠損があるかどうか、即ち閉じてない断面である
かどうかを判断し、欠損がある場合はステップ1109
で断面データを修復する。この修復処理については後に
詳述する。
Next, in step S1105, the three-dimensional model is cut by a plane at intervals of 1 to obtain cross-sectional data. The method of obtaining the section data is the same as that described in the section mode processing. Then, it is determined whether or not the section data obtained in step 1107 has a defect, that is, whether or not the section data is an unclosed section.
To restore the section data. This repair processing will be described later in detail.

【0123】立体モデルのZ軸方向の高さ分の切断面の
全てについて以上の処理が終わると、ステップ113に
おいて修復した断面データを含めて断面データをつなぎ
合わせて立体モデルデータを復元して処理を終了する。 (3−6−1)断面データの修復処理 次に、ステップ1109における断面データの修復処理
について説明する。ここでは断面データの欠損のある部
分近傍の形状のみから断面データの修復を行う。つま
り、例えば図42(a)(b)に示す断面データにおい
て欠損部分は立体モデルにおいて同じ欠損部分の一部で
あるとする。もし、欠損部分から離れた箇所を考慮にい
れて欠損部分の補完を行うことにすると、(a)(b)
は欠損部分から離れた部分において大きく形状が異なっ
ているので、修復結果もかなり異なったものとなってし
まう。一方、欠損部分近傍のみを考慮すると両者はかな
り近い修復結果を得ることができる。
When the above processing is completed for all of the cut surfaces corresponding to the height in the Z-axis direction of the three-dimensional model, the three-dimensional model data is restored by connecting the cross-sectional data including the cross-sectional data restored in step 113. To end. (3-6-1) Cross Section Data Restoration Processing Next, the section data restoration processing in step 1109 will be described. Here, the section data is restored only from the shape near the portion where the section data is missing. That is, for example, it is assumed that the missing portion in the cross-sectional data shown in FIGS. 42A and 42B is a part of the same missing portion in the three-dimensional model. If the missing part is complemented in consideration of a part distant from the defective part, (a) and (b)
Since the shape is greatly different in a portion away from the defective portion, the restoration result is also quite different. On the other hand, when only the vicinity of the defective portion is considered, both can obtain a considerably close restoration result.

【0124】図43に断面データ修復処理を表すフロー
チャートを示す。また、欠損のある断面データの例とし
て図44(a)に示すような断面データを修復するもの
とする。図44(a)の断面データは、2本の線分(P
0,0 ,P0,1 ,・・・P0,N)と(P1,0 ,P1,1 ,
・・・P1,N)より構成されており、点P0,0 P1,0間
および点P0,N P1,N間が欠損部分である。まず、ステ
ップ1202で端点が最も近い点の組、即ち、欠損部分
を構成する端点の組を求める。図44(a)の例では、
(P0,0 P1,0)の組と、(P0,N P1,N)の組が求め
られる。ここで、P0,0 P1,0をP1、P2、P0,N P
1,NをP5、P6と表しておく。
FIG. 43 is a flowchart showing the cross-section data restoration processing. Further, as an example of the cross-sectional data having a defect, it is assumed that the cross-sectional data as shown in FIG. The cross-sectional data in FIG. 44 (a) has two line segments (P
0,0, P0,1,... P0, N) and (P1,0, P1,1,
.., P1, N), and the portions between the points P0, 0 P1, 0 and between the points P0, NP1, P1 are deficient portions. First, in step 1202, a set of points whose end points are closest, that is, a set of end points that constitute a missing portion is determined. In the example of FIG.
A set of (P0,0 P1,0) and a set of (P0, N P1, N) are obtained. Here, P0,0 P1,0 is P1, P2, P0, N P
1, N is represented as P5 and P6.

【0125】次に、ステップ1203で線分の長さを算
出し、ステップ1204でこの長さを基準に修復のため
の基準長さを求める。ここでは、端点から線分の長さの
1/5の長さを修復のための基準長さとする。そして、
欠損部分を構成する端点からこの基準長さだけ離れた距
離にある点を代表点とし、この代表点を適当な補完処理
により求める。図44(a)では、代表点として例え
ば、P0、P3、P4、P6が求められる。
Next, in step 1203, the length of the line segment is calculated, and in step 1204, the reference length for restoration is obtained based on this length. Here, the length of 1/5 of the length of the line segment from the end point is set as the reference length for restoration. And
A point located at a distance from the end point constituting the missing portion by this reference length is set as a representative point, and the representative point is obtained by appropriate interpolation processing. In FIG. 44A, for example, P0, P3, P4, and P6 are obtained as representative points.

【0126】それから、ステップ1205で、ステップ
1202で求めた端点の組と、ステップ1204で求め
た各端点から得られる代表点を滑らかに通過する曲線を
求める。ここでは曲線を求める方法として一般ブレンデ
ィング法を用いる。具体的には、例えば、図44(a)
の端点の組P1、P2と、この端点から得られる代表点P
0、P3を通る滑らかな曲線は次のようにして求めること
ができる。即ち、点P0、P1、P2、P3が位置ベクトル
として与えられたとして、4点を通る曲線上の座標ベク
トルC(t)(0≦t≦1)は一般ブレンディング法に
より次式で与えられる。
Then, in step 1205, a curve that smoothly passes through the set of end points obtained in step 1202 and the representative point obtained from each end point obtained in step 1204 is obtained. Here, a general blending method is used as a method for obtaining a curve. Specifically, for example, FIG.
Of the end points P1 and P2 and the representative point P obtained from the end points
A smooth curve passing through 0 and P3 can be obtained as follows. That is, assuming that the points P0, P1, P2, and P3 are given as position vectors, a coordinate vector C (t) (0 ≦ t ≦ 1) on a curve passing through four points is given by the following equation by a general blending method.

【0127】[0127]

【数12】 (Equation 12)

【0128】これにより、P1、P2間を滑らかに繋ぐ曲
線が図44(b)のように得られることになる。その
後、ステップ1206で、全ての、欠損部分の処理が完
了したか否かが判断され、全ての欠損部分の処理が完了
していればステップ1207でステップ1205で求め
た曲線上に図44(b)に示すように適当な数点を復元
する。それから、ステップ1208で復元した点群を含
めて断面の輪郭を再構成することで断面データを修復す
る。これにより、図44(a)の断面データは図44
(c)のように修復されることになる。このように、修
復モード処理では、立体モデルデータに欠損部分があっ
たも極めて容易に欠損部分を修復することができる。な
お、ここでは、切断平面の法線方向を基準平面によりマ
ニュアルで指定するようにしたが、これは立体モデルの
シンニング等の処理により自動的に求めるようにしても
よい。また、ここでは、各切断面は同じ法線方向を持つ
ようにしたが、各切断面の法線方向は一致させる必要は
必ずしもない。
As a result, a curve that smoothly connects P1 and P2 is obtained as shown in FIG. Thereafter, in step 1206, it is determined whether or not processing of all missing parts has been completed. If processing of all missing parts has been completed, in step 1207, the curve shown in FIG. Restore some suitable points as shown in ()). Then, the section data is restored by reconstructing the profile of the section including the point cloud restored in step 1208. Thus, the cross-sectional data of FIG.
It will be repaired as shown in FIG. Thus, in the restoration mode processing, even if there is a missing portion in the three-dimensional model data, the missing portion can be repaired very easily. Here, the normal direction of the cutting plane is manually specified by the reference plane, but this may be automatically obtained by processing such as thinning of the three-dimensional model. In addition, here, each cut surface has the same normal direction, but the normal direction of each cut surface does not necessarily have to match.

【0129】以上のように本実施の形態に係る3次元形
状データ処理装置では、切断モード処理、距離モード、
曲面モード、修復モード等により3次元形状データを様
々に加工し解析することが可能となる。なお、本実施形
態では測定を光学的に読み取ったが、モデラー等で作成
された3次元データを対象にすることもできる。また、
本実施形態では立体モデルデータをポリゴンメッシュか
ら構成したが他の形式で立体モデルデータを表現しても
よい。具体例を挙げれば、ボクセルデータ、複数の輪郭
データ、NURBS等のパラメトリック表現による面デー
タ、CADデータ等がある。
As described above, in the three-dimensional shape data processing apparatus according to the present embodiment, the cutting mode processing, the distance mode,
The three-dimensional shape data can be variously processed and analyzed by the curved surface mode, the restoration mode, and the like. In the present embodiment, the measurement is optically read, but three-dimensional data created by a modeler or the like can be used. Also,
In the present embodiment, the three-dimensional model data is composed of a polygon mesh, but the three-dimensional model data may be expressed in another format. Specific examples include voxel data, a plurality of contour data, surface data in parametric expression such as NURBS, CAD data, and the like.

【0130】[0130]

【発明の効果】以上の説明より本発明は次のような効果
を生じる。即ち、本発明に係る3次元形状データ処理装
置は、距離取得手段により取得された距離で規定される
範囲内に存する3次元形状表面の輪郭上の複数の点を範
囲算出手段により算出し、特徴量算出手段が算出された
輪郭上の点間にある3次元表面を平滑化した曲面とみな
して、当該曲面形状から特徴量を算出する。
According to the above description, the present invention has the following effects. That is, the three-dimensional shape data processing device according to the present invention calculates a plurality of points on the contour of the surface of the three-dimensional shape within the range defined by the distance acquired by the distance acquiring means, using the range calculating means. The amount calculation means considers the three-dimensional surface between the calculated points on the contour as a smoothed curved surface, and calculates the feature amount from the curved surface shape.

【0131】このような動作により、距離取得手段が取
得した範囲を一つの凸部又は凹部が存在する範囲として
特徴量が算出されることになり、3次元形状データの頂
点のばらつきがあっても3次元形状表面の全ての部分に
おける空間周波数が等しくなり特徴量の精度を全ての部
分で一致させることができる。また、前記距離取得手段
を3次元形状データを構成する頂点データを元に前記距
離を算出することにより前記距離を取得するようにすれ
ば、頂点全体のバランスを考慮した適切な距離、即ち空
間周波数を得ることが可能である。
By such an operation, the feature amount is calculated by setting the range obtained by the distance obtaining means as a range in which one convex portion or concave portion exists, and even if the vertices of the three-dimensional shape data vary. The spatial frequencies in all portions of the three-dimensional shape surface become equal, and the accuracy of the feature amount can be matched in all portions. Further, if the distance obtaining means obtains the distance by calculating the distance based on the vertex data constituting the three-dimensional shape data, an appropriate distance in consideration of the balance of the entire vertex, that is, the spatial frequency It is possible to obtain

【0132】一方、前記距離取得手段を使用者により指
定される距離を受け付けることで前記距離を取得するよ
うにすれば、使用者の意志により3次元形状表面の高周
波成分を除いた曲面の特徴量や、曲面を巨視的にみた場
合の特徴量や微視的にみた場合の特徴量を任意に算出す
るようにすることができる。それから、前記特徴量を曲
率とすることで3次元形状表面の特徴を最も表す特徴量
の算出を空間周波数を適切に調整して行うことができ
る。
On the other hand, if the distance acquiring means acquires the distance by accepting the distance specified by the user, the characteristic amount of the curved surface excluding the high-frequency component of the three-dimensional shape surface according to the user's will. Alternatively, it is possible to arbitrarily calculate a feature amount when the curved surface is viewed macroscopically or a feature amount when the curved surface is viewed microscopically. Then, by making the feature amount a curvature, it is possible to calculate the feature amount that most represents the feature of the three-dimensional surface by appropriately adjusting the spatial frequency.

【0133】そして、前記範囲算出手段が対象点取得部
により取得した3次元形状表面の測定対象点を中心とし
て、前記取得された距離の範囲内に存する3次元形状表
面の輪郭上の点を輪郭点算出部により算出し、前記特徴
量算出手段が、前記対象点取得部が取得した測定対象点
における特徴量を算出するようにすると、測定対象を中
心とした等距離の範囲に含まれる曲線を平滑化したもの
とみなして特徴量を算出することになるので、当該測定
対象の特徴量をより適切に算出することが可能となる。
A point on the contour of the surface of the three-dimensional shape within the range of the acquired distance is centered on the measurement target point on the surface of the three-dimensional shape acquired by the range calculating means by the object point acquiring unit. Calculated by a point calculation unit, and the feature amount calculation means calculates the feature amount at the measurement target point acquired by the target point acquisition unit, the curve included in the equidistant range centered on the measurement target Since the feature amount is calculated assuming that the feature has been smoothed, the feature amount of the measurement target can be more appropriately calculated.

【図面の簡単な説明】[Brief description of the drawings]

【図1】実施の形態に係る3次元形状データ処理装置の
内部構成を示す機能ブロック図である。
FIG. 1 is a functional block diagram showing an internal configuration of a three-dimensional shape data processing device according to an embodiment.

【図2】(a)は測定対象の一例を示す図であり、
(b)(a)の測定対象の立体モデル化したものの一例
を示す図であり、(c)は(b)の部分拡大図である。
FIG. 2A is a diagram illustrating an example of a measurement target;
(B) It is a figure which shows an example of what was converted into the three-dimensional model of the measurement object of (a), (c) is the elements on larger scale of (b).

【図3】立体モデルのデータ構造を示す図である。FIG. 3 is a diagram showing a data structure of a three-dimensional model.

【図4】実施の形態に係る3次元形状データ処理装置に
おけるディスプレイの表示画面例を示す図である。
FIG. 4 is a diagram showing an example of a display screen of a display in the three-dimensional shape data processing device according to the embodiment.

【図5】(a)はキャンバス座標系を示す説明図であ
り、(b)はビューワー座標系っを示す説明図である。
5A is an explanatory diagram illustrating a canvas coordinate system, and FIG. 5B is an explanatory diagram illustrating a viewer coordinate system.

【図6】(a)は基準平面を表す図であり、(b)は基
準平面のデータ構造を示す図である。
6A is a diagram illustrating a reference plane, and FIG. 6B is a diagram illustrating a data structure of the reference plane.

【図7】(a)は基準平面の姿勢変化を示す図であり、
(b)は基準平面の移動を示す図である。
FIG. 7A is a diagram showing a change in posture on a reference plane;
(B) is a diagram showing the movement of the reference plane.

【図8】実施の形態に係る3次元形状データ処理処理装
置のメインのフローチャートである。
FIG. 8 is a main flowchart of the three-dimensional shape data processing device according to the embodiment;

【図9】メジャーリング処理を示すフローチャートであ
る。
FIG. 9 is a flowchart illustrating a measuring process.

【図10】メジャーリング処理操作パネルを示す図であ
る。
FIG. 10 is a diagram illustrating a measuring processing operation panel.

【図11】基準物体表示処理を示すフローチャートであ
る。
FIG. 11 is a flowchart showing reference object display processing.

【図12】基準物体移動・回転処理を示すフローチャー
トである。
FIG. 12 is a flowchart illustrating reference object movement / rotation processing.

【図13】回転・移動量入力パネルを示す図である。FIG. 13 is a diagram illustrating a rotation / movement amount input panel.

【図14】切断モード処理を示すフローチャートであ
る。
FIG. 14 is a flowchart showing a cutting mode process.

【図15】(a)は断面データ計算処理を示すフローチ
ャートであり、(b)は線分のつなぎ合わせ処理を示す
フローチャートである。
FIG. 15A is a flowchart illustrating a cross-sectional data calculation process, and FIG. 15B is a flowchart illustrating a line segment joining process.

【図16】交点同士の連結処理を示すフローチャートで
ある。
FIG. 16 is a flowchart illustrating a connection process between intersections.

【図17】線分列の連結処理を示すフローチャートであ
る。
FIG. 17 is a flowchart illustrating a process of connecting a line segment sequence;

【図18】(a)は基準平面がポリゴンメッシュを切断
する状態の例を示す図であり、(b)は基準平面とポリ
ゴンメッシュとの交点の例を示す図である。
18A is a diagram illustrating an example of a state where a reference plane cuts a polygon mesh, and FIG. 18B is a diagram illustrating an example of an intersection between the reference plane and the polygon mesh.

【図19】(a)は一つのポリゴンメッシュで形成され
る交点の例を示す図であり、(b)は(a)で示す交点
同士を結んだ状態を示す図であり、(c)は(b)で示
す線分を連結した状態を示す図である。
19A is a diagram illustrating an example of an intersection formed by one polygon mesh, FIG. 19B is a diagram illustrating a state in which the intersections illustrated in FIG. It is a figure which shows the state which connected the line segment shown by (b).

【図20】(a)は切断面の輪郭長の計算方法を説明す
るための図であり、(b)は切断面の面積の計算方法を
説明するための図である。
20A is a diagram for explaining a method of calculating the contour length of the cut surface, and FIG. 20B is a diagram for explaining a method of calculating the area of the cut surface.

【図21】距離モード処理を示すフローチャートであ
る。
FIG. 21 is a flowchart showing a distance mode process.

【図22】選択用パネルを示す図である。FIG. 22 is a diagram showing a selection panel.

【図23】(a)はキャンバスに断面が表示されている
状態を示す図であり、(b)は(a)の断面の輪郭から
始点と終点を選択した状態を示す図であり、(c)は
(b)の始点と終点に対する通過点を選択した状態を示
す図である。
23A is a diagram illustrating a state in which a cross section is displayed on the canvas, FIG. 23B is a diagram illustrating a state in which a start point and an end point are selected from the contour of the cross section in FIG. () Is a diagram showing a state in which a passing point for the start point and the end point in (b) is selected.

【図24】(a)はビューワーに立体モデルが表示され
ている状態を示す図であり、(b)は(a)に表示され
ている立体モデルから始点、終点、通過点を指定した状
態を示す図であり、(c)は指定した3点と通る基準平
面が表示された状態を示す図であり、(d)は(c)の
基準平面で規定されるキャンバスの画像を示す図であ
る。
24A is a diagram illustrating a state in which a stereo model is displayed in a viewer, and FIG. 24B is a diagram illustrating a state in which a start point, an end point, and a passing point are designated from the stereo model displayed in FIG. FIG. 3C is a diagram showing a state where a reference plane passing through the designated three points is displayed, and FIG. 4D is a diagram showing an image of a canvas defined by the reference plane of FIG. .

【図25】経路長測定処理を示すフローチャートであ
る。
FIG. 25 is a flowchart illustrating a path length measurement process.

【図26】(a)はビュワー上の立体モデルから4点を
指定した状態を示す図であり、(b)は(a)で指定し
た4点の内の3点から得られる経路を示す図であり、
(c)は(a)で指定した4点の内の(b)とは異なる
3点から得られる経路を示す図である。
26A is a diagram illustrating a state in which four points are designated from the three-dimensional model on the viewer, and FIG. 26B is a diagram illustrating a path obtained from three of the four points designated in FIG. And
(C) is a diagram showing a path obtained from three points different from (b) out of the four points specified in (a).

【図27】(a)はN点モード時における一のポップア
ップメニューを示す図であり、(b)はN点モード時に
おける他のポップアップメニューの一つを示す図であ
る。
27A is a diagram illustrating one pop-up menu in an N-point mode, and FIG. 27B is a diagram illustrating another pop-up menu in an N-point mode.

【図28】曲面モード処理を示すフローチャートであ
る。
FIG. 28 is a flowchart showing a curved surface mode process.

【図29】(a)は空間周波数で規定される範囲に含ま
れる曲面を示す図であり、(b)は(a)で示す曲面を
平滑化した状態を示す図である。
29A is a diagram illustrating a curved surface included in a range defined by a spatial frequency, and FIG. 29B is a diagram illustrating a state where the curved surface illustrated in FIG.

【図30】空間周波数の基準値計算処理を示すフローチ
ャートである。
FIG. 30 is a flowchart showing a reference value calculation process of a spatial frequency.

【図31】曲面モード処理用パネルを示す図である。FIG. 31 is a diagram showing a curved surface mode processing panel.

【図32】(a)は高い空間周波数に設定した場合の特
徴量の計算に用いる変数を示す図であり、(b)は低い
空間周波数に設定した場合の特徴量の係数に用いる変数
をしめす図である。
FIG. 32 (a) is a diagram showing variables used for calculating feature values when a high spatial frequency is set, and FIG. 32 (b) shows variables used for coefficients of the feature values when a low spatial frequency is set. FIG.

【図33】曲率の法線により規定される座標系を示す図
でる。
FIG. 33 is a diagram showing a coordinate system defined by a normal line of curvature.

【図34】曲面の特徴量の計算処理を示すフローチャー
トである。
FIG. 34 is a flowchart showing a process of calculating a feature value of a curved surface.

【図35】(a)は基準平面の画素から立体モデルへの
投影を示す図であり、(b)は立体モデルの基準平面か
ら投影された領域をキャンバス上に示した図である。
FIG. 35 (a) is a diagram showing projection of pixels from a reference plane onto a three-dimensional model, and FIG. 35 (b) is a diagram showing an area of the three-dimensional model projected from the reference plane on a canvas.

【図36】テクスチャマッピング処理を説明するための
図である。
FIG. 36 is a diagram illustrating a texture mapping process.

【図37】直交座標系上の立体モデル表面と極座標系の
球面とのマッピングを説明するための図である。
FIG. 37 is a diagram for describing mapping between the surface of a three-dimensional model on a rectangular coordinate system and a spherical surface of a polar coordinate system.

【図38】テクスチャマッピング処理を示すフローチャ
ートである。
FIG. 38 is a flowchart showing a texture mapping process.

【図39】空間周波数から得られる領域の範囲を球面内
とした場合の特徴量を算出するための変数を示す図であ
る。
FIG. 39 is a diagram illustrating variables for calculating a feature amount when a range of an area obtained from a spatial frequency is within a spherical surface.

【図40】(a)は欠損の無い立体モデルを断面データ
に分解した後に再び立体モデルを再現する手順を示す模
式図であり、(b)は欠損のある立体モデルを断面デー
タに分解修復した後に立体モデルを再現する手順を示す
図である。
40A is a schematic diagram showing a procedure for decomposing a solid model having no defect into cross-sectional data and then reproducing the solid model again, and FIG. 40B is a diagram showing a three-dimensional model having a defect decomposed and restored to cross-sectional data. It is a figure showing the procedure which reproduces a three-dimensional model later.

【図41】修復モード処理を示すフローチャートであ
る。
FIG. 41 is a flowchart showing a restoration mode process.

【図42】(a)は欠損のある断面データの一例を示す
図であり、(b)は(a)と同じ欠損を持ち、かつ、輪
郭の形状が大きく異なる断面データの一例を示す図であ
る。
42A is a diagram illustrating an example of cross-sectional data having a defect, and FIG. 42B is a diagram illustrating an example of cross-sectional data having the same defect as in FIG. is there.

【図43】断面データ修復処理を示すフローチャートで
ある。
FIG. 43 is a flowchart showing a cross-section data restoration process.

【図44】(a)は欠損のある断面データの一例を示す
図であり、(b)は欠損部分部分を曲線で補完した状態
を示す図であり、(c)は(a)の断面データを修復し
た状態を示す図である。
44A is a diagram showing an example of cross-sectional data having a defect, FIG. 44B is a diagram showing a state in which a defective portion is complemented by a curve, and FIG. 44C is a diagram showing the cross-sectional data of FIG. FIG. 11 is a diagram showing a state in which is restored.

【図45】測定対象をレンジファインダーで測定する際
の測定点間距離のばらつきを示す図である。
FIG. 45 is a diagram showing a variation in distance between measurement points when a measurement target is measured with a range finder.

【図46】(a)は高周波成分が乗った3次元形状デー
タが表す3次元形状表面を示す図であり、(b)は
(a)に示す図から高周波成分を除いた状態を示す図で
ある
46A is a diagram showing a three-dimensional shape surface represented by three-dimensional shape data on which high frequency components are superimposed, and FIG. 46B is a diagram showing a state in which high frequency components are removed from the diagram shown in FIG. is there

【符号の説明】[Explanation of symbols]

1 光学的測定部 2 測定対象モデル化部 3 ディスク装置 4 ディスプレイ 5 マウス 6 キーボード 7 GUIシステム 8 メインモジュール 9 メジャーリングモジュール 10 プロセッサ DESCRIPTION OF SYMBOLS 1 Optical measurement part 2 Measurement object modeling part 3 Disk device 4 Display 5 Mouse 6 Keyboard 7 GUI system 8 Main module 9 Measuring module 10 Processor

Claims (10)

【特許請求の範囲】[Claims] 【請求項1】 3次元形状データで表される3次元形状
表面の形状を表す特徴量を算出する3次元形状データ処
理装置であって、 距離の大きさを取得する距離取得手段と、 取得された距離で規定される範囲内に存する前記3次元
形状表面の輪郭上の複数の点を算出する範囲算出手段
と、 算出された輪郭上の点間にある前記3次元表面を平滑化
した曲面とみなして、当該曲面形状から特徴量を算出す
る特徴量算出手段とを有する3次元形状データ処理装
置。
1. A three-dimensional shape data processing device for calculating a feature quantity representing a shape of a three-dimensional shape surface represented by three-dimensional shape data, comprising: distance obtaining means for obtaining a magnitude of a distance; Range calculating means for calculating a plurality of points on the contour of the three-dimensional surface existing within a range defined by the distance, and a curved surface obtained by smoothing the three-dimensional surface between the calculated points on the contour. A three-dimensional shape data processing apparatus having a feature amount calculating means for calculating a feature amount from the curved surface shape.
【請求項2】 前記距離取得手段は、3次元形状データ
を構成する頂点データを元に前記距離を算出することに
より前記距離を取得する請求項1記載の3次元データ処
理装置。
2. The three-dimensional data processing apparatus according to claim 1, wherein the distance obtaining means obtains the distance by calculating the distance based on vertex data constituting the three-dimensional shape data.
【請求項3】 前記距離取得手段は、使用者により指定
される距離を受け付けることで前記距離を取得する請求
項1記載の3次元データ処理装置。
3. The three-dimensional data processing device according to claim 1, wherein the distance obtaining unit obtains the distance by receiving a distance specified by a user.
【請求項4】 前記特徴量は曲率である請求項1〜3の
いずれか1項に記載の3次元データ処理装置。
4. The three-dimensional data processing apparatus according to claim 1, wherein said characteristic amount is a curvature.
【請求項5】 前記範囲算出手段は、 前記3次元形状表面の測定対象点を取得する対象点取得
部と、 前記測定対象点を中心として、前記取得された距離の範
囲内に存する前記3次元形状表面の輪郭上の点を算出す
る輪郭点算出部を含み、 前記特徴量算出手段は、前記対象点取得部が取得した測
定対象点における特徴量を算出する請求項1〜4のいず
れか1項に記載の3次元データ処理装置。
5. The range calculating means, comprising: a target point obtaining unit that obtains a measurement target point on the three-dimensional shape surface; and the three-dimensional object within a range of the obtained distance around the measurement target point. 5. The method according to claim 1, further comprising: a contour point calculation unit configured to calculate a point on a contour of the shape surface, wherein the feature amount calculation unit calculates a feature amount at the measurement target point acquired by the target point acquisition unit. Item 3. The three-dimensional data processing device according to item 1.
【請求項6】 コンピュータを、3次元形状データで表
される3次元形状表面の形状を表す特徴量を算出する3
次元データ処理装置として動作させるプログラムを記録
したコンピュータ読み取り可能な記録媒体であって、前
記コンピュータを、 距離の大きさを取得する距離取得手段と、 前記取得された距離で規定される範囲内に存する前記3
次元形状表面の輪郭上の複数の点を算出する範囲算出手
段と、 算出された輪郭上の点間にある前記3次元表面を平滑化
した曲面とみなして、当該曲面形状から特徴量を算出す
る特徴量算出手段ととして機能させるプログラムを記録
した記録媒体。
6. A computer which calculates a feature quantity representing a shape of a three-dimensional surface represented by three-dimensional shape data.
A computer-readable recording medium on which a program to be operated as a dimensional data processing apparatus is recorded, wherein the computer is located within a range defined by a distance acquisition unit that acquires a magnitude of a distance, and the acquired distance. 3 above
A range calculating means for calculating a plurality of points on the contour of the three-dimensional surface; and a feature amount is calculated from the curved surface shape by regarding the three-dimensional surface between the calculated points on the contour as a smoothed curved surface. A recording medium that stores a program that functions as a feature amount calculating unit.
【請求項7】 前記距離取得手段は、3次元形状データ
を構成する頂点データを元に前記距離を算出することに
より前記距離を取得する請求項6記載の記録媒体。
7. The recording medium according to claim 6, wherein the distance obtaining means obtains the distance by calculating the distance based on vertex data constituting three-dimensional shape data.
【請求項8】 前記距離取得手段は、使用者により指定
される距離を受け付けることで前記距離を取得する請求
項6記載の記録媒体。
8. The recording medium according to claim 6, wherein said distance obtaining means obtains said distance by receiving a distance specified by a user.
【請求項9】 前記特徴量は曲率である請求項6〜8の
いずれか1項に記載の記録媒体。
9. The recording medium according to claim 6, wherein the characteristic amount is a curvature.
【請求項10】 前記範囲算出手段は、 前記3次元形状表面の測定対象点を取得する対象点取得
部と、 前記測定対象を中心として、前記取得された距離の範囲
内に存する前記3次元形状表面の輪郭上の点を算出する
輪郭点算出部を含み、 前記特徴量算出手段は、前記対象点取得部が取得した測
定対象点における特徴量を算出する請求項6〜9のいず
れか1項に記載の記録媒体。
10. The range calculation means, a target point acquisition unit for acquiring a measurement target point on the surface of the three-dimensional shape, and the three-dimensional shape existing within the range of the acquired distance around the measurement target. 10. A contour point calculation unit that calculates a point on a contour of the surface, wherein the feature amount calculation unit calculates a feature amount at the measurement target point acquired by the target point acquisition unit. 11. A recording medium according to claim 1.
JP9301639A 1997-11-04 1997-11-04 Three-dimensional shape data processor Pending JPH11134520A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP9301639A JPH11134520A (en) 1997-11-04 1997-11-04 Three-dimensional shape data processor
US09/187,467 US6260000B1 (en) 1997-11-04 1998-11-04 Three-dimensional shape data processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9301639A JPH11134520A (en) 1997-11-04 1997-11-04 Three-dimensional shape data processor

Publications (1)

Publication Number Publication Date
JPH11134520A true JPH11134520A (en) 1999-05-21

Family

ID=17899369

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9301639A Pending JPH11134520A (en) 1997-11-04 1997-11-04 Three-dimensional shape data processor

Country Status (1)

Country Link
JP (1) JPH11134520A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008275538A (en) * 2007-05-02 2008-11-13 Olympus Corp Three-dimensional profiler and sample image forming apparatus
JP2009097880A (en) * 2007-10-12 2009-05-07 Sokkia Topcon Co Ltd Two-dimensional coordinate measuring machine
WO2011122394A1 (en) * 2010-03-31 2011-10-06 株式会社パスコ Display method of cursor and display program of the cursor
WO2011151858A1 (en) * 2010-05-31 2011-12-08 ビジュアツール株式会社 Visualization-use portable terminal device, visualization program and body 3d measurement system

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008275538A (en) * 2007-05-02 2008-11-13 Olympus Corp Three-dimensional profiler and sample image forming apparatus
JP2009097880A (en) * 2007-10-12 2009-05-07 Sokkia Topcon Co Ltd Two-dimensional coordinate measuring machine
WO2011122394A1 (en) * 2010-03-31 2011-10-06 株式会社パスコ Display method of cursor and display program of the cursor
JP2011215956A (en) * 2010-03-31 2011-10-27 Pasuko:Kk Method and program for displaying cursor
US9092113B2 (en) 2010-03-31 2015-07-28 Pasco Corporation Cursor display method and cursor display device
WO2011151858A1 (en) * 2010-05-31 2011-12-08 ビジュアツール株式会社 Visualization-use portable terminal device, visualization program and body 3d measurement system

Similar Documents

Publication Publication Date Title
Zhang et al. Image engineering
Bruckner et al. Volumeshop: An interactive system for direct volume illustration
Newcombe et al. Live dense reconstruction with a single moving camera
Lee et al. Mesh scissoring with minima rule and part salience
US8531456B2 (en) Automatic remeshing by mapping a 2D grid on 3D genus-G meshes based on topological analysis
CN109035388A (en) Three-dimensional face model method for reconstructing and device
CN107590708B (en) Method and device for generating user specific body shape model
CN109409335A (en) Image processing method, device, computer-readable medium and electronic equipment
JP2003058911A (en) Device, method, program for modeling surface shape of three-dimensional object
JP2000307949A (en) Image interpolating method, image processing method, image displaying method, image processor, image display device and computer program storage medium
Zollmann et al. Interactive 4D overview and detail visualization in augmented reality
JP2002236909A (en) Image data processing method and modeling device
Specht et al. Visualizing shape transformation between chimpanzee and human braincases
EP1197919A2 (en) System and method for simplifying geometric models
JP3514822B2 (en) Image processing device
JPH11134518A (en) Three-dimensional shape data processor
Moustakides et al. 3D image acquisition and NURBS based geometry modelling of natural objects
US20210272345A1 (en) Method for Efficiently Computing and Specifying Level Sets for Use in Computer Simulations, Computer Graphics and Other Purposes
JPH11134520A (en) Three-dimensional shape data processor
Yvart et al. Smooth adaptive fitting of 3D models using hierarchical triangular splines
JPH04256185A (en) Method for collecting sample picture of picture recognition system
JPH11134517A (en) Three-dimensional shape data processor
JPH11132724A (en) Three-dimensional shape data processor
Gospodnetic et al. Surface inspection planning using 3d visualization
Lu et al. Surface reconstruction via cooperative evolutions