IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ キヤノンマーケティングジャパン株式会社の特許一覧 ▶ エーアンドエー株式会社の特許一覧

特許7236015電子機器、電子機器の制御方法、及びプログラム
<>
  • 特許-電子機器、電子機器の制御方法、及びプログラム 図1
  • 特許-電子機器、電子機器の制御方法、及びプログラム 図2
  • 特許-電子機器、電子機器の制御方法、及びプログラム 図3
  • 特許-電子機器、電子機器の制御方法、及びプログラム 図4
  • 特許-電子機器、電子機器の制御方法、及びプログラム 図5
  • 特許-電子機器、電子機器の制御方法、及びプログラム 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2023-03-01
(45)【発行日】2023-03-09
(54)【発明の名称】電子機器、電子機器の制御方法、及びプログラム
(51)【国際特許分類】
   G06F 30/10 20200101AFI20230302BHJP
   G06F 3/04845 20220101ALI20230302BHJP
   G06F 30/12 20200101ALI20230302BHJP
【FI】
G06F30/10 100
G06F3/04845
G06F30/12
【請求項の数】 15
(21)【出願番号】P 2022072218
(22)【出願日】2022-04-26
【審査請求日】2022-05-31
【早期審査対象出願】
(73)【特許権者】
【識別番号】390002761
【氏名又は名称】キヤノンマーケティングジャパン株式会社
(73)【特許権者】
【識別番号】501065122
【氏名又は名称】エーアンドエー株式会社
(74)【代理人】
【識別番号】100189751
【弁理士】
【氏名又は名称】木村 友輔
(72)【発明者】
【氏名】川崎 亮司
【審査官】合田 幸裕
(56)【参考文献】
【文献】特開平05-046722(JP,A)
【文献】特開2002-056402(JP,A)
【文献】特開平06-266783(JP,A)
【文献】特開昭61-203248(JP,A)
【文献】中国特許出願公開第101839693(CN,A)
【文献】国際公開第95/01608(WO,A1)
【文献】汎用2次元CADシステムCS-21 図形処理編,日本,株式会社東芝,1994年12月20日,第A3版,第22-34頁
(58)【調査した分野】(Int.Cl.,DB名)
G06F 30/10
G06F 3/04845
G06F 30/12
IEEE Xplore
JSTPlus(JDreamIII)
(57)【特許請求の範囲】
【請求項1】
既存の円の指定を受け付ける第1の受付手段と、
画面上の位置の指定を受け付ける第2の受付手段と、
画面上の位置の指定を受け付ける操作とは異なる操作によるユーザーからの半径の指定を受け付ける第3の受付手段と、
前記第2の受付手段で受け付けた指定位置が、前記第1の受付手段で指定を受け付けた円である指定円の内側である場合には前記指定円に内接する円であって、前記第3の受付手段で受け付けた指定された半径である指定半径の円を表示し、
前記指定位置が、前記指定円の外側である場合には前記指定円に外接する前記指定半径の円を表示するように制御する制御手段と
を有することを特徴とする電子機器。
【請求項2】
前記第3の受付手段は、半径の指定として数値入力操作を受け付けることを特徴とする請求項1に記載の電子機器。
【請求項3】
前記制御手段はさらに、前記指定半径を入力するための入力領域を表示するように制御し、
前記第3の受付手段は、半径の指定として前記入力領域への前記数値入力操作を受け付けることを特徴とする請求項2に記載の電子機器。
【請求項4】
前記制御手段は、前記第1の受付手段で既存の円の指定を受け付けたことに応じて前記入力領域を表示するように制御することを特徴とする請求項3に記載の電子機器。
【請求項5】
前記第2の受付手段は、前記3の受付手段で半径の指定を受け付けた後に画面上の位置の指定を受け付けることを特徴とする請求項1に記載の電子機器。
【請求項6】
前記第1の受付手段で既存の円の指定を受け付け、前記第3の受付手段で半径の指定を受け付けると、前記制御手段は、マウスカーソルの位置を前記指定位置として、前記カーソルの位置の移動に応じて動的な位置前記指定半径の前記内接する円または前記指定半径で前記外接する円を表示するように制御することを特徴とする請求項に記載の電子機器。
【請求項7】
前記第1の受付手段で既存の円の指定を受け付け、前記第3の受付手段で半径の指定を受け付けた後に、クリック操作があったことに応じて、前記制御手段は、前記クリック操作があった際のカーソルの位置を前記指定位置として、前記内接する円または前記外接する円を、図面の構成要素として配置するように制御することを特徴とする請求項1に記載の電子機器。
【請求項8】
前記制御手段は、第1のクリック操作に応じて前記指定円に内接する第1の円または外接する第2の円を配置した後、他の操作をすることなく行われた第2のクリック操作があったことに応じて、前記第2のクリック操作によって指定された位置を指定位置として、
前記指定円に内接する第3の円または外接する第4の円を配置するように制御することを特徴とする請求項に記載の電子機器。
【請求項9】
前記図面はCAD図面であることを特徴とする請求項に記載の電子機器。
【請求項10】
前記制御手段は、前記内接する円または前記外接する円として、前記指定位置と前記指定円の中心とを通る直線上に中心点を持つ円であって、前記指定半径の円を表示するように制御することを特徴とする請求項に記載の電子機器。
【請求項11】
前記制御手段は、既存の円以外の図形の指定を受け付けた場合に、円を選択することを促す通知をするように制御することを特徴とする請求項1に記載の電子機器。
【請求項12】
既存の円の指定を受け付ける第1の受付手段と、
画面上の位置の指定を受け付ける第2の受付手段と、
画面上の位置の指定を受け付ける操作とは異なる操作によるユーザーからの半径の指定を受け付ける第3の受付手段と、
前記第2の受付手段で受け付けた指定位置と、前記第1の受付手段で指定を受け付けた円である指定円の中心とを通る直線上に中心点を持つ円であって、前記第3の受付手段で受け付けた指定された半径である指定半径の円であり、かつ、前記指定円に接する円を表示するように制御する制御手段と
を有することを特徴とする電子機器。
【請求項13】
コンピュータを、請求項1乃至12のいずれか1項に記載された電子機器の各手段として機能させるためのプログラム。
【請求項14】
既存の円の指定を受け付ける第1の受付ステップと、
画面上の位置の指定を受け付ける第2の受付ステップと、
画面上の位置の指定を受け付ける操作とは異なる操作によるユーザーからの半径の指定を受け付ける第3の受付ステップと、
前記第2の受付ステップで受け付けた指定位置が、前記第1の受付ステップで指定を受け付けた円である指定円の内側である場合には前記指定円に内接する円であって、前記第3の受付ステップで受け付けた指定された半径である指定半径の円を表示し、
前記指定位置が、前記指定円の外側である場合には前記指定円に外接する前記指定半径の円を表示するように制御する制御ステップと
を有することを特徴とする電子機器の制御方法。
【請求項15】
既存の円の指定を受け付ける第1の受付ステップと、
画面上の位置の指定を受け付ける第2の受付ステップと、
画面上の位置の指定を受け付ける操作とは異なる操作によるユーザーからの半径の指定を受け付ける第3の受付ステップと、
前記第2の受付ステップで受け付けた指定位置と、前記第1の受付ステップで指定を受け付けた円である指定円の中心とを通る直線上に中心点を持つ円であって、前記第3の受付手段で受け付けた指定された半径である指定半径の円であり、かつ、前記指定円に接する円を表示するように制御する制御ステップと
を有することを特徴とする電子機器の制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
図形を描画することが可能な電子機器、その制御方法、及びプログラムに関する。
【背景技術】
【0002】
電子機器において、円や矩形の作図といった図形の描画が行われており、より操作性の描画方法が求められている。
【0003】
特許文献1には、次の描画方法が提案されている。すなわち、立体図形の描画領域Ad(Xmin-max/Ymin-max/Zmin-max)を設定し、円柱FCの描画用データ(半径R/高さZ/中心座標X,Y)を入力する。領域Ad及び円柱FCの描画用データに基づき、円柱FCの両端の円FCa,FCbは、円の中心Oと円の円周を複数分割した円周上の隣合う分割点A,Bとを頂点O,A,Bとする複数の三角形tnにより描画する。三角形tnの頂点O,A,Bのうち、O,A又はO,Bが領域Ad外になる場合とO,A,B全て領域Ad外になる場合は三角形tnを描画せず、A,Bの何れか又は両方が領域Ad外の場合とOだけ領域Ad外の場合は、領域外の頂点を領域Adを画定する境界上に置換して三角形tnを描画する。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2018-116434号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1では、円の作図の際の操作性に改善の余地があった。
【0006】
そこで本発明は、上記課題に鑑み、より操作性よく円の作図を行える技術を提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明の電子機器は、
既存の円の指定を受け付ける第1の受付手段と、
画面上の位置の指定を受け付ける第2の受付手段と、
画面上の位置の指定を受け付ける操作とは異なる操作によるユーザーからの半径の指定を受け付ける第3の受付手段と、
前記第2の受付手段で受け付けた指定位置が、前記第1の受付手段で指定を受け付けた円である指定円の内側である場合には前記指定円に内接する円であって、前記第3の受付手段で受け付けた指定された半径である指定半径の円を表示し、
前記指定位置が、前記指定円の外側である場合には前記指定円に外接する前記指定半径の円を表示するように制御する制御手段と
を有することを特徴とする。
【発明の効果】
【0008】
本発明によれば、より操作性よく円の作図を行える。
【図面の簡単な説明】
【0009】
図1】電子機器の構成の一例を示す図である。
図2】編集ソフトによる作図処理のフローチャートである。
図3】ツール1処理のフローチャートである。
図4】ツール2処理のフローチャートである。
図5】ツール3処理のフローチャートである。
図6】ツール1~3処理を説明する表示例である。
【発明を実施するための形態】
【0010】
図1に、本発明を適用可能な装置の一例としての電子機器100の構成の一例を示す。電子機器100は、パーソナルコンピュータ(以下、PC)などを用いて構成可能なものである。
【0011】
図1において、内部バス150に対してCPU101、メモリ102、不揮発性メモリ103、画像処理部104、ディスプレイ105、操作部106、記録媒体I/F107、外部I/F109、通信I/F110、カメラ部112が接続されている。内部バス150に接続される各部は、内部バス150を介して互いにデータのやりとりを行うことができるようにされている。
【0012】
メモリ102は、例えばRAM(半導体素子を利用した揮発性のメモリなど)からなる。CPU101は、例えば不揮発性メモリ103に格納されるプログラムに従い、メモリ102をワークメモリとして用いて、電子機器100の各部を制御する。不揮発性メモリ103には、画像データや音声データ、その他のデータ、CPU101が動作するための各種プログラムなどが格納される。不揮発性メモリ103は、例えばハードディスク(HD)やROMなどで構成される。
【0013】
画像処理部104は、CPU101の制御に基づいて、不揮発性メモリ103や記録媒体108に格納された画像データや、外部I/F109を介して取得した映像信号、通信I/F110を介して取得した画像、撮像された画像などに対して各種画像処理を施す。画像処理部104が行う画像処理には、A/D変換処理、D/A変換処理、画像データの符号化処理、圧縮処理、デコード処理、拡大/縮小処理(リサイズ)、ノイズ低減処理、色変換処理などが含まれる。画像処理部104は、特定の画像処理を施すための専用の回路ブロックで構成しても良い。また、画像処理の種別によっては、画像処理部104を用いずに、CPU101がプログラムに従って画像処理を施すことも可能である。
【0014】
ディスプレイ105は、CPU101の制御に基づいて、画像やGUI(Graphical User Interface)を構成するGUI画面などを表示する。CPU101は、プログラムに従い表示制御信号を生成し、ディスプレイ105に表示するための映像信号を生成してディスプレイ105に出力するように、電子機器100の各部を制御する。ディスプレイ105は、出力された映像信号に基づいて映像を表示する。なお、電子機器100自体が備える構成としては、ディスプレイ105に表示させるための映像信号を出力するためのインターフェースまでとし、ディスプレイ105は、外付けのモニタ(テレビなど)で構成してもよい。
【0015】
操作部106は、キーボードなどの文字情報入力デバイスや、マウスやタッチパネルといったポインティングデバイス、ボタン、ダイヤル、ジョイスティック、タッチセンサ、タッチパッドなどを含む、ユーザー操作を受け付けるための入力デバイスである。なお、タッチパネルは、ディスプレイ105に重ね合わせて平面的に構成され、接触された位置に応じた座標情報が出力されるようにした入力デバイスである。CPU101は、操作部106に含まれる位置入力部材に対するユーザー操作に応じて入力される画面上の位置(入力位置)を取得する。例えばマウス操作によって移動するマウスカーソルの位置を入力位置として取得する(位置受付)。あるいは、タッチパネルに対してタッチされた位置を入力位置として取得する。
【0016】
記録媒体I/F107は、メモリーカードやCD、DVDといった記録媒体108が装着可能とされ、CPU101の制御に基づき、装着された記録媒体108からのデータの読み出しや、当該記録媒体108に対するデータの書き込みを行う。外部I/F109は、外部機器と有線ケーブルや無線によって接続し、映像信号や音声信号の入出力を行うためのインターフェースである。通信I/F110は、外部機器やインターネット111などと通信して、ファイルやコマンドなどの各種データの送受信を行うためのインターフェースである。
【0017】
カメラ部112は、光学像を電気信号に変換するCCDやCMOS素子等で構成される撮像素子(撮像センサ)等で構成されるカメラユニットである。カメラ部112には、ズームレンズやフォーカスレンズを含むレンズ群(撮影レンズ)、絞り機能を備えるシャッタ、撮像素子、撮像素子から出力されるアナログ信号をデジタル信号に変換するA/D変換器、撮像系を覆って汚れや破損を防止するバリアを含む。画像処理部104は、カメラ部112で撮像して取得したデータに対し、所定の画素補間、縮小といったリサイズ処理や色変換処理を行う。画像処理部104により得られた演算結果に基づいて、CPU101が露光制御、測距制御、AWB(オートホワイトバランス)処理を行う。カメラ部112で撮像され、画像処理部104で画像処理された表示用の画像データは、ディスプレイ105により表示される。カメラ部112で撮像され、A/D変換器によって一度A/D変換され、メモリ102に蓄積されたデジタル信号をD/A変換器でアナログ変換し、ディスプレイ105に逐次転送して表示することで、ライブビュー表示(LV表示)を行える。カメラ部112は、静止画及び動画の撮影が可能である。
【0018】
図2は、電子機器100における編集ソフトウェア(CADアプリケーションソフトウェア、以下、単にCADソフトと称する)を起動した場合に実行される図形の作図処理のフローチャートである。このフローチャートおける各処理は、CPU101が不揮発性メモリ103に格納されたプログラムをメモリ102に展開して実行することにより実現される。図2の処理を実行可能なCADのソフトの起動指示があると図2の処理が開始される。図2は、CADソフトの処理である。
【0019】
S201では、CPU101は、ディスプレイ105に対して、初期表示を行うように制御する。例えば、図6(a)に示すようなCADソフトの表示のためのウインドウを表示する。ウインドウには、戻るボタン601、終了ボタン602、図面表示領域600、ツールパレット610などが表示される。なお、後述する処理でなんらかの表示を行う処理の表示先は全てディスプレイ105であるものとする。ツールパレット610は、複数用意されたツールパレットのうち、「接円・周長円ツール」のツールパレットであり、ツールアイコン611~616が表示される。後述するツール1~3は、ツールアイコン614~616に対応する。また、ユーザーによってファイルを開く指示が行われた場合には、開くことを指示されたファイルを開いて表示する。ファイルは、例えば、図6(a)の図面表示領域600に表示される対象となる図面のファイルである。図面のファイルに記録された図面は、例えば、CADソフトで作成されたCAD図面である。ファイルを開く指示が行われた場合には、CPU101は、指示された図面のファイルを不揮発性メモリ103から読み込み、読み込んだファイルの図面をディスプレイ105に表示するように制御する。図6(a)の例では、図面表示領域600に、図面の要素(構成部品)として、円620(円オブジェクト)、線分630を含む図面が表示される。なお、点線631は後述する処理を説明するために補助線として図示したものであり、実際には表示されないものとする(図面の一部ではないものとする)。
【0020】
S202では、CPU101は、ユーザーの操作部106からの図面の編集操作の受付を行い、受け付けた操作に応じて各種図形、オブジェクトを描画する。ツール1~3を用いた図形描画は後述するためここでの処理には含まれないものとする。
【0021】
S203では、CPU101は、ツール1が選択された(ツールアイコン614がクリックされた)か否かを判定する。ツール1が選択された場合にはS204に進む。S204では、CPU101は、ツール1処理を実行する。ツール1処理については図3を用いて後述する。
【0022】
S205では、CPU101は、ツール2が選択された(ツールアイコン615がクリックされた)か否かを判定する。ツール2が選択された場合にはS206に進む。S206では、CPU101は、ツール2処理を実行する。ツール2処理については図4を用いて後述する。
【0023】
S207では、CPU101は、ツール3が選択された(ツールアイコン616がクリックされた)か否かを判定する。ツール3が選択された場合にはS208に進む。S208では、CPU101は、ツール3処理を実行する。ツール3処理については図5を用いて後述する。
【0024】
S209では、CPU101は、ファイルを保存する操作があったか否かを判定する。ファイルを保存する操作があった場合には、S210に進み、不揮発性メモリ103にCADファイルを保存する。これによって、ツール1~3処理で作図されたオブジェクト(図形)を含む図面が保存される。
【0025】
S211では、CPU101は、CADファイルを閉じる(終了させる)操作があったか否かを判定する。CADファイルを閉じる(終了させる)操作が無い場合にはS202に戻って処理を繰り返し、CADファイルを閉じる(終了させる)操作があった場合には、CADソフトを閉じ、図2の処理を終了する。
【0026】
図3に、ツール1処理のフローチャートを示す。このフローチャートは、前述した図2のS204の処理の詳細である。
【0027】
S301では、CPU101は、図面に含まれる既に描画済み(配置済み)の円(例えば円620)が選択されたか否かを判定する。ツール1が選択された(ツールアイコン614がクリックされた)後に、既存の円が選択されたか、既存の円が選択された状態でツール1が選択された場合にはS305に進み、そうでない場合、すなわち既存の円が選択されていない場合にはS302に進む。
【0028】
S302では、CPU101は、円以外の既存オブジェクトが選択されたか否かを判定する。ツール1が選択された(ツールアイコン614がクリックされた)後に、円以外の既存オブジェクトが選択されたか、円以外の既存オブジェクトが選択された状態でツール1が選択された場合にはS303に進み、そうでない場合にはS304に進む。
【0029】
S303では、CPU101は、警告ダイアログを表示し、「円を選択してください」と、円を選択することを促すメッセージを表示(通知)する。
【0030】
S304では、CPU101は、ツール1以外の他のツールが選択されたか否かを判定する。他のツールが選択された場合にはツール1処理を終了し、そうでない場合にはS301に戻って処理を繰り返す。
【0031】
S305では、CPU101は、半径入力ダイアログボックス(以下、ダイアログボックスを単にダイアログと称する)を図面に重畳して表示する。半径入力ダイアログには、半径の長さを数値で入力するためのテキストボックスと、OKボタン、キャンセルボタンが表示される。
【0032】
S306では、CPU101は、半径入力ダイアログへの半径の数値入力操作の受付を行う。ユーザーは、キーボードなどを用いて、半径入力ダイアログのテキストボックスへ所望の半径を入力する。すなわち、CPU101は、半径の設定受付を行う。
【0033】
S307では、CPU101は、半径入力ダイアログのテキストボックスに数値が入力された状態でOKボタンがクリック(押下)されたか否かを判定する。数値入力済みでOKボタンが押下された場合はS308へ進み、そうでない場合にはS306へ戻る。。
【0034】
S308では、CPU101は、プレビュー表示を行う。プレビュー表示では、現在のマウスカーソル位置(座標)に基づいて、そこでクリックされた場合にS311またはS312で描画される円を仮表示する。これはマウス位置に応じて動的に変化する。
【0035】
より詳しくは、現在のマウスカーソルでの入力座標が、S301で指定されたと判定された指定円(本実施形態では円620が指定された場合を説明する)の内側であれば、次のように円をマウスカーソル位置に応じて動的に描画する。すなわち、現在のマウスカーソルの位置と指定円の中心座標とを通る直線上であって、指定円の中心座標よりもカーソル位置側の指定円の円周面から、指定円の内側方向にS306で入力された半径の距離に中心座標を持つ、S306で入力された半径の円を描画する(仮描画)。この仮描画された円は、指定円に内接する。
【0036】
また、現在のマウスカーソルでの入力座標が、S301で指定されたと判定された指定円の外側であれば、次のように円をマウスカーソル位置に応じて動的に描画する。すなわち、現在のマウスカーソルの位置と指定円の中心座標とを通る直線上であって、指定円の中心座標よりもカーソル位置側の指定円の円周面から、指定円の弧の外側方向にS306で入力された半径の距離に中心座標を持つ、S306で入力された半径の円を描画する(仮描画)。この仮描画された円は、指定円に外接する。
【0037】
ユーザーは、S308のプレビュー表示を見ることで、今クリックすることで所望の円が作図できるのかを予め確認することができる。
【0038】
S309では、CPU101は、図面上(図面表示領域600内)にマウスカーソルがある状態でクリックされたか否かを判定する。図面上でクリックされた場合にはS310に進み、そうでない場合にはS313に進む。
【0039】
S310では、CPU101は、クリックされた際のマウスカーソルの位置(入力位置、入力座標)が、指定済みの円(指定円、例えば円620)の内部領域(円の内側)であるか否かを判定する。内部領域である場合にはS311に進み、そうでない場合にはS312に進む。
【0040】
S311では、CPU101は、S306で入力された半径(指定半径)の円(内接円オブジェクト)を、指定済みの円(指定円、例えば円620)に内接して配置する(表示する)。より詳しくは、クリックされた際の入力座標と指定円の中心座標とを通る直線上であって、指定円の中心座標よりも入力座標側の指定円の円周面から、指定円の弧の内側方向にS306で入力された半径の距離に中心座標を持つ、S306で入力された半径の円を描画する(本描画)。ここで描画される円は図面の構成要素としてのオブジェクトである。
【0041】
図6(b)に、S311で描画される内接円の例を示す。指定円が円620であり、描画される内接円が円621である。クリックされた際の入力座標(ユーザーによる入力座量)が点U1であった場合、点U1は、円620の内側に位置している。そのため、クリックされた際の入力座標であるU1と指定円の中心座標Cとを通る直線L1上であって、指定円の中心座標Cよりも点UI側の円620の円周面から、指定円の弧の内側方向にS306で入力された半径の距離に中心座標P1を持つ、S306で入力された半径の円621を描画する。なお、図6(b)において、点線や点を示す黒丸など(すなわち、円620と円621以外の要素)は説明のために図示したものであって、表示されるものではない。
【0042】
S312では、CPU101は、S306で入力された半径(指定半径)の円(外接円オブジェクト)を、指定済みの円(指定円、例えば円620)に外接して配置する(表示する)。より詳しくは、クリックされた際の入力座標と指定円の中心座標とを通る直線上であって、指定円の円周面から指定円の弧の外側方向にS306で入力された半径の距離に中心座標を持つ、S306で入力された半径の円を描画する(本描画)。ここで描画される円は図面の構成要素としてのオブジェクトである。
【0043】
図6(c)に、S312で描画される外接円の例を示す。指定円が円620であり、描画される外接円が円622である。クリックされた際の入力座標(ユーザーによる入力座量)が点U2であった場合、点U2は、円620の外側に位置している。そのため、クリックされた際の入力座標であるU2と指定円の中心座標Cとを通る直線L2上であって、円620の円周面から指定円の外側にS306で入力された半径の距離に中心座標P2を持つ、S306で入力された半径の円622を描画する。なお、図6(c)において、点線や点を示す黒丸など(すなわち、円620と円622以外の要素)は説明のために図示したものであって、表示されるものではない。
【0044】
S313では、CPU101は、ツール1以外の他のツールが選択されたか否かを判定する。他のツールが選択された場合にはツール1処理を終了し、そうでない場合にはS308に戻って処理を繰り返す。S308に進んだ後、さらにクリックをすれば、クリックを行った分だけ、S306で指定した半径の円を配置できる。すなわち、円を配置したい位置をプレビューで確認しながらクリックを繰り返すだけで、同じ円に接する円を複数連続して描画(配置)することができる。すなわち、CPU101は、第1のクリック操作に応じて指定円に内接する第1の円または外接する第2の円を配置した後、他の操作をすることなく行われた第2のクリック操作があったことに応じて、前記第2のクリック操作によって指定された位置を指定位置として、同じ指定円に内接する第3の円または外接する第4の円を配置する。
【0045】
上述したツール1の処理によれば、指定した円に外接または内接する指定半径の円を簡単に作図することが可能となる。例えば、円に対して、半径の決まった円(例えば半径の決まった建築座量。丸太や柱など)敷き詰めたい場合などに用いて好適である。例えば、丸い花壇に、半径の決まった円形のブロックや円形の杭を敷き詰める設計を行う際に非常に簡単な操作感での設計操作を提供することが可能となる。花壇を配置可能な全体の敷地が円形に定義されているのであれば、その敷地に内接するように円(ブロックや杭)を敷き詰める。花壇の内部の土部分に使用する敷地が先に定義されているのであれば、その敷地に外接するように円(ブロックや杭)を敷き詰める。もちろんこれは一例であり、様々な用途に用いて好適である。
【0046】
図4に、ツール2処理のフローチャートを示す。このフローチャートは、前述した図2のS206の処理の詳細である。
【0047】
S401では、CPU101は、周長入力ダイアログを図面に重畳して表示する。周長入力ダイアログには、周長、すなわち円周の長さを数値で入力するためのテキストボックスと、OKボタン、キャンセルボタンが表示される。
【0048】
S402では、CPU101は、周長入力ダイアログへの周長の数値入力操作の受付を行う。ユーザーは、キーボードなどを用いて、周長入力ダイアログのテキストボックスへ所望の周長を入力する。すなわち、CPU101は、周長(円周)の設定受付を行う(周長受付)。
【0049】
S403では、CPU101は、周長入力ダイアログのテキストボックスに数値が入力された状態でOKボタンがクリック(押下)されたか否かを判定する。数値入力済みでOKボタンが押下された場合はS404へ進み、そうでない場合にはS402へ戻る。。
【0050】
S404では、CPU101は、プレビュー表示を行う。プレビュー表示では、現在のマウスカーソル位置(座標)に基づいて、そこでクリックされた場合にS406で描画される円を仮表示する。これはマウス位置に応じて動的に変化する。より詳しくは、現在のマウスカーソル位置を中心として、S402で入力された周長を持つ円を描画する。ユーザーは、S404のプレビュー表示を見ることで、今クリックすることで所望の円が作図できるのかを予め確認することができる。
【0051】
S405では、CPU101は、図面上(図面表示領域600内)にマウスカーソルがある状態でクリックされたか否かを判定する。図面上でクリックされた場合にはS406に進み、そうでない場合にはS407に進む。
【0052】
S406では、CPU101は、クリックされた際のマウスカーソルの位置(入力位置、入力座標)を中心として、S402で入力された周長を持つ円を描画(配置して表示)する(本描画)。ここで描画される円は図面の構成要素としてのオブジェクトである。
【0053】
図6(d)に、S406で描画される円の例を示す。S406で描画される円が円623である。クリックされた際の入力座標(ユーザーによる入力座量)が点U3であった場合、点U3を中心とし、S402で入力された周長を持つ(円周である)円623が描画される(本描画)。なお、図6(d)において、点を示す黒丸など(すなわち、円623以外の要素)は説明のために図示したものであって、表示されるものではない。
【0054】
S407では、CPU101は、ツール2以外の他のツールが選択されたか否かを判定する。他のツールが選択された場合にはツール2処理を終了し、そうでない場合にはS404に戻って処理を繰り返す。S404に進んだ後、さらにクリックをすれば、クリックを行った分だけ、S402で指定した周長の円を配置できる。すなわち、円を配置したい位置をプレビューで確認しながらクリックを繰り返すだけで、同じ周長の円を複数連続して描画(配置)することができる。すなわち、CPU101は、第1のクリック操作によって指定された位置を中心とした円であって、S401で指定された指定周長の第1の円を配置した後、他の操作をすることなく行われた第2のクリック操作があったことに応じて、前記第2のクリック操作によって指定された位置を中心とした円であって、同じ指定周長の第2の円を配置するように制御する。
【0055】
上述したツール2の処理によれば、指定した周長の円を簡単に作図することが可能となる。例えば、円周周りに敷き詰める、あるいは貼り付ける材料が決まっている場合に、簡単に材料に合わせた円を作図することができる。例えば、円柱に貼り付けることになっているポスターや壁紙などの長さが決まっている場合に、どのようなサイズの円柱を配置すればよいかを簡単に設計することができる。もちろんこれは一例であり、様々な用途に用いて好適である。
【0056】
図5に、ツール3処理のフローチャートを示す。このフローチャートは、前述した図2のS208の処理の詳細である。
【0057】
S501では、CPU101は、図面に含まれる既に描画済みの線分または直線のオブジェクト(例えば線分630)が選択されたか否かを判定する。すなわち、既存の線分指定または直線指定を受け付ける(既存線受付)。ツール3が選択された(ツールアイコン616がクリックされた)後に、既存の線分または直線が選択された、または、既存の線分または直線が選択された状態でツール3が選択された(ツールアイコン616がクリックされた)場合にはS502に進む。そうでない場合、すなわち既存の線分または直線が選択されていない場合にはS506に進む。なお、線分または直線以外のオブジェクトが選択された場合に警告を表示し、線分または直線を選択することを促す旨のメッセージを表示(通知)しても良い。
【0058】
S502では、CPU101は、ツール3以外の他のツールが選択されたか否かを判定する。他のツールが選択された場合にはツール3処理を終了し、そうでない場合にはS501に戻る。
【0059】
S503では、CPU101は、プレビュー表示を行う。プレビュー表示では、現在のマウスカーソル位置(座標)に基づいて、そこでクリックされた場合にS506で描画される円を仮表示する。これはマウス位置に応じて動的に変化する。より詳しくは、S501で指定されたと判定された既存の線分または直線(以下、指定線分と称する)の直線上に接し、現在のマウスカーソル位置を中心とした円を描画する。円の半径は自動算出する(マウスカーソル位置と指定線分の直線上との最短距離となる)。ユーザーは、S503のプレビュー表示を見ることで、今クリックすることで所望の円が作図できるのかを予め確認することができる。
【0060】
S504では、CPU101は、図面上(図面表示領域600内)にマウスカーソルがある状態でクリックされたか否かを判定する。図面上でクリックされた場合にはS505に進み、そうでない場合にはS507に進む。
【0061】
S505では、CPU101は、クリックされた際のマウスカーソルの位置(入力位置、入力座標)に基づき、配置すべき円の半径を算出する。より詳しくは、クリックされた際のマウスカーソルの位置(入力位置、入力座標)と指定線分の直線上との距離(最短距離)を半径として算出する。これはクリックされた際のマウスカーソルの位置(入力位置、入力座標)の点と指定線分の直線との距離である。すなわち、指定線分と重なる第1の直線と垂直に交わる第2の直線であって、クリックされた際の入力座標を通る第2直線のうち、当該入力座量から第1の直線と第2の直線との交点との距離を算出する。
【0062】
S506は、CPU101は、指定線分の直線上に接し、クリックされた際のマウスカーソルの位置(入力位置、入力座標)を中心とした円を描画する(本描画)。すなわち、配置して表示する。円の半径はS505で算出されたものである。ここで描画される円は図面の構成要素としてのオブジェクトである。
【0063】
図6(e)に、S506で描画される円の例を示す。S506で描画される円が円633である。指定線分が線分630であり、クリックされた際の入力座標(ユーザーによる入力座量)が点U4であった場合、指定線分630と重なる直線上(同一直線上)にある点線631(線分630及びその延長線)に接し、S505で算出された半径を持つ円633が描画される。S505で前述した第1の直線が点線631であり、第2の直線が直線632である。なお、図6(e)において、点線や点を示す黒丸、直角記号などは説明のために図示したものであって、表示されるものではない。
【0064】
S507では、CPU101は、ツール3以外の他のツールが選択されたか否かを判定する。他のツールが選択された場合にはツール3処理を終了し、そうでない場合にはS503に進む。S503に進んだ後、さらにクリックをすれば、クリックを行った分だけ、S501で指定した線分の直線上に接する円を配置できる。すなわち、円を配置したい位置をプレビューで確認しながらクリックを繰り返すだけで、同じ直線上に接する円を複数連続して描画(配置)することができる。すなわち、第1のクリック操作によって指定された位置を中心とした円であって、基準直線(線分630、点線631を含む直線)に接する第1の円を配置した後、他の操作をすることなく行われた第2のクリック操作があったことに応じて、前記第2のクリック操作によって指定された位置を中心とした円であって、前記基準直線に接する第2の円を配置するように制御する。
【0065】
上述したツール3の処理によれば、指定した線分の直線上に接する円を簡単に作図することが可能となる。例えば、平行な2つの外壁の間に設けられた開口部(図6(a)の点線のような箇所)の外側に、円形の床材などを配置したい場合などの設計作業をより簡単に行うことができる。もちろんこれは一例であり、様々な用途に用いて好適である。
【0066】
以上説明した本実施形態によれば、より操作性よく円の作図を行うことが可能となる。
【0067】
なお、上述の実施形態では、PCにおけるクリック操作での説明をしたが、本発明は、タッチ操作可能なPC、タブレット端末、スマートフォンなどの電子機器にも適用可能である。タッチ操作に応じて上述の各種処理を行う場合は、上述したクリックを、画面をタッチする操作(表示領域上を指示、位置指定、位置入力する操作)に置き換えることで適用可能である。
【0068】
なお、CPU101が行うものとして説明した上述の各種制御は1つのハードウェアが行ってもよいし、複数のハードウェア(例えば、複数のプロセッサや回路)が処理を分担することで、装置全体の制御を行ってもよい。
【0069】
なお、上述の実施形態においては、オブジェクトとして図面の要素(構成部品)である図形の例を説明したが、オブジェクトはこれに限るものではない。円を描画するものであればどのような場面にも本実施形態を適用可能である。
【0070】
また、本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。さらに、上述した各実施形態は本発明の一実施形態を示すものにすぎず、各実施形態を適宜組み合わせることも可能である。
【0071】
また、上述した実施形態においては、本発明をPCにおけるCADアプリに適用した場合を例にして説明したが、これはこの例に限定されず、何らかの目的で円が描画可能な装置、ソフトウェアであれば適用可能である。例えば、CAD以外の各種作図ソフト、レイアウト編集ソフト、プレゼンテーションソフト、画像編集ソフト、グラフィックデザインソフト、文書作成ソフト、表計算ソフトなどに適用可能である。また、上述した実施形態においては、本発明を図1の電子機器100に適用した場合を例にして説明したが、これはこの例に限定されず、何らかの図形の描画が行える電子機器であれば適用可能である。すなわち、本発明は、パーソナルコンピュータやPDA、携帯電話端末や携帯型の画像ビューワ、ディスプレイを備えるプリンタ装置、デジタルフォトフレーム、音楽プレーヤー、ゲーム機、電子ブックリーダーなどに適用可能である。
【0072】
(他の実施形態)
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)をネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムコードを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
【符号の説明】
【0073】
100 電子機器、101 CPU、102 メモリ、103 不揮発性メモリ、104 画像処理部、105 ディスプレイ、106 操作部、107 記録媒体I/F、108 記録媒体、109 外部I/F、110 通信I/F、111 インターネット、112 カメラ部、150 内部バス
【要約】
【課題】より操作性よく円の作図を行える技術を提供する。
【解決手段】 既存の円の指定を受け付ける第1の受付手段と、
画面上の位置の指定を受け付ける第2の受付手段と、
前記第2の受付手段で受け付けた指定位置が、前記第1の受付手段で指定を受け付けた円である指定円の内側である場合には前記指定円に内接する円を表示し、
前記指定位置が、前記指定円の外側である場合には前記指定円に外接する円を表示するように制御する制御手段と
を有することを特徴とする
【選択図】図6
図1
図2
図3
図4
図5
図6