(57)【特許請求の範囲】
【請求項１】
ディスプレイ上に表示された多角形の図形の一または複数の角または辺に特性を示す値を設定する図形値設定手段と、
前記図形値設定手段により設定された特性を示す値に対応して、前記表示された図形のいずれかの角について、前記特性を示す値としての設定可能な角度の値の範囲を検出する角度範囲検出手段と、
当該角について、検出された設定可能な角度の値の範囲を表示する制御を行う角度範囲表示制御手段と、
を備えることを特徴とする図形表示制御装置。
【請求項２】
前記ディスプレイ上に前記多角形の図形を表示させる制御を行う図形表示制御手段をさらに備えることを特徴とする請求項１に記載の図形表示制御装置。
【請求項３】
前記角度範囲表示制御手段は、前記角について、検出された設定可能な角度の値の範囲の最小値および最大値を表示するとともに、ユーザが前記ディスプレイ上でつまみをスライドさせることで前記設定可能な角度の値を前記範囲内で設定するためのスライダを前記ディスプレイ上に表示させることを特徴とする請求項１または請求項２に記載の図形表示制御装置。
【請求項４】
前記角度範囲検出手段は、前記多角形のうち、前記図形値設定手段により値が設定された角を検出し、多角形の内角の和に基づいて前記角について前記設定可能な角度の値の範囲を検出することを特徴とする請求項１から請求項３のいずれか一項に記載の図形表示制御装置。
【請求項５】
前記多角形は三角形であり、
前記角度範囲検出手段は、前記三角形の２辺が等しいことを検出した場合には、前記２辺が等しいことに基づいて前記角について前記設定可能な角度の値の範囲を検出することを特徴とする請求項１から請求項４のいずれか一項に記載の図形表示制御装置。
【請求項６】
前記多角形は三角形であり、
前記角度範囲検出手段は、前記角の対辺と、前記角をなす２辺のうちの１辺とにそれぞれ値が設定されており、前記１辺の値が前記対辺の値以上であることを検出した場合には、前記１辺の値と前記対辺の値との関係に基づいて前記角について前記設定可能な角度の値の範囲の最大値を検出することを特徴とする請求項１から請求項５のいずれか一項に記載の図形表示制御装置。
【請求項７】
コンピュータを、
ディスプレイ上に表示された多角形の図形の一または複数の角または辺の図形部分に特性を示す値を設定する図形値設定手段と、
前記図形値設定手段により設定された特性を示す値に対応して、前記表示された図形のいずれかの角について、前記特性を示す値としての設定可能な角度の値の範囲を検出する角度範囲検出手段と、
当該角について、検出された設定可能な角度の値の範囲を表示する制御を行う角度範囲表示制御手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、図形表示制御装置及びプログラムに係り、ディスプレイ上に図形を表示させることが可能な図形表示制御装置及びプログラムに関する。
【背景技術】
【０００２】
従来から、ディスプレイ上に任意に表示させた図形の部分を指定して選択し、選択された図形部分である辺の長さや角の角度等を測定してその値を表示させたり、或いはユーザが辺の長さや角の角度等を設定することができるように構成された図形表示制御装置が知られている（例えば特許文献１等参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−０１４４４０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、このような図形表示制御装置では、例えば、ディスプレイ上に表示した多角形のある角について角度を設定する際に、ユーザがどのような値を設定することができるかが分からず、設定できる角度の値よりも大きな値や小さな値を設定してしまい、エラーが生じてしまう場合があった。
【０００５】
本発明は、上記の問題点を鑑みてなされたものであり、ディスプレイ上に表示された多角形の角について設定可能な角度の値を的確に表示してユーザの使い勝手を向上させることが可能な図形表示制御装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
以上の課題を解決するため、本発明の図形表示制御装置は、
ディスプレイ上に表示された多角形の図形の一または複数の角または辺に特性を示す値を設定する図形値設定手段と、
前記図形値設定手段により設定された特性を示す値に対応して、前記表示された図形のいずれかの角について、前記特性を示す値としての設定可能な角度の値の範囲を検出する角度範囲検出手段と、
当該角について、検出された設定可能な角度の値の範囲を表示する制御を行う角度範囲表示制御手段と、
を備えることを特徴とする。
【発明の効果】
【０００７】
本発明によれば、ディスプレイ上に表示された多角形の角について設定可能な角度の値を的確に表示することが可能となり、ユーザの使い勝手を的確に向上させることが可能となる。
【図面の簡単な説明】
【０００８】
【図１】図形表示制御装置の概観を示す平面図である。
【図２】図形表示制御装置の内部構成を示すブロック図である。
【図３】図形表示制御装置における図形表示制御処理の流れを表すフローチャートである。
【図４】図形表示制御装置における変更可能角度範囲検出処理の流れを表すフローチャートである。
【図５】図形表示制御装置における変更可能角度範囲検出処理の流れを表すフローチャートである。
【図６】ディスプレイ上の表示内容等を示す図である。
【図７】ディスプレイ上の表示内容等を示す図である。
【図８】ディスプレイ上の表示内容等を示す図である。
【図９】ディスプレイ上の表示内容等を示す図である。
【図１０】ディスプレイ上の表示内容等を示す図である。
【図１１】ディスプレイ上の表示内容等を示す図である。
【発明を実施するための形態】
【０００９】
以下、図面を参照して、本発明に係る図形表示制御装置を図形表示制御装置に適用した場合の実施形態について詳細に説明する。ただし、発明の範囲は、図示例に限定されない。
【００１０】
［外観構成］
図１は、本実施形態に係る図形表示制御装置１の平面図である。図１に示すように、図形表示制御装置１は、各種キー群を有する入力キー群２と、ディスプレイ３とを備えている。
【００１１】
入力キー群２は、ユーザから数値や計算記号等の数式構成要素の入力操作を受けたり、各種処理の指示操作を受けたりするためのキー群であり、それぞれ固有の機能を割り当てられた複数のキーを備えている。そして、入力キー群２には、“０”〜“９”のテンキーやEXEキー（実行キー）等が含まれている。
【００１２】
ディスプレイ３は、ＬＣＤ（Liquid Crystal Display）やＥＬＤ（Electronic Luminescent Display）等により構成されており、図形や文字等の各種データをカラー表示するようになっている。また、ディスプレイ３上には、透明のタッチパネル３ｔが表示画面全面に亘って一体的に設けられており、ユーザがタッチペンＰ（後述する図６（Ｂ）参照）でタッチパネル３ｔをタッチすることでディスプレイ３上に表示されている対象を指定したり選択したりすることができるようになっている。
【００１３】
［内部構成］
続いて、図形表示制御装置１の内部構造について説明する。図２は、図形表示制御装置１の内部構成を示すブロック図である。図２に示すように、図形表示制御装置１は、キー入力部１２と、表示部１３と、記憶部１４と、ＲＡＭ（Random Access Memory）１５と、記録媒体読取部１６と、通信制御部１７と、ＣＰＵ（Central Processing Unit）１１とを備えて構成されている。
【００１４】
キー入力部１２は、前述した入力キー群２を備えており、ユーザ操作により入力されたキーに対応するキー入力信号をＣＰＵ１１に出力する。ＣＰＵ１１は、ユーザ操作により入力されたキーに対応するキー入力信号を受け付けて対応する数値を表示部に表示したり、計算実行する。
【００１５】
表示部１３は、上述のディスプレイ３を備えており、ＣＰＵ１１からの表示信号に従って各種情報をディスプレイ３に表示する。また、表示部１３は、ユーザがタッチペンＰでタッチパネル３ｔをタッチすると、ユーザがタッチした対象の情報等をＣＰＵ１１に送信する。
【００１６】
記憶部１４には、図形表示制御装置１の各種機能を実現するための制御プログラムやデータ等を記憶されており、制御プログラムを記憶する記憶領域１４１等を備えている。また、本発明に係る図形表示制御装置１（コンピュータ）に図形表示制御処理を行わせるためのプログラムも記憶領域１４１に記憶されている。
【００１７】
ＲＡＭ１５は、ＣＰＵ１１の作業領域として機能するメモリであり、上記の制御プログラムや本発明に係る図形表示制御処理用のプログラムがＲＡＭ１５上の作業領域に展開されて実行されるとともに、処理中のデータ等を一時的に記憶するメモリとしても機能する。
【００１８】
記録媒体読取部１６は、着脱自在に装着されるＵＳＢ（Universal Serial Bus）メモリ等の外部情報記録媒体１６ａから情報を読み取るものである。通信制御部１７は、図示しないネットワークに接続可能とされており、これにより、ネットワークに接続される外部機器（例えばサーバやコンピュータ等）との通信が可能となっている。
【００１９】
ＣＰＵ１１は、図形表示制御装置１の各部を中央制御する。具体的には、ＣＰＵ１１は、記憶部１４の各記憶領域に記憶されている制御プログラムや各種アプリケーションプログラムの中から指定されたプログラムを読み出してＲＡＭ１５の作業領域に展開し、ＲＡＭ１５に展開されたプログラムとの協働で、各種処理を実行するようになっている。また、ＣＰＵ１１は表示部１３を制御して、ディスプレイ３上に必要な表示を行わせる等の種々の処理を行うようになっている。
【００２０】
［動作］
次に、本実施形態に係る図形表示制御装置１における動作について、図３〜図５に示すフローチャート等に基づいて説明する。また、本実施形態に係る図形表示制御装置１の作用についてもあわせて説明する。なお、以下で説明する図形表示制御装置１の動作は、前述した本発明に係るプログラムに従って行われるため、以下の説明は、本発明に係るプログラムについての説明にもなっている。
【００２１】
ＣＰＵ１１は、ディスプレイ２上にメインメニューが表示された状態で、ユーザによりその中から図形機能（Geometry）が選択され（ステップＳ１；Ｙｅｓ）、描画（Draw）機能が選択されて（ステップＳ２；Ｙｅｓ）、基本図形機能が選択されると（ステップＳ３；Ｙｅｓ）、ユーザの操作により多角形の中から指定された図形の種類（例えば三角形等）を選択する（ステップＳ４）。そして、タッチペンＰでディスプレイ２上のタッチパネル３ｔをタッチするユーザの操作により描画位置の各点（例えば三角形の場合は３つの点）が入力されると（ステップＳ５）、入力された各点に基づいてディスプレイ２上に多角形（例えば三角形）  を描画させる（ステップＳ６）。
【００２２】
ＣＰＵ１１は、このようにしてディスプレイ２上に多角形の図形を表示させる。なお、以下では、ディスプレイ２上に三角形を表示させた場合について説明するが、四角形等の他の多角形を表示させることが可能であることは言うまでもない。
【００２３】
続いて、ＣＰＵ１１は、ユーザにより描画された三角形のいずれかの辺が指定されると（ステップＳ７；Ｙｅｓ）、指定された辺の現在の値と固定／可動のマークを表示する（ステップＳ８）。具体的には、描画された三角形のうち、ユーザにより例えば図８（Ａ）に示すように辺ＢＣがタッチペンＰでタッチされて指定されると（ステップＳ７；Ｙｅｓ）、指定された辺ＢＣを他の辺より太く表示するとともに、辺ＢＣの２箇所に■印を表示する。
【００２４】
そして、ＣＰＵ１１は、指定された辺ＢＣの現在の値を算出して、ディスプレイ２の上側にその値（図８（Ａ）の場合は１．４０９２２）を表示するとともに、この場合は、まだユーザにより辺ＢＣの値が固定されておらず可動の状態（すなわち変更可能な状態）であるから、ディスプレイ２の上側に表示した辺ＢＣの現在の値の右側に、可動マークとして解錠された状態の錠前のマークを表示する。
【００２５】
そして、この状態で指定された辺ＢＣの特性である辺の長さの値を設定するために、ユーザにより数値が入力されると（ステップＳ９）、図示を省略するが、ＣＰＵ１１は、指定された辺ＢＣの特性である辺の長さの値をユーザにより設定された値に変更し、辺ＢＣの値が設定された値になるように図形（すなわち三角形）を変形させて表示させる（ステップＳ１０）。具体的には、ユーザが辺ＢＣの値として例えば２を入力すると（ステップＳ９）、ＣＰＵ１１は、図８（Ａ）の状態から辺ＢＣの値が２になるように伸ばしたり縮めたりして三角形を変形させて表示する（ステップＳ１０）。
【００２６】
そして、この状態で、ユーザによりEXEキーが押下されると、ＣＰＵ１１は、辺ＢＣの値を２に固定して辺ＢＣの部分に値２を設定し、ディスプレイ２の上側の可動マーク（解錠された状態の錠前のマーク）を固定マーク（施錠された状態の錠前のマーク）に変えるとともに、辺ＢＣの近傍に固定マークとともに２を表示させる。なお、図８（Ａ）の辺ＡＢの近傍に表示されている固定マークおよび２は、上記のようにして辺ＡＢの値が２に固定されていることが表されている。
【００２７】
また、ＣＰＵ１１は、ユーザにより描画された三角形のいずれかの角が指定されると（ステップＳ１１；Ｙｅｓ）、指定された角の現在の値と固定／可動のマークを表示する（ステップＳ１２）。本実施形態では、角は、図６（Ａ）に示す角Ｂの場合のように、描画された三角形のうち、ユーザが当該角Ｂをなす２辺ＡＢ、ＢＣをそれぞれタッチペンＰでタッチすることにより指定することができる（ステップＳ１１；Ｙｅｓ）。そして、ＣＰＵ１１は、指定された角Ｂの現在の値を算出して、ディスプレイ２の上側にその値を表示するとともに、角Ｂがまだ固定されていない場合は、その右側に可動マークを表示する（ステップＳ１２）。
【００２８】
そして、指定された角Ｂの特性である角の角度の値を設定するために、この状態で、例えば図６（Ａ）に示すように、ユーザにより数値（この場合は７５）が入力されると（ステップＳ１３；Ｙｅｓ）、ＣＰＵ１１は、指定された角Ｂの特性である角の角度の値をユーザにより設定された値に変更し、角Ｂの値が設定された値になるように図形を変形させて表示させる（ステップＳ１４）。具体的には、ユーザが角Ｂの値として例えば７５を入力すると（ステップＳ１３）、ＣＰＵ１１は、図６（Ａ）に示すように角Ｂの値が７５°になるように角Ｂを拡げたり狭めたりして三角形を変形させて表示する（ステップＳ１４）。
【００２９】
そして、この状態で、ユーザによりEXEキーが押下されると、ＣＰＵ１１は、角Ｂの値を７５°に固定し、ディスプレイ２の上側の可動マークを固定マークに変えるとともに、角Ｂの近傍に固定マークとともに７５を表示させる（図６（Ａ）参照）。
【００３０】
一方、例えば図６（Ａ）に示したように角Ｂが７５°に固定された状態で、ユーザにより辺ＡＢと辺ＡＣとがタッチペンＰでタッチされて角Ａが指定されたが（ステップＳ１１；Ｙｅｓ）、数値が入力されず（ステップＳ１３；Ｎｏ）、図６（Ｂ）に示すようにタッチペンＰでタッチされてスライダ（Slider）設定がなされると（ステップＳ１５；Ｙｅｓ）、ＣＰＵ１１は変更可能角度範囲検出処理（ステップＳ１６）を行う。図４、図５は変更可能角度範囲検出処理を説明するフローチャートである。
【００３１】
変更可能角度範囲検出処理では、ＣＰＵ１１は、この場合、ｎ角形（ｎ≧３）の角（図６（Ｂ）の「Angle」参照）へのスライダ設定操作が行われ（図４のステップＳ３１；Ｙｅｓ）、他の角Ａの角度が７５°に固定されており（ステップＳ３２；Ｙｅｓ）、角度が固定された箇所は角Ａの１箇所であり、すなわちこの場合は三角形（ｎ＝３）であり固定箇所はｎ−１＝３−１＝２箇所ではないから（ステップＳ３３；Ｎｏ）、ステップＳ３４の判断処理に移行する。
【００３２】
そして、他の角度について後述するスライダ範囲設定は行われていないため（ステップＳ３４；Ｎｏ）、ＣＰＵ１１は、ｎ角形の内角の和１８０°×（ｎ−２）に基づいて、設定するスライダＳの範囲の最小値および最大値を、
最小値＝０°
最大値＝１８０°×（ｎ−２）−Σ（固定角度）    …（１）
として設定して（ステップＳ３５）、ユーザが角Ａを変更して設定することができる角度の範囲としての変更可能角度範囲を検出する。この場合、図形は三角形であるからｎ＝３であり、固定角度としては角Ａが７５°に固定されているため、最大値は１０５°と算出される。
【００３３】
そして、ＣＰＵ１１は、設定するスライダＳの範囲の最小値および最大値を設定すると（ステップＳ３５）、変更可能角度範囲検出処理（図３のステップＳ１６）を終了し、指定された角Ａに対して、検出された変更可能角度範囲でスライダＳを設定する（ステップＳ１７）。そして、この場合、変更可能角度範囲は０°〜１０５°であり固定値（すなわち１つの値）ではなく広がりを持つ範囲であるから（ステップＳ１８；Ｎｏ）、ＣＰＵ１１は、図６（Ｃ）に示すようにディスプレイ２上にスライダＳを表示させる。
【００３４】
スライダＳには、左端部に変更可能角度範囲の最小値（この場合は０°）、右端部に最大値（この場合は１０５°）がそれぞれ表示されるようになっている。そして、その下側につまみＳａが表示され、ユーザがタッチペンＰでディスプレイ２上に表示されたつまみＳａにタッチした状態でタッチペンＰを左右にスライドさせることでつまみＳａを左右にスライドさせることができるようになっており、このようにしてスライダ操作を行うことで角（この場合は角Ａ）の角度を上記の範囲内で変更して設定することができるようになっている。
【００３５】
なお、つまみＳａの左右に表示されている左ボタン（左向きの三角形）や右ボタン（右向きの三角形）をタッチペンＰでタッチすると角Ａの角度を例えば５°ずつ変更することができる。また、スライダＳのつまみＳａの上側（例えば変更可能角度範囲の最小値と最大値の中間の位置）には、角Ａの現在の値（図６（Ｃ）の場合は３５°）が表示されており、ユーザがつまみＳａを左右に動かすとそれに応じた角度が表示されるようになっている。
【００３６】
また、ＣＰＵ１１は、スライダＳを表示するとともに、図６（Ｃ）に示すように、角Ａの部分に、角Ａの角度を変更可能角度範囲の最小値（この場合は０°）とした場合の辺ＡＣの位置と、角Ａの角度を変更可能角度範囲の最大値（この場合は１０５°）とした場合の辺ＡＣの位置を、それぞれ例えば赤色の破線ｒ１、ｒ２で表示して、角Ａが取り得る角度をユーザに分かり易く表示するようになっている。
【００３７】
そして、ＣＰＵ１１は、図６（Ｃ）の状態でユーザによりスライダ操作が行われて（図３のステップＳ１９；Ｙｅｓ）、図７（Ａ）に示すように角Ａの値が例えば５０°に設定されると、ユーザの操作に応じてスライダＳで設定された角度（この場合は５０°）をディスプレイ２の上側に表示する（ステップＳ２０）。なお、この場合、角Ａはまだ固定されていないため、その右側には可動マーク（解錠された状態の錠前のマーク）が表示される。
【００３８】
そして、ＣＰＵ１１は、図７（Ａ）に示すように、角Ａの角度を、ユーザによるスライド操作に対応する角度５０°に変更し、角Ａを拡げ、三角形を変形させて表示する（ステップＳ２１）。
【００３９】
また、本実施形態では、図７（Ｂ）に示すように、ユーザが、スライダＳの左端部や右端部に表示されている変更可能角度範囲の最小値や最大値をそれぞれタッチペンＰでタッチし、テンキーを操作して数値を入力してEXEキーを押下することで、角（図７（Ｂ）の場合は角Ａ）の変更可能角度範囲の最小値や最大値を変更することができるようになっている。図７（Ｂ）では、スライダＳ上の変更可能角度範囲の最小値および最大値が０、１０５から３０、６０に（すなわち変更可能角度範囲が０°〜１０５°から３０°〜６０°に）変更された状態が示されている。
【００４０】
一方、図７（Ｂ）に示したように、角Ｂが７５°で固定され、角ＡについてスライダＳで変更可能角度範囲が３０°〜６０°の範囲に設定された状態で、一旦、角Ａに関するスライダＳがディスプレイ２上から消去された後、今度は、図７（Ｃ）に示すように、ユーザにより角Ｃについてスライダ設定がなされたとする（図３のステップＳ１５；Ｙｅｓ）。なお、ディスプレイ２上にスライダＳが表示された状態で、ユーザが、ディスプレイ２上の、スライダＳや図形が表示された部分以外の部分をタッチペンＰでタッチすると、ディスプレイ２上からスライダＳを消去できるようになっている。
【００４１】
上記の場合、図４の変更可能角度範囲検出処理では、角Ｂが７５°に固定され（ステップＳ３２；Ｙｅｓ）、固定箇所は１箇所であり（ステップＳ３３；Ｎｏ）、角ＡについてスライダＳによる変更可能角度範囲の設定（すなわちスライダ範囲設定）がある状態であるから（ステップＳ３４；Ｙｅｓ）、ＣＰＵ１１は、ｎ角形の内角の和１８０°×（ｎ−２）に基づいて、角Ｃについて設定するスライダＳの範囲の最小値および最大値を、
最小値＝１８０°×（ｎ−２）−Σ（固定角度）
−Σ（範囲設定されている最大値）
最大値＝１８０°×（ｎ−２）−Σ（固定角度）
−Σ（範囲設定されている最小値）    …（２）
として設定する（ステップＳ３６）。
【００４２】
具体的には、図７（Ｂ）の状態で、三角形の角Ｂが７５°で固定され、角Ａの変更可能角度範囲が３０°〜６０°の範囲に設定されているため、角Ｃの角度は、４５°〜７５°の範囲でしか設定することができない。そして、上記（２）式を計算すると、
最小値＝１８０°×（３−２）−７５°−６０°
＝４５°
最大値＝１８０°×（３−２）−７５°−３０°
＝７５°
と算出されるため、ステップＳ３６の演算処理によっても、角Ｃが取り得る角度の範囲は４５°〜７５°であると検出される。
【００４３】
そして、ＣＰＵ１１は、上記のようにして角Ｃの変更可能角度範囲の最小値を４５°、最大値を７５°と設定すると（ステップＳ３６）、変更可能角度範囲検出処理（図３のステップＳ１６）を終了し、指定された角Ｃに対して、検出された変更可能角度範囲でスライダＳを設定する（ステップＳ１７）。この場合、変更可能角度範囲は４５°〜７５°であり固定値ではなく広がりを持つ範囲であるから（ステップＳ１８；Ｎｏ）、ＣＰＵ１１は、図７（Ｃ）に示すように、ディスプレイ２上に、最小値が４５、最大値が７５とされたスライダＳを表示させる。なお、図７（Ｃ）では、角Ｃの現在の値（角度）が５５°である場合が示されている。
【００４４】
なお、変更可能角度範囲検出処理において、ユーザによりｎ角形（ｎ≧３）の角へのスライダ設定操作がなされ（ステップＳ３１；Ｙｅｓ）、指定された角以外の他の角の角度が固定されており（ステップＳ３２；Ｙｅｓ）、固定箇所がｎ−１箇所である場合には（ステップＳ３３；Ｙｅｓ）、指定された角の角度θは、
θ＝１８０°×（ｎ−２）−Σ（固定角度）    …（３）
で算出されるが（ステップＳ３７）、この角度θは固定値すなわち１つの値であり（図３のステップＳ１８；Ｙｅｓ）、広がりを持つ範囲ではないため、ＣＰＵ１１は、ディスプレイ２上にエラーメッセージＭｅを表示させて（ステップＳ２２）、指定された角の角度は固定値であることをユーザに知らせる。
【００４５】
すなわち、ＣＰＵ１１は、指定された角の角度θが固定値である場合、例えば後述する図９（Ｃ）に示すように、ディスプレイ２上に、算出した当該角の角度θ（図９（Ｃ）の場合は角Ａ（AngleＡ）の角度θ＝４５°）を表示するとともに、「No slider Set」と表示して、当該角の角度θが固定値であるから、スライダを表示しない旨のエラーメッセージＭｅを表示させるようになっている。
【００４６】
また、変更可能角度範囲検出処理において、ユーザによりｎ角形（ｎ≧３）の角へのスライダ設定操作がなされ（ステップＳ３１；Ｙｅｓ）、指定された角以外の他の角の角度が固定されていない状態で（ステップＳ３２；Ｎｏ）、他の角の角度についてスライダ範囲設定がなされている場合は（ステップＳ３８；Ｙｅｓ）、ＣＰＵ１１は、ｎ角形の内角の和１８０°×（ｎ−２）に基づいて、設定するスライダＳの範囲の最小値および最大値を、
最小値＝０°
最大値＝１８０°×（ｎ−２）−Σ（範囲設定されている最小値）  …（４）
として設定して（ステップＳ３９）、ユーザが当該角を変更して設定することができる角度の範囲としての変更可能角度範囲を検出して、変更可能角度範囲検出処理（図３のステップＳ１６）を終了する。
【００４７】
また、変更可能角度範囲検出処理において、ユーザによりｎ角形（ｎ≧３）の角へのスライダ設定操作がなされたが（ステップＳ３１；Ｙｅｓ）、指定された角以外の他の角の角度が固定されておらず（ステップＳ３２；Ｎｏ）、他の角の角度についてスライダ範囲設定がなされておらず（ステップＳ３８；Ｎｏ）、いずれの辺の長さも固定されていない場合には（ステップＳ４０；Ｎｏ）、ＣＰＵ１１は、ｎ角形の内角の和１８０°×（ｎ−２）に基づいて、設定するスライダＳの範囲の最小値および最大値を、
最小値＝０°
最大値＝１８０°×（ｎ−２）    …（５）
として設定して（ステップＳ４１）、ユーザが当該角を変更して設定することができる角度の範囲としての変更可能角度範囲を検出して、変更可能角度範囲検出処理（図３のステップＳ１６）を終了する。
【００４８】
［図形が三角形である場合の処理］
一方、変更可能角度範囲検出処理において、ユーザによりｎ角形（ｎ≧３）の角へのスライダ設定操作がなされ（ステップＳ３１；Ｙｅｓ）、指定された角以外の他の角の角度が固定されておらず（ステップＳ３２；Ｎｏ）、他の角の角度についてスライダ範囲設定がなされていないが（ステップＳ３８；Ｎｏ）、いずれかの辺の長さが固定されており（ステップＳ４０；Ｙｅｓ）、多角形が三角形である場合には（図５のステップＳ５１；Ｙｅｓ）、ＣＰＵ１１は、変更可能角度範囲検出処理において三角形の性質に応じた処理を行うようになっている。
【００４９】
なお、多角形が三角形でない場合は（ステップＳ５１；Ｎｏ）、ＣＰＵ１１は、上記のステップＳ４１と同様に、設定するスライダＳの範囲の最小値および最大値を上記（５）に従って算出して設定して（ステップＳ５２）、ユーザが当該角を変更して設定することができる角度の範囲としての変更可能角度範囲を検出する。そして、変更可能角度範囲検出処理（図３のステップＳ１６）を終了する。
【００５０】
ＣＰＵ１１は、多角形が三角形であり（ステップＳ５１；Ｙｅｓ）、三角形の３辺の値（長さ）が固定されている場合には（ステップＳ５３；Ｙｅｓ）、三角形のいずれの角も固定された角度すなわち固定値になるから、ユーザの操作に基づいてスライダ設定する角については、固定された３辺から算出される現在の角度を固定値として設定する（ステップＳ５４）。
【００５１】
そして、変更可能角度範囲検出処理（図３のステップＳ１６）を終了するが、この場合は、ユーザにより指定されスライダ設定されようとしている角の変更可能角度範囲が固定値であるから（ステップＳ１８；Ｙｅｓ）、ＣＰＵ１１は、後述する図９（Ｃ）と同様にして、ディスプレイ２上にエラーメッセージＭｅを表示させる（ステップＳ２２）。
【００５２】
また、ＣＰＵ１１は、三角形の３辺が固定されておらず（図５のステップＳ５３；Ｎｏ）、三角形の２辺が同じ値で固定されており（ステップＳ５５；Ｙｅｓ）すなわち三角形が二等辺三角形であり、いずれかの等角（底角ともいう。）にスライダ設定がなされている場合には（ステップＳ５６；Ｙｅｓ）、当該等角について設定するスライダＳの範囲の最小値および最大値を、
最小値＝０°
最大値＝９０°    …（６）
として設定して（ステップＳ５７）、ユーザが当該角を変更して設定することができる角度の範囲としての変更可能角度範囲を検出して、変更可能角度範囲検出処理（図３のステップＳ１６）を終了する。
【００５３】
そして、ＣＰＵ１１は、図８（Ｂ）に示すようにユーザ操作により二等辺三角形の等角Ａが指定されている場合には、指定された等角Ａについて、検出された変更可能角度範囲０°〜９０°でスライダＳを設定し（ステップＳ１７）、図８（Ｃ）に示すようにディスプレイ２上にスライダＳを表示させる。
【００５４】
そして、ＣＰＵ１１は、この状態でユーザによりスライダ操作が行われて（図３のステップＳ１９；Ｙｅｓ）、図９（Ａ）に示すように、等角Ａの値が例えば３０°に変更された場合には、ユーザの操作に応じてスライダＳで設定された角度（この場合は３０°）をディスプレイ２の上側に表示する（ステップＳ２０）。そして、それとともに、図９（Ａ）に示すように、角Ａの角度を、ユーザによるスライド操作に対応する角度３０°に変更して角Ａを狭め、三角形を変形させて表示するが（ステップＳ２１）、その際、二等辺三角形の性質から、もう１つの等角Ｃも等角Ａと同じ３０°に変更される。そのため、等角Ａ、Ｃの角度がいずれも３０°になるように三角形を変形させて表示するようになっている（ステップＳ２１）。
【００５５】
なお、図９（Ｂ）に示すように、三角形の２辺ＡＢ、ＢＣが同じ値で固定されており（図５のステップＳ５５；Ｙｅｓ）、頂角Ｂが例えば９０°で固定されている状態で上記と同様にユーザにより等角Ｂについてスライダ設定された場合、この場合は等角Ｂは４５°の固定値であるから（図３のステップＳ１８；Ｙｅｓ）、ＣＰＵ１１は、図９（Ｃ）に示すように、ディスプレイ２上にエラーメッセージＭｅを表示させる（ステップＳ２２）。
【００５６】
また、図示を省略するが、ＣＰＵ１１は、三角形の２辺が同じ値で固定されており（ステップＳ５５；Ｙｅｓ）すなわち三角形が二等辺三角形であり、いずれかの等角にスライダ設定がなされていない場合（ステップＳ５６；Ｎｏ）すなわち頂角にスライダ設定がなされている場合には、頂角については０°〜１８０°までの角度を設定することができるから、当該頂角について設定するスライダＳの範囲の最小値および最大値を、
最小値＝０°
最大値＝１８０°    …（７）
として設定して（ステップＳ５８）、ユーザが当該角を変更して設定することができる角度の範囲としての変更可能角度範囲を検出して、変更可能角度範囲検出処理（図３のステップＳ１６）を終了する。そして、ＣＰＵ１１は、指定された頂角について、検出された変更可能角度範囲０°〜１８０°でスライダＳを設定して（ステップＳ１７）、ディスプレイ２上にスライダＳを表示させる。
【００５７】
また、図示を省略するが、三角形の２辺が同じ値で固定されてはいないが（図５のステップＳ５５；Ｎｏ）、スライダ設定する角をなす２辺が固定されている場合（ステップＳ５９；Ｙｅｓ）、すなわち値が固定された２辺の間の角であり０°〜１８０°までの角度を設定することができるから、ＣＰＵ１１は、当該角について設定するスライダＳの範囲の最小値および最大値を、上記（７）式と同じく
最小値＝０°
最大値＝１８０°
として設定して（ステップＳ５８）、ユーザが当該角を変更して設定することができる角度の範囲としての変更可能角度範囲を検出して、変更可能角度範囲検出処理（図３のステップＳ１６）を終了する。そして、ＣＰＵ１１は、指定された角について、検出された変更可能角度範囲０°〜１８０°でスライダＳを設定して（ステップＳ１７）、ディスプレイ２上にスライダＳを表示させる。
【００５８】
一方、ＣＰＵ１１は、多角形が三角形であるが（図５のステップＳ５１；Ｙｅｓ）、ステップＳ５３、Ｓ５５、Ｓ５９のいずれも成立しない場合（すなわちＮｏの場合）、ユーザがスライダ設定する角をなす２辺のうちの１辺の値（長さ）をｐ、スライダ設定する角と対向する辺すなわち対辺の値（長さ）をｑと設定して（ステップＳ６０）、
ｐ＜ｑ    …（８）
が成立するか否かを判断する（ステップＳ６１）。
【００５９】
具合的には、例えば図１０（Ａ）に示すように、辺ＡＢの値が１、辺ＡＣの値が２である場合に、ユーザにより角Ｃについてスライダ設定される場合には、ｐ＝２、ｑ＝１であるから、ＣＰＵ１１は、ｐ＜ｑではないこと（ステップＳ６１；Ｎｏ）すなわちｐ（１辺の値）がｑ（対辺の値）以上であることを検出する。そして、この場合（ステップＳ６１；Ｎｏ）、ＣＰＵ１１は、上記１辺の値ｐと対辺の値ｑとの関係に基づいて、角Ｃについて設定可能な角度の値の範囲の最大値を検出するようになっている。
【００６０】
すなわち、三角形においては正弦定理が成り立ち、角Ａ、Ｂ、Ｃの角度をそれぞれＡ、Ｂ、Ｃとし、角Ａ、Ｂ、Ｃの対辺の長さをそれぞれａ、ｂ、ｃとすると、
ａ／sinＡ＝ｂ／sinＢ＝ｃ／sinＣ    …（９）
の関係がある。そして、式（９）を変形すると、
sinＣ＝sinＢ×ｃ／ｂ
Ｃ＝sin−１（sinＢ×ｃ／ｂ）    …（１０）
が成り立つ。
【００６１】
そして、上記の場合、ｐがｂに、ｑがｃにそれぞれ対応するから、上記（１０）は、
Ｃ＝sin−１（sinＢ×ｑ／ｐ）    …（１１）
と表すことができ、sinＢは最大値としてＢ＝９０°の場合の１をとることができるため、角Ｃの値（角度）として設定し得る最大値（すなわち角Ｃについて設定可能な角度の値の範囲の最大値）はsinＢ＝１の場合の、Ｃ＝sin−１（ｑ／ｐ）となる。
【００６２】
そこで、ＣＰＵ１１は、上記のように、ｐ＜ｑではないこと（ステップＳ６１；Ｎｏ）すなわちｐ（１辺の値）がｑ（対辺の値）以上であることを検出すると、角Ｃについて設定可能な角度の値の範囲の最大値をsin−１（ｑ／ｐ）と検出する。そして、ＣＰＵ１１は、当該角Ｃについて設定するスライダＳの範囲の最小値および最大値を、
最小値＝０°
最大値＝sin−１（ｑ／ｐ）    …（１２）
として設定して（ステップＳ６２）、ユーザが当該角を変更して設定することができる角度の範囲としての変更可能角度範囲を検出して、変更可能角度範囲検出処理（図３のステップＳ１６）を終了する。
【００６３】
そして、図１０（Ａ）に示した場合には、ｐ＝２、ｑ＝１であり、sin−１（ｑ／ｐ）＝３０°であるから、ＣＰＵ１１は、図１０（Ｂ）に示すように、指定された角Ｃについて、検出された変更可能角度範囲０°〜３０°でスライダＳを設定して（図３のステップＳ１７）、ディスプレイ２上にスライダＳを表示させる。
【００６４】
また、例えば、ユーザにより、図１０（Ｂ）に示した状態からスライダＳが消去され、図１０（Ｃ）に示すように三角形の辺ＡＢの値が例えば１から２．５に変更されて角Ｃについてスライダ設定されると、今度は上記のｐが２でありｑが２．５になって、ｐ＜ｑが成立する（図５のステップＳ６１；Ｙｅｓ）。そして、この場合は、角Ｃは０°〜１８０°の範囲の値をとれるようになる。
【００６５】
そのため、ＣＰＵ１１は、この場合は、当該角Ｃについて設定するスライダＳの範囲の最小値および最大値を、上記（７）式と同じく
最小値＝０°
最大値＝１８０°
として設定して（ステップＳ５８）、ユーザが当該角を変更して設定することができる角度の範囲としての変更可能角度範囲を検出して、変更可能角度範囲検出処理（図３のステップＳ１６）を終了する。そして、ＣＰＵ１１は、指定された角Ｃについて、検出された変更可能角度範囲０°〜１８０°でスライダＳを設定して（ステップＳ１７）、図１１（Ａ）に示すようにディスプレイ２上にスライダＳを表示させる。
【００６６】
なお、ユーザにより、図１０（Ｂ）に示した状態や図１１（Ａ）に示した状態からスライダＳが消去され、例えば図１１（Ｂ）に示すように三角形の辺ＡＢの値が例えば２に変更されると、今度は、三角形が二等辺三角形になる。そのため、図１１（Ｃ）に示すように角Ｃについてスライダ設定された場合、ＣＰＵ１１は、図５のフローチャートのステップ５５、Ｓ５６の判断がいずれも成立するため、当該角Ｃについて設定するスライダＳの範囲の最小値および最大値を、上記（６）式と同じく
最小値＝０°
最大値＝９０°
として設定して（ステップＳ５７）、ユーザが当該角を変更して設定することができる角度の範囲としての変更可能角度範囲を検出して、変更可能角度範囲検出処理（図３のステップＳ１６）を終了する。
【００６７】
そして、ＣＰＵ１１は、指定された角Ｃについて、検出された変更可能角度範囲０°〜９０°でスライダＳを設定して（ステップＳ１７）、図１１（Ｃ）に示すようにディスプレイ２上にスライダＳを表示させることになる。
【００６８】
［効果］
以上のように、本実施形態に係る図形表示制御装置１およびプログラムによれば、ディスプレイ２上に表示された多角形の角について設定可能な角度の値をディスプレイ２上に的確に表示することが可能となり、ユーザの使い勝手を的確に向上させることが可能となる。
【００６９】
以上、本発明の実施形態やいくつかの変形例を説明したが、本発明の範囲は、上述の実施形態等に限定するものではなく、特許請求の範囲に記載された発明の範囲とその均等の範囲を含む。
以下に、この出願の願書に最初に添付した特許請求の範囲に記載した発明を付記する。付記に記載した請求項の項番は、この出願の願書に最初に添付した特許請求の範囲の通りである。
〔付記〕
＜請求項１＞
ディスプレイ上に多角形の図形を表示させる制御を行う図形表示制御手段と、
前記表示された図形の一または複数の角または辺に特性を示す値を設定する図形値設定手段と、
前記図形値設定手段により設定された特性を示す値に対応して、前記表示された図形のいずれかの角について、前記特性を示す値としての設定可能な角度の値の範囲を検出する角度範囲検出手段と、
当該角について、検出された設定可能な角度の値の範囲を表示する制御を行う角度範囲表示制御手段と、
を備えることを特徴とする図形表示制御装置。
＜請求項２＞
前記角度範囲表示制御手段は、前記角について、検出された設定可能な角度の値の範囲の最小値および最大値を表示するとともに、ユーザが前記ディスプレイ上でつまみをスライドさせることで前記設定可能な角度の値を前記範囲内で設定するためのスライダを前記ディスプレイ上に表示させることを特徴とする請求項１に記載の図形表示制御装置。
＜請求項３＞
前記角度範囲検出手段は、前記多角形のうち、前記図形値設定手段により値が設定された角を検出し、多角形の内角の和に基づいて前記角について前記設定可能な角度の値の範囲を検出することを特徴とする請求項１または請求項２に記載の図形表示制御装置。
＜請求項４＞
前記多角形は三角形であり、
前記角度範囲検出手段は、前記三角形の２辺が等しいことを検出した場合には、前記２辺が等しいことに基づいて前記角について前記設定可能な角度の値の範囲を検出することを特徴とする請求項１から請求項３のいずれか一項に記載の図形表示制御装置。
＜請求項５＞
前記多角形は三角形であり、
前記角度範囲検出手段は、前記角の対辺と、前記角をなす２辺のうちの１辺とにそれぞれ値が設定されており、前記１辺の値が前記対辺の値以上であることを検出した場合には、前記１辺の値と前記対辺の値との関係に基づいて前記角について前記設定可能な角度の値の範囲の最大値を検出することを特徴とする請求項１から請求項４のいずれか一項に記載の図形表示制御装置。
＜請求項６＞
コンピュータを、
ディスプレイ上に多角形の図形を表示させる制御を行う図形表示制御手段と、
前記表示された図形の一または複数の角または辺の図形部分に特性を示す値を設定する図形値設定手段と、
前記図形値設定手段により設定された特性を示す値に対応して、前記表示された図形のいずれかの角について、前記特性を示す値としての設定可能な角度の値の範囲を検出する角度範囲検出手段と、
当該角について、検出された設定可能な角度の値の範囲を表示する制御を行う角度範囲表示制御手段、
として機能させるためのプログラム。
【符号の説明】
【００７０】
１        図形表示制御装置
２        ディスプレイ
１１      ＣＰＵ（図形表示制御手段、図形値設定手段、角度範囲検出手段、角度範囲表示制御手段）
ｐ        角をなす２辺のうちの１辺の値
ｑ        対辺の値
Ｓ        スライダ
Ｓａ      つまみ
【図１】
0006477061.tif 000002
【図２】
0006477061.tif 000003
【図３】
0006477061.tif 000004
【図４】
0006477061.tif 000005
【図５】
0006477061.tif 000006
【図６】
0006477061.tif 000007
【図７】
0006477061.tif 000008
【図８】
0006477061.tif 000009
【図９】
0006477061.tif 000010
【図１０】
0006477061.tif 000011
【図１１】
0006477061.tif 000012