(57)【要約】【課題】高次多項式補間での振動、スプライン補間の区間接続部での滑らかさ不足を、少なくする処理、思いがけない曲線の出現に至らせないことを可能にでき、汎用性のあるサブプログラムとして、組み込める処理プログラムを開発する。【解決手段】はりの曲げ変形に倣った、滑らかな曲線をもとにした、補間値を算出し、出力する。処理開始での入力項目は、成果データの保存ファイル名、元データの系の番号、左X座標値とピッチと右X座標値である。出力は指定Ｘ座標値と、補間値(Y座標値)である。【選択図】図９
2014199636.tif 000002
【特許請求の範囲】
【請求項１】
補間値の計算過程のたわみ計算の中で、連続はりの１つの支点に仮定の曲げモーメントを設定し、三曲げモーメントの定理を使って、全支点に曲げモーメント値を配する処理の方法と、反力値を特定する処理の方法、またはその処理の方法を支えるプログラム。
【請求項２】
補間値の計算過程のたわみ計算の中で、連続はりの全支点の仮想反力を仮想荷重に想定した単純はりにおいて、位置を指定し、たわみの公式を利用して、多数の荷重のたわみを得て、そして仮想率を掛算し、連続はりのたわみ補間値とする処理をして補間値を生成させる方法またはその生成の方法を支えるプログラム。
【請求項３】
補間値の計算過程の中のたわみ計算にて、Ｘ座標の指定位置が第１点から第３点の間に存在するなら、Ｘ座標の指定位置における、仮想荷重の数が１の単純はりの、たわみ計算をし、仮想荷重の数が１の場合の仮想率を掛算し、連続はりとしての処理をして補間値を生成する。続いて仮想荷重が２の単純はりのたわみ計算をし、仮想荷重の数が２の場合の仮想率を掛算し、連続はりとしての処理をして補間値を生成する。同様に仮想荷重の数が連続して増加して１５になるまで処理する。このようにして生成された１５の補間値を合算して指定位置の補間値とする。なお仮想荷重の数が２以上の場合のたわみ計算は、公式適用のために、仮想荷重の数と同数回の計算を必要とする。                補間値の計算過程の中のたわみ計算にて、Ｘ座標の指定位置が第３点から第４点の間に存在するなら、Ｘ座標の指定位置における、仮想荷重の数が２の単純はりの、たわみ計算をし、仮想荷重の数が２の場合の仮想率を掛算し、連続はりとしての処理をして補間値を生成する。続いて仮想荷重が３の単純はりのたわみ計算をし、仮想荷重の数が３の場合の仮想率を掛算し、連続はりとしての処理をして補間値を生成する。同様に仮想荷重の数が連続して増加して１５になるまで処理する。このようにして生成された１４の補間値を合算して指定位置の補間値とする。なお仮想荷重の数が２以上の場合のたわみ計算は、公式適用のために、仮想荷重の数と同数回の計算を必要とする。                補間値の計算過程の中のたわみ計算にて、Ｘ座標の指定位置が第１６点から第１７点の間に存在するなら、Ｘ座標の指定位置における、仮想荷重の数が１５の単純はりの、たわみ計算をし、仮想荷重の数が１５の場合の仮想率を掛算し、連続はりとしての処理をして補間値を生成する。
補間値の計算過程の中のたわみ計算にて、Ｘ座標の指定位置は、以上の３種類の区域の間に、１２種類の区域が存在するが、３種類の区域の計算処理に倣って処理をする。
以上のとおりの計算の処理の方法または、この処理の方法を支えるプログラムを請求項３とする。
なおこの項での１５、１６、１７と示している数値は、プログラムでの最大の元データ点の数が１７の場合よるものであり、必要に応じてプログラムの一部の変更で対応できる。
【請求項４】
当プログラムの論理は、扱う点のＸ座標の範囲において、Ｘ座標値に対してシームレスな扱いをするので、それらの及ぼしあいの変化も連続性を持ち、補間値同士の関係値を有用に使える。この様態を特徴とする処理の方法またはその処理の方法を実現するプログラム。
【請求項５】
プログラム検証用のデータを、プログラム内にデータ文として、複数系列を保管し、ほぼ同時並列処理で系列毎の補間値を処理し、その補間値を更に、同様の処理での、系列横断の補間処理を経て、指定座標の既知４点座標内での、妥当な占有位置を計算する処理の方法を可能にするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、多数の点の間の水平座標値をコンピュータに取込み、これに対応する補間値の直交座標値を演算処理し、出力処理をするものであり、滑らかな補間処理ができ、汎用性のあるサブプログラムとして、メインプログラムに組み込むものである。
【背景技術】
【０００２】
補間の方法としては、従来から直線補間、高次多項式補間、スプライン補間等が使われている。しかし、それぞれに欠点をもっているので、その欠点を克服するツールの実現は有用である。
【先行技術文献】
【特許文献】
【０００３】
特許４２５２７３６  データ補間プログラムおよびデータ補間装置  株式会社小野測機
【非特許文献】
【０００４】
“構造力学  昭和３８年２月２５日  実教出版株式会社  １３８ページ  １３９ページ 三曲げモーメントの定理による法    197ページ      付表３．はりのたわみ・曲性”    図面にて示す。
【０００５】
“数値流体力学大全  東北大学名誉教授  大宮司久明  著  第４章  補間と関数近似その１“
“http://www.caero.mech.tohoku.ac.jp/publicData/Daiguji/
“
【発明の概要】
【０００６】
滑らかな補間のために、連続はりの曲げ変形に倣ってプログラミングし、単純はりでのＸ座標位置を指定し、生成したたわみ計算値に、仮想率を乗じ、連続はり用に変換して、補間値を得て、モニタ、磁気記録媒体、光学記録媒体、電子記録媒体等に出力するツールであり、汎用のサブプログラムとして使える。記録媒体については、ローカルエリアネットワーク経由で、通信手段を介したものと、キー操作対象の自機に内臓のものと、外付けのものも対象とする。
【発明が解決しようとする課題】
【０００７】
各種の用途に、信頼できる、補間値を演算し、提供するツールを実現させる。
高次多項式補間での、振動による、不適合値の発生を回避する処理を目指す。
スプライン補間での区間の繋がり部での、滑らかさ、連続性の不足、または曲線の思いがけない形の出現に至らせない処理を目指す。
【課題を解決するための手段】
【０００８】
はりの曲げ変形に倣った、滑らかな曲線をもとにした、補間値を算出し、出力する。処理開始でのの入力項目は、成果保管ファイル名、系の番号、２つのＸ座標値とその間の増加間隔、である。出力は補間値(Ｙ座標値)である。
多数点間を補間処理するための、元データは、サンプルとしてプログラム内にデータ文で持っていて、系の番号で複数から選ぶ。
実用の元データは、サンプルデータに上書きして、使用できる。
より精緻な迫り方として、形状の積分の繰り返しと条件から、変形値に至れると考えられるが、今だそれは実存していないと認識している。また有ったとしても、実際の計算は、当考案と似たようなことになるのではと、考えられる。
【発明の効果】
【０００９】
各種の用途に、信頼できる補間値を提供できる。工作機械・レンズ研削機・燃料供給機構の制御データ処理、天体測量・映像測量での測定値・歪の補正処理、静止映像の補正による鮮明度アップ、構築物の曲面設計、部品製作、設置測位、各種実験のデータ分析、整理、予測、に寄与できる。
高次多項式補間で処理されていた補間値をより、適切に提供できる。
スプライン補間での、区間の繋がり部での滑らかさ、連続性の不足、思わぬ形の出現、の問題を解決した補間値を提供できる。
また扱い範囲のＸ座標値のすべてを、等しく扱い、及ぼしあいを等しく作用させていて、シームレスな様態であるので、補間値同士の関係値を他へ精度良く提供できる。
出願人は、当発明を活用しての、映像測量処理についての出願を目指している。
【図面の簡単な説明】
【００１０】
【図１】は  関連機器等の例である。
【図２】は  コンピュータの表示画面の例である。（入力時）
【図３】は  コンピュータの表示画面の例である。（成果表示、書き出し時）
【図４】は  処理の成果を、ファィルに出力し、散布グラフ化して表示した例である。サンプルデータの系は８である。
【図５】は  処理の成果を、ファィルに出力し、散布グラフ化して表示した例である。サンプルデータの系は９である。系８の逆データである。
【図６】は  処理の成果を、ファィルに出力し、散布グラフ化して表示した例である。サンプルデータの系は１０である。
【図７】は  処理の成果を、ファィルに出力し、散布グラフ化して表示した例である。サンプルデータの系は１１である。系１０の逆データである。系８・系９・系１０とともに計算処理の確かさと、一意再現性を示している。
【図８】は  処理の成果を、ファィルに出力し、散布グラフ化して表示した例である。サンプルデータの系は３である。ＣＡＤに持っているスプライン曲線と重ねている。折れ線は元データの座標を正確にポインティングするためのもので、３個のグラフが一致している。
【図９】は  処理の成果を、ファィルに出力し、散布グラフ化して表示した例である。サンプルデータの系は８である。多項式補間（ラグランシジェ補間）の曲線と重ねている。多項式補間では振動が大きいので比較的穏やかな区間を表示している。
【図１０】は  プログラムのフロー図1／２である。当プログラムにおいては、変数はすべてグローバル変数なので、変数の内容をプログラムのどこからでも参照できるが、その参照を強調したい部分を破線で示している。
【図１１】は  プログラムのフロー図２／２である。［図１０］と合わせてフロー図全体となる。
【図１２】は  計算の論理１／３である。ピアノ線の実験と変形計算について示している。ＬＶ（○，○）、ＦＰ（○，○）、ＦＰ１（○，○）は点を示しているが、正確にはＹ座標値である。対応するＸ座標値は略している。
【図１３】は  計算の論理２／３である。３曲げモーメントの定理により、反力・仮想荷重を特定するイメージを示している。
【図１４】は  計算の論理３／３である。共通準備計算後の寄せ変形の計算の処理状態をイメージを示している。
【図１５】は  サンプルデータおよび処理部のプログラムコードである。
【図１６】は  非特許文献の中の  三曲げモーメントの定理のページである。
【図１７】は  非特許文献の中の  はりたわみの公式のページである。
【発明を実施するための形態】
【実施例１】
【００１１】
市販の、OS組込みのパーソナルコンピュータに、市販のプログラミング言語
”BASIC/98 For ウインドウズ”や、フリーソフトウェア
”Tiny Basic ｆor ウインドウズ”
をインストールし、当発明のプログラムをロードし、起動させ、多数の補間対象のデータを取込み、Ｘ座標値を指定し、処理済みの直交座標値を得る。必要に応じてファイルデータとして記憶媒体に保管し、そのファィルデータを表計算ソフトに取込みグラフ化して滑らかさを視認する。
プログラムの実行速度について、  pentiumM 2.1GHzのノートパソコンでの、  ”Tiny
Basic ｆor ウインドウズ”で、  元データ全域対象  ピッチ１、成果データ常時表示の場合で  約２０秒である。指定値数が約１６００なので、１件あたり０．０１２５秒である。なお表示なしでは約３秒早くなる。またこの２０秒間でたわみ計算は約１２０００回実行している。
プログラム中の変数はすべてグローバル変数である。プログラム中のどこからも無条件に変数の内容を参照できる。
【実施例２】
【００１２】
市販の
”BASIC/98 ｆor ウインドウズ”や
”Tiny Basic For ウインドウズ”
で動作するものなので、ほかの言語への移植や改良は容易である。よって移植や改良されたものが、サブプログラム化された形態。
【実施例３】
【００１３】
家電機器や機械製品に組込みのＬＳＩでの処理のために、ＲＯＭ等へ当プログラムを元にしたサブプログラムとして搭載した形態。
【実施例４】
【００１４】
ソフトウェアとしての、当発明のプログラムコードは、一部分しか示さないが、出願人への連絡により、電子データの、提供がある。
実際に動作させて、有用性を試されんことを望む。
図４から図９において、プログラム実行の成果を示す。プログラムコードは図１０・図１１のフロー図と整合している。
このコードは品質を向上させるために、改訂していくものとする。プログラムコードを示す範囲を広げることもある。
【００１５】
以降において、当発明の論理についての説明を示す。図１２〜図１４に、以降の説明に関連した内容を示す。
【００１６】
説明を容易にするために、実験の様子として示す。
水平な板の上に細い真っ直ぐなピアノ線を置き、元データ座標値点で拘束し、できたピアノ線の形を補間曲線とする。参照図は、図８の８−１である。その曲線は自然界に存在する物の形でありとても滑らかである。
この実験での補間曲線に倣って、補間値を自動計算できるプログラムの作成を、当発明の課題とする。 
【００１７】
ピアノ線の左端からの、第１点と第２点で゛拘束し、第２点でのピアノ線の向きに、向きが一致した真っ直ぐなピアノ線と、第３点を通る、Ｙ軸平行線とが交わる点のＹ座標値を測る。
この点のＹ座標値をＦＰ（Ｅ，３）とする。参照図は、図１２の１２−１である。
ＦＰ（Ｅ，３）のＥと３は、配列変数の要素の数である。以降同様。
【００１８】
ピアノ線を第３点に拘束するために、寄せる量を、寄せ値Ｖ（Ｅ，３）とする。寄せ先に向かう向きを正とする符号を持つ。
第３点のＹ座標値はＬＶ（Ｅ，３）とする。Eは元データの系を示す。以降同様。参照図は、図１２の１２−１である。
【００１９】
ピアノ線を第３点に拘束し、第３点でのピアノ線の向きに、向きが一致した真っ直ぐなピアノ線と、第４点を通る、Ｙ軸平行線とが交わる点のＹ座標値を測る。この点のＹ座標値をＦＰ（Ｅ，４）とする。参照図は、図１２の１２−２である。
【００２０】
ＦＰ（Ｅ，４）をＬＶ（Ｅ，４）まで寄せて拘束するが、この量がＶ（Ｅ，４）である。
式で示すと、    Ｖ（Ｅ，４）＝ＬＶ（Ｅ，４）−ＦＰ（Ｅ，４）  となる。
【００２１】
Ｖ（○，○）は、後の説明において、仮定のたわみ計算値との等価を目指すので、重要な値である。○は複数の整数。以降同様。
【００２２】
実験では、ＦＰ（Ｅ，４）点は何事も無いかのように決まるが、これを計算で実現させるためには、ＬＶ（Ｅ，３）点でのピアノ線の向きを得る必要がある。
第３点が位置決めされた時に、第１から第３点の間は、曲線になっているので、ＬＶ（Ｅ，３）での向きは微分で得られる。参照図は、図１２の１２−２である。
【００２３】
当プログラムでは、都合により、近似値計算による値を、微分に替える。
ＬＶ（Ｅ，３）点から左へ１寄ったＸ座標値に対応するＹ座標値を計算し、ＦＰ１（Ｅ，３）とする。
ＦＰ１（Ｅ，３）点と、ＬＶ（Ｅ，３）点を結ぶ直線の延長と、第４点を通る、Ｙ軸平行線とが交わる点のＹ座標値を、ＦＰ（Ｅ，４）とする。
［００２１］の中の式に合わせて、Ｖ（Ｅ，４）を得る。参照図は、図１２の１２−２である。
【００２４】
Ｖ（○，○）は、第５点から、端の点まで、第４点と同様の手順で、得る。
ただし、はりのたわみ計算の公式使用の都合で、計算回数が順に増加する。
【００２５】
ここから実験を計算でトレースする。
第３点の位置決めのために拘束する。
これを連続はりで示したのが図１２の１２−４である。
更にたわみ公式利用のために、単純はりに当てはめたものが図１２の１２−５である。
ＤＦＳ（Ｅ，１，３）が決まり、−ＤＦＳ（Ｅ，１，３）が決まり、これをＶ（Ｅ，３）に合わせて変換するのである。
ここに    ＫＲ（Ｅ，１）＝Ｖ（Ｅ，３）／（−ＤＦＳ（Ｅ，１，３）    
これを、仮想率と称する。
【００２６】
第４点を拘束する。    これを連続はりに当てはめたのが図１２の１２−６である。
更にたわみ公式利用のために、単純はりに当てはめたのが図１２の１２−７と図１２の１２−８である。
ＤＦＳ（Ｅ，２，４）が決まり、−ＤＦＳ（Ｅ，２，４）が決まり、これをＶ（Ｅ，４）に合わせて変換するのである。
ここに    ＫＲ（Ｅ，２）＝Ｖ（Ｅ，４）／（−ＤＦＳ（Ｅ，２，４）  
以降端までの点の、位置決めのための荷重状態等他や、計算手順は同様である。  
【００２７】
第１点から第４点までの間の、個々のＸ座標値に対応する、たわみ値は、図１２の１２−５と、図１２の１２−７と、図１２の１２−８から、そのイメージが読み取れる通りに計算で得ることができる。
そして仮想率を掛算することで、実験の様子に対応させることができる。
【００２８】
ここで、まだ重要な未確定があるので、これから明らかにする。
連続はり、単純はりの、荷重と反力についてである。
第４点を拘束している場合の、荷重と反力はつり合っているが、不静定状態である。参照図は図１２の１２−３である。３曲げモーメントの定理における径間荷重の無い場合を適用して、すべての支点曲げモーメントを確定させ、続いて反力を確定させる。
第２点の曲げモーメントの値を０．１と仮定する。（ 任意の数で良い。0.0000000001程度でもOK、コードでは1/10で示す)
第１点の値は端部なので当然ゼロである。第３点は３曲げモーメントの定理により計算できる。
第１点と第２点の反力を、つり合い計算で得る。参照図は図１３の１３−１である。
ここで、図１２の１２−３での場合、第４点は端部なので、モーメントの値をゼロとして、第１点と第２点の反力を元につり合い計算で、第３点の反力を得る。参照図は図１３の１３−２と、図１３の１３−３である。
【００２９】
このようにして、計算した第２点と第３点の反力値を、単純はりの荷重として、たわみ計算をし、［００２７］での仮想率を掛算して、実験の寄せ値に対応させる。
【００３０】
なおこれまでの説明に、直接には出てきていないが、各支点の間の距離は、３曲げモーメントの定理での計算や、つり合い計算できっちり働いている。
と言うよりも、反力の大きさを決める要素としては、各支点の間の距離以外のものは無いのである。
【００３１】
［００３０］と同様のことを、寄せ値Ｖ（○，○）について言えば、各支点の間の距離と、各点間のＹ座標値の差が、Ｖ（○，○）の値を決めていると言える。
【００３２】
３曲げモーメントの定理は、隣り合う３支点において成立するもので、隣り合う支点を重ねることで、すべての支点の曲げモーメントを計算することができる。参照図は図１３の１３−１である。
よってすべての支点の反力を計算することができる。参照図は図１３の１３−２である。
【００３３】
これまでの計算によって、補間値計算のための共通の準備計算が済んだが、ここでおさらいする。
仮想率  ＫＲ（○，○）のためには  Ｖ（○，○）が必要。
Ｖ（○，○）のためには  ＬＶ（○，○）とＦＰ（○，○）が必要。
ＦＰ（○，○）のためには  ＬＶ（○，○−１）での微分が必要。
微分について、当プログラムでは、ＬＶ（○，○−１）点のＸ座標値より、１  だけ左のＸ座標値に対応するＹ座標値ＦＰ１（○，○−１）を計算し、ＦＰ１（○，○−１）点とＬＶ（○，○−１）点を結ぶ直線の向きを、微分の近似値とする。なお今後緻密値に改良の予定有り。
図１７のたわみ公式の中で、右支点での傾きが示されている。仮想率の適用等で変形計算をしているが不調なので、近似値計算で対処している。
【００３４】
ここから、本題の補間値計算の説明になる。まず入力から。
最初の入力は、成果データの保存先の指定である。ＨＯＫＡＮの後に続く番号や文字を入力する。参照図は図２である。
【００３５】
次の入力は系の番号である。サンプルデータがデータ文として、プログラム６０００行台にあり、２行で１つの系として、１３の系を持っている。参照図は図１５である。
この系の元データを使って、補間値計算をする。
１つの系での元データの数は１７としている。数については必要に応じてプログラムを改良できる。
２行の内、上の行では元データ点のＸ座標値を、下の行ではＹ座標値を持っている。スペースと小数点位置は重要な意味を持つので、フォーマットを乱すことは禁止。
この元データに上書きして、実用データとすることを、想定している。別のテキストファイルとして作っておいて、ペーストできるが、スペース位置等が揃っているか十分な確認が必要。
データ数値の位取りの問題については、プログラムではカバーしていない。よってＸ座標値については、−８００から８００程度のデータになるように、データ側でアレンジし、成果は逆アレンジして使用されたい。Ｙ座標値についても同様。必要に応じて改良する。
系番号１は、特別なので、入力、編集共禁止である。
【００３６】
次の入力は、左Ｘ座標値と、ピッチと、右Ｘ座標値である。参照図は図２である。
元データから、扱い範囲を決めると共に、指定を連続とする場合のピッチを決めている。例で使用要領を示す。
−８００，１，７９９    の場合、全域をピッチ１で計算する。約２０秒かかる。
−４０５，５，２９５    の場合、指定域をピッチ５で計算する。下１桁の半端の５は、データ点より小さいX値にする意図があり、範囲の直感的なコントロールを想定している。なおデータ点のＸ座標値が、比較的に乱れる場合は、思惑どおり扱えないことがあるが、試行錯誤で迫れると考える。
１９５，３２１，６９５  の場合、この範囲内での、指定位置を５１６とするピンポイントの補正値を得ることができる。５１６＝１９５＋３２１。
成果表示の最初のものが答えである。サブルーチンとしての場合は、ピンポイントでの使用が多いと考えている。ピンポイントの場合の処理時間は０．１秒未満である。
特に説明なくTiny Basic での所要時間を示しているが、Basic/98 での場合は２０倍程度多くなる。
【００３７】
計算過程等について以降に示す。
共通準備計算で、寄せ値Ｖ（Ｅ，１７）、  仮想率ＫＲ（Ｅ，１５）までを計算している。参照図は図１０である。
全域をピッチ１で計算する例で説明する。
左Ｘ座標値からピッチ毎にＸ座標値を指定して行く。
元データの第１点から、第３点の間においては、Ｘ座標値１つにつき、単純はりの荷重の数が１の場合から、１５の場合までをすべて計算して合計する。荷重の数が１の場合を、以降  フェーズ１  と称する。他の数の場合も同様。
各フェーズ毎に異なる仮想率を掛算している。
各フェーズでは公式適用のために、１つの荷重毎にたわみを計算する必要があるので、荷重の数と同数回のたわみ計算になる。
元データの第１点から、第３点の間においては、Ｘ座標値１つにつき、１２０回のたわみ計算をしている。
元データの第３点から、第４点の間においては、Ｘ座標値１つにつき、単純はりの荷重の数が２の場合から、１５の場合までをすべて計算して合計する。１１９回のたわみ計算をしている。
元データの第１６点から、第１７点の間においては、Ｘ座標値１つにつき、単純はりの荷重の数が１５の場合だけ計算する。１５回のたわみ計算をしている。
後の方になるほど、成果の表示が速くなる訳である。参照図は図１４である。参照図においても計算過程の説明を示している。
【００３８】
当発明の考案において、検証に使用した製品等の例をあげる。
動作確認済プログラム言語:  開発者  新潟大学  竹内照雄教授  “Tiny Basic ｆor  ウインドウズ”    フリーソフトウェア    最新までの３バージョンで完動を確認   開発模範環境を有し、とても速く、精度に優り、グラフック扱い範囲が広いと思います。
動作確認済プログラム言語:電脳組  “Basic/98 For ウインドウズ” Ｖ４．１０    市販品    開発模範環境を有し、寛容度が大きい。
補間形状確認用等のＣＡＤ：キャノンＩＴソリューションズ  ＴｕrｂｏＣａｄ  Ｖｅｒ．１０  市販品  組込みのスプライン曲線の利用他  画像をＣＡＤにペーストしてサイズ変え線文字の描き加えが容易である。
動作確認済コンピュータ: ＮＥＣ Lavie(PC-LG21FSEGM)  ＯＳ組込み市販品
【図１】
2014199636.tif 000003
【図２】
2014199636.tif 000004
【図３】
2014199636.tif 000005
【図４】
2014199636.tif 000006
【図５】
2014199636.tif 000007
【図６】
2014199636.tif 000008
【図７】
2014199636.tif 000009
【図８】
2014199636.tif 000010
【図９】
2014199636.tif 000011
【図１０】
2014199636.tif 000012
【図１１】
2014199636.tif 000013
【図１２】
2014199636.tif 000014
【図１３】
2014199636.tif 000015
【図１４】
2014199636.tif 000016
【図１５】
2014199636.tif 000017
【図１６】
2014199636.tif 000018
【図１７】
2014199636.tif 000019