JPH0628418A - B−スプライン曲線の等分点計算法 - Google Patents
B−スプライン曲線の等分点計算法Info
- Publication number
- JPH0628418A JPH0628418A JP4179547A JP17954792A JPH0628418A JP H0628418 A JPH0628418 A JP H0628418A JP 4179547 A JP4179547 A JP 4179547A JP 17954792 A JP17954792 A JP 17954792A JP H0628418 A JPH0628418 A JP H0628418A
- Authority
- JP
- Japan
- Prior art keywords
- length
- curve
- point
- spline
- spline curve
- 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.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims abstract description 38
- 239000013598 vector Substances 0.000 claims abstract description 18
- 238000004364 calculation method Methods 0.000 claims description 15
- 238000010586 diagram Methods 0.000 description 4
- 230000010354 integration Effects 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
Abstract
(57)【要約】
【目的】処理時間を短縮できるB−スプライン曲線の等
分点計算法を提供すること。 【構成】キーボード3から図面上のB−スプライン曲線
を指示すると、S1で制御点情報とノットベクトルと等
分割数Nとを入力し、S2でB−スプライン曲線上の始
点と終点との間の複数の等分点の中の1つとして指定す
る与点の指定長を算出し、S3でB−スプライン曲線の
基本データのノットベクトルの最大値と最小値との差に
対する実際のB−スプライン曲線の長さの比を用いて目
的の第1の候補点までの曲線長を算出し、S4で曲線長
と指定長との長さを比較し、同一であれば目的とする与
点の位置が求まったとして終了し、同一でなければ、S
5で第1の候補点と与点との間の曲線上の長さである曲
線長と指定長の差を基に第1の候補点との間に与点を挟
むよう第2の候補点の曲線長を算出し、S6で第1およ
び第2の候補点の曲線長を用いて二分法により与点の位
置を算出して終了する。
分点計算法を提供すること。 【構成】キーボード3から図面上のB−スプライン曲線
を指示すると、S1で制御点情報とノットベクトルと等
分割数Nとを入力し、S2でB−スプライン曲線上の始
点と終点との間の複数の等分点の中の1つとして指定す
る与点の指定長を算出し、S3でB−スプライン曲線の
基本データのノットベクトルの最大値と最小値との差に
対する実際のB−スプライン曲線の長さの比を用いて目
的の第1の候補点までの曲線長を算出し、S4で曲線長
と指定長との長さを比較し、同一であれば目的とする与
点の位置が求まったとして終了し、同一でなければ、S
5で第1の候補点と与点との間の曲線上の長さである曲
線長と指定長の差を基に第1の候補点との間に与点を挟
むよう第2の候補点の曲線長を算出し、S6で第1およ
び第2の候補点の曲線長を用いて二分法により与点の位
置を算出して終了する。
Description
【0001】
【産業上の利用分野】本発明はCADシステムで曲線の
表現に使用するB−スプライン曲線の等分点計算法に関
する。
表現に使用するB−スプライン曲線の等分点計算法に関
する。
【0002】
【従来の技術】従来のB−スプライン曲線の等分点計算
法は、図6の従来の等分点計算法の流れ図に示し、以下
に説明するような手順を経て行っていた。
法は、図6の従来の等分点計算法の流れ図に示し、以下
に説明するような手順を経て行っていた。
【0003】まず、CADシステム内で図面上のB−ス
プライン曲線を指示すると、ステップ(以下Sと記す)
31でこのB−スプライン曲線の基本データ(制御点情
報・ノットベクトル)と等分割数Nとを取り込む。次
に、S32でこれらの入力データをチェックし、異常で
あればエラーとして終了し、正常であればS33でこの
基本データからB−スプライン曲線の全長を計算し、S
34で全長の1/N,2/N,・・・,(N−1)/N
の長さを求め、次にS35でB−スプライン曲線の始点
から曲線に沿って全長の1/N,2/N,・・・,(N
−1)/N の長さに該当する点を求め、求めた点のデ
ータをS36で出力する。ここで、S35で行った始点
から曲線に沿って全長の1/N,2/N,・・・,(N
−1)/Nの長さの点を求めるためには、スプライン曲
線上の点から曲線上の道のりに沿って指定した長さ分移
動した点を求める計算を必要とするので、次に曲線上の
与点の指定長移動計算の手順について説明する。
プライン曲線を指示すると、ステップ(以下Sと記す)
31でこのB−スプライン曲線の基本データ(制御点情
報・ノットベクトル)と等分割数Nとを取り込む。次
に、S32でこれらの入力データをチェックし、異常で
あればエラーとして終了し、正常であればS33でこの
基本データからB−スプライン曲線の全長を計算し、S
34で全長の1/N,2/N,・・・,(N−1)/N
の長さを求め、次にS35でB−スプライン曲線の始点
から曲線に沿って全長の1/N,2/N,・・・,(N
−1)/N の長さに該当する点を求め、求めた点のデ
ータをS36で出力する。ここで、S35で行った始点
から曲線に沿って全長の1/N,2/N,・・・,(N
−1)/Nの長さの点を求めるためには、スプライン曲
線上の点から曲線上の道のりに沿って指定した長さ分移
動した点を求める計算を必要とするので、次に曲線上の
与点の指定長移動計算の手順について説明する。
【0004】図7は従来の曲線上の与点の指定長移動計
算の手順を示す流れ図である。まず、S41でB−スプ
ライン曲線の基本データと等分割数Nとを入力し、次に
S42で与点の曲線上におけるパラメータt0 を求め、
S43でこのt0 よりも大きなノットベクトルti を求
めた後、S44で区間[t0 ,ti ]における曲線の長
さを求める。次にS45で求めた曲線の長さが指定長と
一致するか否かを判別し、一致した場合にはS46でノ
ットベクトルti に対応する曲線上の点を求めて処理を
終了する。又、曲線の長さと指定長が一致せずかつ曲線
の長さが指定長に満たない場合は、S47で区間
[t0 ,ti ]における曲線の長さが指定長を越えるま
でti のiを増加させS44に飛び、以下、先に説明し
たと同様の動作を繰返す。曲線の長さが指定長を越えた
場合は、S48でパラメータt0とti-1 のうち大きい
方をtstart ,ノットベクトルti をtend とし、中間
点をtmiddle=(tstart +tend )÷2として目的の
点を二分法で探す。
算の手順を示す流れ図である。まず、S41でB−スプ
ライン曲線の基本データと等分割数Nとを入力し、次に
S42で与点の曲線上におけるパラメータt0 を求め、
S43でこのt0 よりも大きなノットベクトルti を求
めた後、S44で区間[t0 ,ti ]における曲線の長
さを求める。次にS45で求めた曲線の長さが指定長と
一致するか否かを判別し、一致した場合にはS46でノ
ットベクトルti に対応する曲線上の点を求めて処理を
終了する。又、曲線の長さと指定長が一致せずかつ曲線
の長さが指定長に満たない場合は、S47で区間
[t0 ,ti ]における曲線の長さが指定長を越えるま
でti のiを増加させS44に飛び、以下、先に説明し
たと同様の動作を繰返す。曲線の長さが指定長を越えた
場合は、S48でパラメータt0とti-1 のうち大きい
方をtstart ,ノットベクトルti をtend とし、中間
点をtmiddle=(tstart +tend )÷2として目的の
点を二分法で探す。
【0005】図8は二分法を説明するための説明図であ
る。まず、図8分図(A)の状態から区間[t0 ,t
middle]での曲線の長さを求めて指定長と比較し、曲線
長と指定長が一致する場合は、パラメータtmiddleに対
応する曲線上の点を求めて終了する。曲線長と指定長が
一致しない場合は指定長と一致するまで次の処理を繰返
す。
る。まず、図8分図(A)の状態から区間[t0 ,t
middle]での曲線の長さを求めて指定長と比較し、曲線
長と指定長が一致する場合は、パラメータtmiddleに対
応する曲線上の点を求めて終了する。曲線長と指定長が
一致しない場合は指定長と一致するまで次の処理を繰返
す。
【0006】図8分図(B)に示すように曲線長が指定
長よりも小さい場合には、tmiddleの値をtstart に代
入する。
長よりも小さい場合には、tmiddleの値をtstart に代
入する。
【0007】図8分図(C)に示すように曲線長が指定
長よりも大きい場合には、tmiddleの値をtend に代入
する。tstart (又はtend )の更新後tmiddle=(t
start +tend )÷2の式に従ってtmiddleの更新を行
うことにより、図8分図(A)の状態に戻り、再度、区
間[t0 ,tmiddle]の曲線の長さを求め、曲線長と指
定長とが一致するまで先に説明した処理を繰返す。
長よりも大きい場合には、tmiddleの値をtend に代入
する。tstart (又はtend )の更新後tmiddle=(t
start +tend )÷2の式に従ってtmiddleの更新を行
うことにより、図8分図(A)の状態に戻り、再度、区
間[t0 ,tmiddle]の曲線の長さを求め、曲線長と指
定長とが一致するまで先に説明した処理を繰返す。
【0008】以上が,従来の曲線上の指定長移動計算の
手順である。
手順である。
【0009】
【発明が解決しようとする課題】上述した従来のB−ス
プライン曲線の等分点計算法は、t0 が、通常は曲線上
の始点であるため、曲線上の与点から指定した長さ分移
動した点を求める計算に時間がかかり、特に、B−スプ
ラインの通過点数が多い場合には通過点数に比例して処
理時間がかかってしまうという問題点がある。
プライン曲線の等分点計算法は、t0 が、通常は曲線上
の始点であるため、曲線上の与点から指定した長さ分移
動した点を求める計算に時間がかかり、特に、B−スプ
ラインの通過点数が多い場合には通過点数に比例して処
理時間がかかってしまうという問題点がある。
【0010】本発明の目的は、処理時間を短縮できるB
−スプライン曲線の等分点計算法を提供することにあ
る。
−スプライン曲線の等分点計算法を提供することにあ
る。
【0011】
【課題を解決するための手段】本発明のB−スプライン
曲線の等分点計算法は、CADシステムで曲線の表現に
使用するB−スプライン曲線上の始点と終点との間の複
数の等分点の中の1つとして指定する指定長を持つ与点
の位置を算出するB−スプライン曲線の等分点計算法に
おいて、前記B−スプライン曲線の基本データのノット
ベクトルの最大値と最小値との差に対する実際のB−ス
プライン曲線の長さの比を用いて目的の第1の候補点ま
での曲線長を定め、前記第1の候補点と前記与点との間
の曲線上の長さである曲線長と指定長の差を基に前記第
1の候補点との間に前記与点を挟むよう第2の候補点の
曲線長を算出し、前記第1および第2の候補点の曲線長
を用いて二分法により前記与点の位置を算出する構成で
ある。
曲線の等分点計算法は、CADシステムで曲線の表現に
使用するB−スプライン曲線上の始点と終点との間の複
数の等分点の中の1つとして指定する指定長を持つ与点
の位置を算出するB−スプライン曲線の等分点計算法に
おいて、前記B−スプライン曲線の基本データのノット
ベクトルの最大値と最小値との差に対する実際のB−ス
プライン曲線の長さの比を用いて目的の第1の候補点ま
での曲線長を定め、前記第1の候補点と前記与点との間
の曲線上の長さである曲線長と指定長の差を基に前記第
1の候補点との間に前記与点を挟むよう第2の候補点の
曲線長を算出し、前記第1および第2の候補点の曲線長
を用いて二分法により前記与点の位置を算出する構成で
ある。
【0012】本発明のB−スプライン曲線の等分点計算
法は、B−スプライン曲線の基本データのノットベクト
ルの中の最大値と最小値との差を前記B−スプライン曲
線の長さで除してスプラインの単位長さ当りのノットベ
クトルの平均変化率とし、この平均変化率に目的の与点
までの指定長を乗じたものを前記B−スプライン曲線の
始点から目的の第1の候補点までの曲線長と定めてもよ
い。
法は、B−スプライン曲線の基本データのノットベクト
ルの中の最大値と最小値との差を前記B−スプライン曲
線の長さで除してスプラインの単位長さ当りのノットベ
クトルの平均変化率とし、この平均変化率に目的の与点
までの指定長を乗じたものを前記B−スプライン曲線の
始点から目的の第1の候補点までの曲線長と定めてもよ
い。
【0013】
【実施例】次に、本発明の実施例について図面を参照し
て説明する。
て説明する。
【0014】図9は本発明の一実施例のハードウェアの
構成を示す外観図である。本発明を実行するための入出
力演算装置10は、B−スプライン曲線の指定長移動計
算等の演算や、各デバイス装置に演算結果を知らせる役
割を果たすCPUとしてのエンジニアリングワークステ
ーション(以下EWSと記す)1と、CAD図面として
曲線等の要素を表示出力するCRTディスプレイ2と、
等分割数等の数字をオペレータが入力するのに用いるキ
ーボード3と、画面上の曲線の要素指示をオペレータが
行うのに用いるタブレット4およびスタイラスペン5と
を備えている。
構成を示す外観図である。本発明を実行するための入出
力演算装置10は、B−スプライン曲線の指定長移動計
算等の演算や、各デバイス装置に演算結果を知らせる役
割を果たすCPUとしてのエンジニアリングワークステ
ーション(以下EWSと記す)1と、CAD図面として
曲線等の要素を表示出力するCRTディスプレイ2と、
等分割数等の数字をオペレータが入力するのに用いるキ
ーボード3と、画面上の曲線の要素指示をオペレータが
行うのに用いるタブレット4およびスタイラスペン5と
を備えている。
【0015】入出力演算装置10を用いて本発明を実行
する手順について以下に示す。
する手順について以下に示す。
【0016】本発明のB−スプライン曲線の等分点計算
法の動作の要点は、図1の流れ図に示すように、キーボ
ード3から図面上のB−スプライン曲線を指示すると、
S1でこのB−スプライン曲線の基本データ(制御点情
報・ノットベクトル)と等分割数Nとを入力し、次に、
S2でB−スプライン曲線上の始点と終点との間の複数
の等分点の中の1つとして指定する与点の指定長を算出
し、S3でB−スプライン曲線の基本データのノットベ
クトルの最大値と最小値との差に対する実際のB−スプ
ライン曲線の長さの比を用いて目的の第1の候補点まで
の曲線長を算出し、S4で曲線長と指定長との長さを比
較し、同一であれば目的とする与点の位置が求まったと
して終了する。又、同一でなければ、S5で第1の候補
点と与点との間の曲線上の長さである曲線長と指定長の
差を基に第1の候補点との間に与点を挟むよう第2の候
補点の曲線長を算出し、S6で第1および第2の候補点
の曲線長を用いて二分法により与点の位置を算出して終
了することにある。
法の動作の要点は、図1の流れ図に示すように、キーボ
ード3から図面上のB−スプライン曲線を指示すると、
S1でこのB−スプライン曲線の基本データ(制御点情
報・ノットベクトル)と等分割数Nとを入力し、次に、
S2でB−スプライン曲線上の始点と終点との間の複数
の等分点の中の1つとして指定する与点の指定長を算出
し、S3でB−スプライン曲線の基本データのノットベ
クトルの最大値と最小値との差に対する実際のB−スプ
ライン曲線の長さの比を用いて目的の第1の候補点まで
の曲線長を算出し、S4で曲線長と指定長との長さを比
較し、同一であれば目的とする与点の位置が求まったと
して終了する。又、同一でなければ、S5で第1の候補
点と与点との間の曲線上の長さである曲線長と指定長の
差を基に第1の候補点との間に与点を挟むよう第2の候
補点の曲線長を算出し、S6で第1および第2の候補点
の曲線長を用いて二分法により与点の位置を算出して終
了することにある。
【0017】図2ないし図4は本発明の一実施例の詳細
な流れ図である。
な流れ図である。
【0018】まず図2のS7でCAD図面上にあるスプ
ライン曲線をタブレット4を使用して指示することによ
り制御点座標やノットベクトル等の基本データと曲線上
の与点データを入力し、あらかじめ領域を確保しておい
た変数領域に格納する。次にS8で与点の曲線上のパラ
メータを求めてこれを変数p0 に格納する。さらにS9
で基本データとして格納してある制御点座標とノットベ
クトルとからスプライン全体の長さを数値積分のシンプ
ソン法より求めた後、次の計算式に当てはめることによ
り、スプラインの単位長さ当りのノットベクトルの平均
変化率を求め、これをλ0 という変数に格納する。
ライン曲線をタブレット4を使用して指示することによ
り制御点座標やノットベクトル等の基本データと曲線上
の与点データを入力し、あらかじめ領域を確保しておい
た変数領域に格納する。次にS8で与点の曲線上のパラ
メータを求めてこれを変数p0 に格納する。さらにS9
で基本データとして格納してある制御点座標とノットベ
クトルとからスプライン全体の長さを数値積分のシンプ
ソン法より求めた後、次の計算式に当てはめることによ
り、スプラインの単位長さ当りのノットベクトルの平均
変化率を求め、これをλ0 という変数に格納する。
【0019】 次にS10でp0 +(目的の指定長)×λ0 から指定長
移動点の候補パラメータp1 を求め、S11で再びシン
プソン法で区間[p0 ,p1 ]における曲線の長さLを
計算し、S12で求めた曲線長Lと指定長とを比較し、
一致する場合は図4のS13に飛び、パラメータp1 に
対応する曲線上の点を求めてその結果を出力して処理を
終了する。曲線長と指定長が一致しない場合は、S14
で(指定長−L)の値の格納領域からこの値を取り出し
てλ0 を乗じて進み幅δp とし、これをp1 に加算す
る。即ちp1 +δp で新候補点パラメータを定めてこれ
を変数pnew に格納し、元のp1 を変数pold に格納
し、S15で(指定長−L)の符号を変数ε1 に格納す
る。
移動点の候補パラメータp1 を求め、S11で再びシン
プソン法で区間[p0 ,p1 ]における曲線の長さLを
計算し、S12で求めた曲線長Lと指定長とを比較し、
一致する場合は図4のS13に飛び、パラメータp1 に
対応する曲線上の点を求めてその結果を出力して処理を
終了する。曲線長と指定長が一致しない場合は、S14
で(指定長−L)の値の格納領域からこの値を取り出し
てλ0 を乗じて進み幅δp とし、これをp1 に加算す
る。即ちp1 +δp で新候補点パラメータを定めてこれ
を変数pnew に格納し、元のp1 を変数pold に格納
し、S15で(指定長−L)の符号を変数ε1 に格納す
る。
【0020】ここで動作は図3に移り、S16で区間
[p0 ,pnew ]における曲線長L’を計算し、S17
でこの曲線長L’と指定長とを比較し、曲線長L’が指
定長と一致する場合は図4のS13に飛び、パラメータ
pnew に対応する曲線上の点を求めて終了する。曲線長
L’と指定長とが一致しない場合には、S18で(指定
長−L’)の符号を変数ε2 に格納し、S19で変数ε
1 と変数ε2 との符号の比較演算を行う。ε1 とε2 と
の符号が一致する場合は、S20でパラメータpnew に
δp を加えてこれをpnew とする。次にS21でpnew
とp0 とを比較しpnew がp0 より大きい値をとる場合
には、S16に飛びループに入り、元の変数pnew の値
を変数pold に格納して、区間[p0 ,pnew ]におけ
る曲線の長さL’がS17で指定長と一致すると判定す
れば図4のS13に飛び、S17で一致しない場合であ
ってもS19で(指定長−L’)の符号がε1 と異なる
と判定すれば図4のS23に飛び、S21でpnew がp
0 以下の値をとった場合はS22でp0 をpnew として
図4のS23に飛び、S16からS21までのループを
抜け出すまでパラメータpnew の更新を続ける。
[p0 ,pnew ]における曲線長L’を計算し、S17
でこの曲線長L’と指定長とを比較し、曲線長L’が指
定長と一致する場合は図4のS13に飛び、パラメータ
pnew に対応する曲線上の点を求めて終了する。曲線長
L’と指定長とが一致しない場合には、S18で(指定
長−L’)の符号を変数ε2 に格納し、S19で変数ε
1 と変数ε2 との符号の比較演算を行う。ε1 とε2 と
の符号が一致する場合は、S20でパラメータpnew に
δp を加えてこれをpnew とする。次にS21でpnew
とp0 とを比較しpnew がp0 より大きい値をとる場合
には、S16に飛びループに入り、元の変数pnew の値
を変数pold に格納して、区間[p0 ,pnew ]におけ
る曲線の長さL’がS17で指定長と一致すると判定す
れば図4のS13に飛び、S17で一致しない場合であ
ってもS19で(指定長−L’)の符号がε1 と異なる
と判定すれば図4のS23に飛び、S21でpnew がp
0 以下の値をとった場合はS22でp0 をpnew として
図4のS23に飛び、S16からS21までのループを
抜け出すまでパラメータpnew の更新を続ける。
【0021】このループを抜け出した状態は、図5の本
発明での二分法の演算開始状態を示す図で明らかなよう
に、目的の指定長移動点の曲線上のパラメータは、パラ
メータpold とpnew の間にある。
発明での二分法の演算開始状態を示す図で明らかなよう
に、目的の指定長移動点の曲線上のパラメータは、パラ
メータpold とpnew の間にある。
【0022】次に動作は図4に移り、S23で3つの変
数pstart ,pend ,pmiddleを用意し次のように定義
する。即ち、パラメータpold とpnew との内、小さい
方をpstart ,大きい方をpend とし、さらにpmiddle
=(pstart +pend )÷2としてそれぞれ変数の値と
して格納し、これらを用いて指定長移動点を二分法で探
す。二分法による目的の点の探索は従来の場合と同様
で、以下のように行う。S24で区間[p0 ,
pmiddle]における曲線の長さL”を数値積分で求め、
S25で指定長との比較を行い、曲線長L”と指定長と
が一致する場合はS13でパラメータpmiddleに対応す
る曲線上の点を求めて終了する。曲線長L”と指定長と
が一致しない場合は指定長と一致するまで次の処理を繰
り返す。即ち、曲線長L”が指定長よりも小さい場合
は、S26でpmiddleの値を変数pstart の値に格納す
る。又、曲線長が指定長よりも大きい場合は、S27で
pmiddleの値を変数pend の値に格納する。続いてp
start (又はpend )の更新後、S28でpmiddle=
(pstart +pend )÷2でpmiddleの更新を行い、S
24に戻り、区間[p0,pmiddle]の曲線の長さを数
値積分で求め、S24からS28までを曲線長L”と指
定長とが一致するまで繰り返す。
数pstart ,pend ,pmiddleを用意し次のように定義
する。即ち、パラメータpold とpnew との内、小さい
方をpstart ,大きい方をpend とし、さらにpmiddle
=(pstart +pend )÷2としてそれぞれ変数の値と
して格納し、これらを用いて指定長移動点を二分法で探
す。二分法による目的の点の探索は従来の場合と同様
で、以下のように行う。S24で区間[p0 ,
pmiddle]における曲線の長さL”を数値積分で求め、
S25で指定長との比較を行い、曲線長L”と指定長と
が一致する場合はS13でパラメータpmiddleに対応す
る曲線上の点を求めて終了する。曲線長L”と指定長と
が一致しない場合は指定長と一致するまで次の処理を繰
り返す。即ち、曲線長L”が指定長よりも小さい場合
は、S26でpmiddleの値を変数pstart の値に格納す
る。又、曲線長が指定長よりも大きい場合は、S27で
pmiddleの値を変数pend の値に格納する。続いてp
start (又はpend )の更新後、S28でpmiddle=
(pstart +pend )÷2でpmiddleの更新を行い、S
24に戻り、区間[p0,pmiddle]の曲線の長さを数
値積分で求め、S24からS28までを曲線長L”と指
定長とが一致するまで繰り返す。
【0023】以上が,発明を適用した曲線上の指定長移
動計算の手順である。
動計算の手順である。
【0024】このように構成することにより、特に通過
点を多い場合に処理時間の短縮に効果を発揮するB−ス
プライン曲線の等分点計算法を提供できる。
点を多い場合に処理時間の短縮に効果を発揮するB−ス
プライン曲線の等分点計算法を提供できる。
【0025】実際の性能向上の実例を下表に示す。
【0026】
【0027】
【0028】
【発明の効果】以上説明したように、本発明は、B−ス
プライン曲線の基本データのノットベクトルの最大値と
最小値との差に対する実際のB−スプライン曲線の長さ
の比を用いて目的の第1の候補点までの曲線長を定め、
第1の候補点と与点との間の曲線上の長さである曲線長
と指定長の差を基に第1の候補点との間に与点を挟むよ
う第2の候補点の曲線長を算出し、第1および第2の候
補点の曲線長を用いて二分法により与点の位置を算出す
ることにより、B−スプライン曲線の等分点計算処理時
間を短縮できるという効果が有る。
プライン曲線の基本データのノットベクトルの最大値と
最小値との差に対する実際のB−スプライン曲線の長さ
の比を用いて目的の第1の候補点までの曲線長を定め、
第1の候補点と与点との間の曲線上の長さである曲線長
と指定長の差を基に第1の候補点との間に与点を挟むよ
う第2の候補点の曲線長を算出し、第1および第2の候
補点の曲線長を用いて二分法により与点の位置を算出す
ることにより、B−スプライン曲線の等分点計算処理時
間を短縮できるという効果が有る。
【図1】本発明のB−スプライン曲線の等分点計算法の
動作の要点を説明するための流れ図である。
動作の要点を説明するための流れ図である。
【図2】本発明の一実施例の詳細な流れ図である。
【図3】本発明の一実施例の詳細な流れ図である。
【図4】本発明の一実施例の詳細な流れ図である。
【図5】本発明での二分法の演算開始状態を示す図であ
る。
る。
【図6】従来の等分点計算法の流れ図である。
【図7】従来の曲線上の与点の指定長移動計算の手順を
示す流れ図である。
示す流れ図である。
【図8】二分法を説明するための説明図である。
【図9】本発明の一実施例のハードウェアの構成を示す
外観図である。
外観図である。
1 エンジニアリングワークステーション(EWS) 2 CRTディスプレイ 3 キーボード 4 タブレット 5 スタイラスペン 10 入出力演算装置
Claims (2)
- 【請求項1】 CADシステムで曲線の表現に使用する
B−スプライン曲線上の始点と終点との間の複数の等分
点の中の1つとして指定する指定長を持つ与点の位置を
算出するB−スプライン曲線の等分点計算法において、
前記B−スプライン曲線の基本データのノットベクトル
の最大値と最小値との差に対する実際のB−スプライン
曲線の長さの比を用いて目的の第1の候補点までの曲線
長を定め、前記第1の候補点と前記与点との間の曲線上
の長さである曲線長と指定長の差を基に前記第1の候補
点との間に前記与点を挟むよう第2の候補点の曲線長を
算出し、前記第1および第2の候補点の曲線長を用いて
二分法により前記与点の位置を算出することを特徴とす
るB−スプライン曲線の等分点計算法。 - 【請求項2】 B−スプライン曲線の基本データのノッ
トベクトルの中の最大値と最小値との差を前記B−スプ
ライン曲線の長さで除してスプラインの単位長さ当りの
ノットベクトルの平均変化率とし、この平均変化率に目
的の与点までの指定長を乗じたものを前記B−スプライ
ン曲線の始点から目的の第1の候補点までの曲線長と定
めることを特徴とする請求項1記載のB−スプライン曲
線の等分点計算法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4179547A JPH0628418A (ja) | 1992-07-07 | 1992-07-07 | B−スプライン曲線の等分点計算法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4179547A JPH0628418A (ja) | 1992-07-07 | 1992-07-07 | B−スプライン曲線の等分点計算法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0628418A true JPH0628418A (ja) | 1994-02-04 |
Family
ID=16067660
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP4179547A Withdrawn JPH0628418A (ja) | 1992-07-07 | 1992-07-07 | B−スプライン曲線の等分点計算法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0628418A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2013083582A (ja) * | 2011-10-11 | 2013-05-09 | Fujitsu Ltd | 移動軌跡補間装置、移動軌跡補間方法、及びプログラム |
-
1992
- 1992-07-07 JP JP4179547A patent/JPH0628418A/ja not_active Withdrawn
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2013083582A (ja) * | 2011-10-11 | 2013-05-09 | Fujitsu Ltd | 移動軌跡補間装置、移動軌跡補間方法、及びプログラム |
| US8873805B2 (en) | 2011-10-11 | 2014-10-28 | Fujitsu Limited | Trajectory interpolation apparatus and method |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2019185686A (ja) | グラフ描画方法、グラフ描画システム、及びコンピュータプログラム | |
| US6223197B1 (en) | Constant multiplier, method and device for automatically providing constant multiplier and storage medium storing constant multiplier automatic providing program | |
| JP6777574B2 (ja) | 区分線形近似関数生成装置および方法 | |
| JPH0628418A (ja) | B−スプライン曲線の等分点計算法 | |
| EP0513689B1 (en) | A membership function data preparation method and an apparatus thereof | |
| JP2800309B2 (ja) | ハイブリッド制御装置及びハイブリッド制御方法 | |
| JP3464874B2 (ja) | ベジェ曲線による点列トレースの方法および装置 | |
| Bosner et al. | Non-uniform exponential tension splines | |
| JPH03268185A (ja) | 表計算方法及びシステム | |
| JP2684609B2 (ja) | 図形データ処理装置における図形表示方法 | |
| JP2807950B2 (ja) | 図形描画装置およびその図形描画方法 | |
| JP2783143B2 (ja) | 計算機支援設計装置 | |
| JPH053008B2 (ja) | ||
| JPH10283002A (ja) | 最適負荷配分装置 | |
| JPH1049652A (ja) | 3次元cadにおけるb−スプライン曲線と直線との交点算出方法 | |
| JPH0830679A (ja) | 工程管理用線表の作成更新処理装置 | |
| JP3108582B2 (ja) | 太め細め文字の生成装置 | |
| JPH03290755A (ja) | 表計算方式 | |
| JP3900929B2 (ja) | 平方根記号表示制御装置、プログラム、および平方根記号表示制御方法 | |
| JPH04191958A (ja) | 多変数回帰分析装置 | |
| JPS6254377A (ja) | ベクトル選出方法 | |
| JP2003015717A (ja) | 生産計画作成システムおよび方法 | |
| JPH04250555A (ja) | 電子計算機 | |
| JPH0581230A (ja) | ニユーラルネツトワークの学習装置 | |
| JPH07231565A (ja) | 最適負荷配分装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 19991005 |