(57)【要約】【課題】複数の画素を用いて表示を行う表示装置において、メモリの消費量を抑えつつ、図形の移動に要する処理時間を低減する。【解決手段】電子時計１によれば、ＲＯＭ２２に記憶されている三角形Ｔを移動させた状態で表示デバイス４に表示する場合に、ＣＰＵ２１は、三角形Ｔの頂点を回転移動させ、移動後の頂点を結ぶ直線を取得し、表示デバイス４の各画素と取得した直線との位置関係に基づいて各画素の描画制御を行うことにより、三角形Ｔを回転移動させた状態で表示デバイス４に表示させる。  【選択図】図３
2018155840.tif 000002
【特許請求の範囲】
【請求項１】
二次元状に配列された複数の画素を用いて表示を行う表示手段と、
複数の頂点を結ぶ直線に囲まれた図形を前記表示手段に表示するための図形情報に基づいて第１の位置に表示される前記図形を第２の位置に移動させた状態で前記表示手段に表示する場合に、前記第２の位置へ移動後の前記図形の複数の頂点を取得し、取得した前記複数の頂点を結ぶ直線を取得し、前記表示手段の各画素と前記取得した直線との位置関係に基づいて前記各画素の描画制御を行うことにより、前記図形を前記第２の位置に移動させた状態で前記表示手段に表示させる制御手段と、
を備える表示装置。
【請求項２】
前記移動は回転移動であり、
前記制御手段は、前記回転移動の中心点に基づいて前記複数の頂点を回転移動させることで前記第２の位置へ移動後の前記図形の複数の頂点を取得し、取得した前記複数の頂点を結ぶ直線を取得し、前記表示手段の各画素と前記取得した直線との位置関係に基づいて前記各画素の描画制御を行うことにより、前記図形を前記第２の位置へ回転移動させた状態で前記表示手段に表示させる請求項１に記載の表示装置。
【請求項３】
前記制御手段は、前記取得した前記複数の頂点を結ぶ直線の式を算出し、前記表示手段の各画素と前記算出された直線の式で表される直線との位置関係に基づいて前記各画素の描画制御を行う請求項１又は２に記載の表示装置。
【請求項４】
前記制御手段は、前記第２の位置へ移動後の前記図形の前記複数の頂点を取得する際に、併せて移動後の前記図形の内部の一点を取得し、前記表示手段の各画素が前記取得した直線に対して前記内部の一点と同じ側に存在するか否かを判断し、同じ側に存在すると判断した画素を移動後の前記図形の内部の画素として前記各画素の描画制御を行う請求項１〜３のいずれか一項に記載の表示装置。
【請求項５】
前記制御手段は、前記表示手段の各画素が、前記取得された直線のうちの二つの直線の間に位置するか否かを判断し、前記二つの直線の間に位置すると判断した画素を移動後の前記図形の内部の画素として前記各画素の描画制御を行う請求項１〜３のいずれか一項に記載の表示装置。
【請求項６】
前記図形は、三角形であり、
前記制御手段は、前記三角形の三つの頂点のうち垂直方向の位置が真ん中に位置する頂点の位置よりも上側にある画素については、前記三つの頂点のうち垂直方向の位置が最も高い頂点と他の二つの頂点とを結ぶ二つの直線の間に位置するか否かを判断し、前記三角形の三つの頂点のうち垂直方向の位置が真ん中に位置する頂点の位置よりも下側にある画素については、前記三つの頂点のうち垂直方向の位置が最も低い頂点と他の二つの頂点とを結ぶ二つの直線の間に位置するか否かを判断する請求項５に記載の表示装置。
【請求項７】
前記制御手段は、前記表示手段の一行分の各画素について前記判断を行った後、次の行に移行して前記判断を行う場合に、前記二つの直線のそれぞれについて、一行前において算出したその直線の水平方向の座標にその直線の傾きの値を加算して前記次の行におけるその直線の水平方向の座標を算出し、前記二つの直線について算出した２つの水平方向の座標の間にその行の各画素の水平方向の座標が存在するか否かに基づいて、前記判断を行う請求項６に記載の表示装置。
【請求項８】
前記制御手段は、前記表示手段の各画素のうち、前記図形の内部の画素と判断した画素に描画を行わせる請求項４〜７のいずれか一項に記載の表示装置。
【請求項９】
前記制御手段は、前記複数の頂点を含む最小の矩形の範囲内の各画素に対して前記描画制御を行う請求項１〜８のいずれか一項に記載の表示装置。
【請求項１０】
請求項１〜９のいずれか一項に記載の表示装置を備える電子時計。
【請求項１１】
二次元状に配列された複数の画素を用いて表示を行う表示手段を備える表示装置における表示方法であって、
複数の頂点を結ぶ直線に囲まれた図形を前記表示手段に表示するための図形情報に基づいて第１の位置に表示される前記図形を第２の位置に移動させた状態で前記表示手段に表示する場合に、前記第２の位置へ移動後の前記図形の複数の頂点を取得する工程と、
前記取得した前記複数の頂点を結ぶ直線を取得する工程と、
前記表示手段の各画素と前記取得した直線との位置関係に基づいて前記各画素の描画制御を行うことにより、前記図形を前記第２の位置に移動させた状態で前記表示手段に表示させる工程と、
を含む表示方法。
【請求項１２】
二次元状に配列された複数の画素を用いて表示を行う表示手段を備える表示装置に用いられるコンピュータを、
複数の頂点を結ぶ直線に囲まれた図形を前記表示手段に表示するための図形情報に基づいて第１の位置に表示される前記図形を第２の位置に移動させた状態で前記表示手段に表示する場合に、前記第２の位置へ移動後の前記図形の複数の頂点を取得し、取得した前記複数の頂点を結ぶ直線を取得し、前記表示手段の各画素と前記取得した直線との位置関係に基づいて前記各画素の描画制御を行うことにより、前記図形を前記第２の位置に移動させた状態で前記表示手段に表示させる制御手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、表示装置、電子時計、表示方法及びプログラムに関する。
【背景技術】
【０００２】
従来、２値化された２次元画像に関して座標変換により拡大、縮小、回転を行う技術が知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平５−１２４２８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、二次元状に配列された複数の画素を用いて図形等の表示情報の表示を行う表示装置において、画素により描画されている点を別の座標の画素に移動させることで表示された図形全体を移動させようとすると、図形の表示に使用している画素の数だけ座標変換の処理時間がかかってしまう。これを回避するために、想定される移動に合わせた図形情報を予め保存しておくと、大量のメモリを消費してしまう。例えば、回転移動の場合、１°刻みで全回転角度に合わせた図形情報を予め保存しておくと、０°〜３５９°までの３６０枚の図形を予め保存しておく必要があり、大量のメモリを消費してしまう。画素が細かくなったり図形の面積が大きくなったりするほど処理時間は増え、メモリの消費量も増えてしまう。
【０００５】
本発明の課題は、複数の画素を用いて表示を行う表示装置において、メモリの消費量を抑えつつ、図形の移動に要する処理時間を低減することである。
【課題を解決するための手段】
【０００６】
上記課題を解決するため、請求項１に記載の表示装置は、
二次元状に配列された複数の画素を用いて表示を行う表示手段と、
複数の頂点を結ぶ直線に囲まれた図形を前記表示手段に表示するための図形情報に基づいて第１の位置に表示される前記図形を第２の位置に移動させた状態で前記表示手段に表示する場合に、前記第２の位置へ移動後の前記図形の複数の頂点を取得し、取得した前記複数の頂点を結ぶ直線を取得し、前記表示手段の各画素と前記取得した直線との位置関係に基づいて前記各画素の描画制御を行うことにより、前記図形を前記第２の位置に移動させた状態で前記表示手段に表示させる制御手段と、
を備える。
【発明の効果】
【０００７】
本発明によれば、複数の画素を用いて表示情報の表示を行う表示装置において、メモリの消費量を抑えつつ、図形の移動に要する処理時間を低減することが可能となる。
【図面の簡単な説明】
【０００８】
【図１】本実施形態の電子時計の機能的構成を示すブロック図である。
【図２】ＲＯＭに記憶されている図形情報の一例を示す図である。
【図３】図１のＣＰＵにより実行される回転処理Ａを示すフローチャートである。
【図４】図３のステップＳ１１を説明するための図である。
【図５】図３のステップＳ１４を説明するための図である。
【図６】図３に示す回転処理Ａにより図２に示す図形情報に基づく図形を回転させた結果を示す図である。
【図７】図１のＣＰＵにより実行される回転処理Ｂを示すフローチャートである。
【図８】図７のステップＳ３２〜Ｓ３３を説明するための図である。
【図９】図７のステップＳ３５を説明するための図である。
【発明を実施するための形態】
【０００９】
以下、添付図面を参照して本発明に係る実施形態を詳細に説明する。なお、本発明は、図示例に限定されるものではない。
【００１０】
＜第１の実施形態＞
［電子時計１の構成］
図１は、第１の実施形態における電子時計１の機能的構成を示すブロック図である。
電子時計１は、現在時刻や方位等を計測して表示する機器である。電子時計１は、例えば、腕時計などのユーザの身体に装着されるものや懐中時計などであるが、これに限られない。
【００１１】
電子時計１は、マイコン２（コンピュータ）、操作受付部３、表示デバイス４、振動子５、方位センサ６、ＧＰＳ（Global Positioning System）７、電力供給部８などを備えて構成されている。
【００１２】
マイコン２は、電子時計１の全体動作を統括制御する。マイコン２は、ＣＰＵ２１（Central Processing Unit）と、ＲＯＭ２２（Read Only Memory）と、ＲＡＭ２３（Random Access Memory）と、発振回路２４と、分周回路２５と、計時回路２６と、タイマ回路２７とを備える。
【００１３】
ＣＰＵ２１は、各種演算処理を行うプロセッサであり、ＲＯＭ２２に記憶されているプログラムに従って、電子時計１の各部の制御動作を行う。ＣＰＵ１１は、制御手段として機能する。
【００１４】
ＲＯＭ２２は、ＣＰＵ２１が制御動作を実行するためのプログラムやプログラムの実行に必要なデータなどを格納する。ＲＯＭ２２としては、マスクＲＯＭに加えて又は代えてデータの書き換え更新が可能なフラッシュメモリなどの不揮発性メモリを有していても良い。
【００１５】
例えば、ＲＯＭ２２には、方位演算プログラム２２１及び図形回転プログラム２２２（詳細後述）が記憶されている。
また、ＲＯＭ２２には、三角形Ｔの図形情報が記憶されている。本実施形態において、三角形Ｔは、方向を示すために表示デバイス４に表示される図形であり、図２に示すように、内部が黒で塗り潰された三角形である。ＲＯＭ２２には、電子時計１の０°の方向（１２時の方向）を指し示している状態の三角形Ｔの図形情報が記憶されている。この図形情報は、三角形Ｔを表示デバイス４に表示させるための情報であり、少なくとも表示デバイス４に三角形Ｔを表示する際の三角形Ｔの三つの頂点に対応する画素の位置が特定できる情報である。例えば、三角形Ｔの図形情報は、表示デバイス４の各画素について描画する（黒点を打つ）か否かを示した画像データであってもよいし、表示デバイス４における少なくとも三角形Ｔの三つの頂点に対応する画素の位置を示す情報であってもよい。例えば、三角形Ｔの三つの頂点及び内部の一点に対応する画素の位置を示す情報であってもよい。本実施形態では、図形情報が画像データであることとして説明する。
また、さらに、ＲＯＭ２２には、地図データが記憶されている。
【００１６】
ＲＡＭ２３は、ＣＰＵ２１に作業用のメモリ空間を提供し、一時データを記憶する。
【００１７】
発振回路２４は、振動子５が接続されており、所定の周波数の信号を生成して分周回路２５に出力する。
【００１８】
分周回路２５は、発振回路２４から入力された周波数信号を設定された分周比で分周した分周信号を出力する。分周比の設定は、ＣＰＵ２１により変更することができる。
【００１９】
計時回路２６は、分周回路２５から入力された所定の周波数の分周信号を計数することで現在日時を保持する。
タイマ回路２７は、一定時間毎にＣＰＵ２１に信号を出力する。
【００２０】
操作受付部３は、ユーザ操作などの外部からの入力動作を受け付ける。操作受付部３は、例えば、一又は複数の押しボタンスイッチを備え、当該押しボタンスイッチの押下動作に応じた信号をＣＰＵ２１に出力する。
【００２１】
表示デバイス４は、例えば、二次元状に複数の画素が配列されたＭＩＰ（メモリーインピクセル）液晶等により構成され、ＣＰＵ２１の制御に基づいて各種情報の表示を行う。本実施形態では、表示デバイス４がモノクロ液晶である場合を例にとり説明するが、これに限定されるものではない。
【００２２】
振動子５は、水晶振動子等により構成され、水晶の持つ圧電現象を利用し、その機械的共振から一定の周波数を生み出す。
【００２３】
方位センサ６は、例えば、２軸又は３軸の地磁気センサを備え、電子時計１が向いている方位を計測してＣＰＵ２１に出力する。
ＧＰＳ７は、ＧＰＳ信号を受信して現在位置を取得してＣＰＵ２１に出力する。
電力供給部８は、電子時計１の各部が動作に要する電力を当該各部へ供給する。電力供給部８は、図示しないバッテリから出力される電力を各部の動作電圧で供給する。バッテリとしては、入射光に応じた発電を行うソーラパネルや発電された電力を蓄電する二次電池などを備えていても良いし、乾電池や充電池などが着脱可能に設けられても良い。
【００２４】
［電子時計１の動作］
次に、第１の実施形態における電子時計１の動作について説明する。
電子時計１において、操作受付部３により目的地が設定されると、ＣＰＵ２１は、目的地がどの方向であるかを指し示す三角形Ｔを表示デバイス４上に表示する。
【００２５】
例えば、操作受付部３により目的地が設定されると、ＣＰＵ２１は、まず、方位演算プログラム２２１との協働により、ＧＰＳ７から入力される現在位置及びＲＯＭ２２に記憶されている地図データに基づく目的地の位置情報に基づいて電子時計１の現在位置に対する目的地の方位を演算し、演算した目的地の方位と、方位センサ６から入力される電子時計１が向いている方位とに基づいて、ＲＯＭ２２に記憶されている三角形Ｔを回転させる角度θを算出する。
【００２６】
次いで、ＣＰＵ２１は、図形回転プログラム２２２との協働により、回転処理Ａを実行し、ＲＯＭ２２に記憶されている図形情報に基づいて第１の位置に表示される三角形Ｔを角度θだけ回転させて第２の位置に回転移動させた状態で表示デバイス４に表示させる。
【００２７】
図３は、ＣＰＵ２１と図形回転プログラム２２２との協働により実行される回転処理Ａを示すフローチャートである。以下、図３を参照して回転処理Ａについて説明する。
なお、以下の説明において、表示デバイス４（画像データ）の水平方向をｘ方向とし、垂直方向をｙ方向とする。また、左上を原点とし、右へ行くほどｘ座標の値が大きくなり、下へ行くほどｙ座標の値が大きくなるものとする。
【００２８】
まず、ＣＰＵ２１は、図４に示すように、三角形Ｔの頂点をＰ１、Ｐ２、Ｐ３、内部の１点をＰ４として、Ｐ１、Ｐ２、Ｐ３、Ｐ４を表示デバイス４の中心を回転中心として角度θ回転させる（ステップＳ１１）。すなわち、Ｐ１〜Ｐ４を表示デバイス４の中心を回転中心としてθ°回転させたときの位置を座標変換により求める。
【００２９】
次いで、ＣＰＵ２１は、Ｐ１とＰ２を結ぶ直線Ｌ１、Ｐ２とＰ３を結ぶ直線Ｌ２、Ｐ３とＰ１を結ぶ直線Ｌ３のそれぞれの数式（例えば、ｘ＝ａｙ＋ｂ）を算出する（ステップＳ１２）。
【００３０】
次いで、ＣＰＵ２１は、Ｐ４とＬ１、Ｌ２、Ｌ３のそれぞれとの位置関係（左右の位置関係）を取得する（ステップＳ１３）。
【００３１】
次いで、ＣＰＵ２１は、図５に示すように、３つの頂点Ｐ１、Ｐ２、Ｐ３を含む最小の矩形エリアＡを求め、矩形エリアＡをチェック対象範囲に設定する（ステップＳ１４）。
ここで、三角形Ｔの内部に含まれる画素であるか否かを判断して描画制御を行う画素の範囲を表示デバイス４（画像データ）全体とするのではなく、三角形Ｔの３つの頂点を含む最小のエリアに限定することで、処理時間を低減させることができる。
【００３２】
次いで、ＣＰＵ２１は、矩形エリアＡ内から画素を１つ選択する（ステップＳ１５）。例えば、矩形エリアＡの左上の画素を選択する。
【００３３】
次いで、ＣＰＵ２１は、選択した画素とＬ１との位置関係がＰ４とＬ１との位置関係と同じであるか否かを判断する（ステップＳ１６）。
例えば、Ｐ４とＬ１との位置関係が図４に示す関係である場合、すなわち、Ｐ４がＬ１より右の場合（Ｐ４のｘ座標が、Ｐ４のｙ座標をＬ１の式に当てはめたときのｘ座標の値より大きい場合）、ＣＰＵ２１は、選択した画素のｘ座標が、その画素のｙ座標をＬ１の式に当てはめたときに得られるｘ座標の値よりも大きいか否かを判断する。選択した画素のｘ座標が、その画素のｙ座標をＬ１の式に当てはめたときに得られるｘ座標の値よりも大きいと判断した場合、選択した画素とＬ１との位置関係がＰ４とＬ１との位置関係と同じであると判断する。
【００３４】
選択した画素とＬ１との位置関係がＰ４とＬ１との位置関係と異なると判断した場合（ステップＳ１６；ＮＯ）、ＣＰＵ２１は、選択した画素が三角形Ｔの外であると判断し（ステップＳ１９）、ステップＳ２１に移行する。
【００３５】
選択した画素とＬ１との位置関係がＰ４とＬ１との位置関係と同じであると判断した場合（ステップ１６；ＹＥＳ）、ＣＰＵ２１は、選択した画素とＬ２との位置関係がＰ４とＬ２との位置関係と同じであるか否かを判断する（ステップＳ１７）。
例えば、Ｐ４とＬ２との位置関係が図４に示す関係である場合、すなわち、Ｐ４がＬ２より右の場合（Ｐ４のｘ座標が、Ｐ４のｙ座標をＬ２の式に当てはめたときのｘ座標の値より大きい場合）、選択した画素のｘ座標が、その画素のｙ座標をＬ２の式に当てはめたときに得られるｘ座標の値よりも大きいか否かを判断する。選択した画素のｘ座標が、その画素のｙ座標をＬ２の式に当てはめたときに得られるｘ座標の値よりも大きいと判断した場合、選択した画素とＬ２との位置関係がＰ４とＬ２との位置関係と同じであると判断する。
【００３６】
選択した画素とＬ２との位置関係がＰ４とＬ２との位置関係と異なると判断した場合（ステップＳ１７；ＮＯ）、ＣＰＵ２１は、選択した画素が三角形Ｔの外であると判断し（ステップＳ１９）、ステップＳ２１に移行する。
【００３７】
選択した画素とＬ２との位置関係がＰ４とＬ２との位置関係と同じであると判断した場合（ステップ１７；ＹＥＳ）、ＣＰＵ２１は、選択した画素とＬ３との位置関係がＰ４とＬ３との位置関係と同じであるか否かを判断する（ステップＳ１８）。
例えば、Ｐ４とＬ３との位置関係が図４に示す関係である場合、すなわち、Ｐ４がＬ３より左の場合（Ｐ４のｘ座標が、Ｐ４のｙ座標をＬ３の式に当てはめたときのｘ座標の値より小さい場合）、選択した画素のｘ座標が、その画素のｙ座標をＬ３の式に当てはめたときに得られるｘ座標の値よりも小さいか否かを判断する。選択した画素のｘ座標が、その画素のｙ座標をＬ３の式に当てはめたときに得られるｘ座標の値よりも小さいと判断した場合、選択した画素とＬ３との位置関係がＰ４とＬ３との位置関係と同じであると判断する。
【００３８】
選択した画素とＬ３との位置関係がＰ４とＬ３との位置関係と異なると判断した場合（ステップＳ１８；ＮＯ）、ＣＰＵ２１は、選択した画素が三角形Ｔの外であると判断し（ステップＳ１９）、ステップＳ２１に移行する。
【００３９】
選択した画素とＬ３との位置関係がＰ４とＬ３との位置関係と同じであると判断した場合（ステップ１８；ＹＥＳ）、ＣＰＵ２１は、選択した画素が三角形Ｔの内部に存在していると判断し、その画素の位置を取得し（ステップＳ２０）、ステップＳ２１に移行する。
【００４０】
ステップＳ２１において、ＣＰＵ２１は、矩形エリアＡ内の全ての画素をチェックしたか否かを判断する（ステップＳ２１）。全ての画素をチェックしていないと判断した場合（ステップＳ２１；ＮＯ）、ＣＰＵ２１は、ステップＳ１５に戻る。
全ての画素をチェックしたと判断した場合（ステップＳ２１；ＹＥＳ）、ＣＰＵ２１は、三角形Ｔの内部の画素と判断された画素を黒く描画し、他の画素を塗りつぶしなしとして表示デバイス４に表示を行わせ（ステップＳ２２）、回転処理Ａを終了する。
【００４１】
なお、Ｌ１、Ｌ２、Ｌ３のいずれかが水平である場合、その直線と選択した画素との位置関係は三角形Ｔの内部か否かを判断するための条件からはずれる。
【００４２】
図６に、上記回転処理Ａにより図２に示す三角形Ｔを回転させた結果を示す。上記回転処理Ａでは、三角形Ｔの頂点Ｐ１、Ｐ２、Ｐ３と、三角形Ｔの内部の一点Ｐ４を表示デバイス４の中心を回転中心として回転させる処理を行い、回転後の頂点Ｐ１、Ｐ２、Ｐ３を含む最小の矩形エリアＡ内の画素について、その画素とＬ１、Ｌ２、Ｌ３との位置関係がＰ４とＬ１、Ｌ２、Ｌ３との位置関係と同じであるか（その画素がＬ１、Ｌ２、Ｌ３に対してＰ４と同じ側にあるか）否かによって三角形Ｔの内部であるか否かを判断し、三角形Ｔの内部と判断した場合にその画素を黒で描画している。一つの直線との位置関係がＰ４と異なっていると判定された画素はその時点でその画素は三角形Ｔの外であると判断して描画対象からはずす。したがって、三角形Ｔの内部の全ての画素について回転処理を行い、各画素の回転後の座標を求めて黒く描画する処理を行う場合に比べて簡単な演算で三角形Ｔを回転させた状態を得ることができるので、処理時間を低減することができる。また、ＲＯＭ２２には、基本となる０°の三角形Ｔの図形情報のみを保存しておけばよいので、ＲＯＭ２２の消費を抑えることができる。
【００４３】
＜第２の実施形態＞
次に、本発明の第２の実施形態について説明する。
第２の実施形態における電子時計１の構成は、第１の実施形態で説明したものと同様であるので説明を援用し、以下、第２の実施形態の動作について説明する。
【００４４】
電子時計１において、操作受付部３により目的地が設定されると、ＣＰＵ２１は、まず、方位演算プログラム２２１との協働により、ＧＰＳ７から入力される現在位置及びＲＯＭ２２に記憶されている地形データに基づく目的地の位置情報に基づいて電子時計１の現在位置に対する目的地の方位を演算し、演算した目的地の方位と、方位センサ６から入力される電子時計１が向いている方位とに基づいて、ＲＯＭ２２に記憶されている三角形Ｔを回転させる角度θを算出する。
【００４５】
次いで、ＣＰＵ２１は、図形回転プログラム２２２との協働により、回転処理Ｂを実行し、ＲＯＭ２２に記憶されている図形情報に基づいて第１の位置に表示される三角形Ｔを角度θだけ回転させて第２の位置に回転移動させた状態で表示デバイス４に表示させる。
【００４６】
図７は、ＣＰＵ２１と図形回転プログラム２２２との協働により実行される回転処理Ｂを示すフローチャートである。以下、図７を参照して回転処理Ｂについて説明する。
【００４７】
まず、ＣＰＵ２１は、三角形Ｔの頂点Ｐ１、Ｐ２、Ｐ３を表示デバイス４の中心を回転中心として角度θ回転させる（ステップＳ３１）。すなわち、Ｐ１〜Ｐ４を表示デバイス４の中心を回転中心としてθ°回転させたときの位置を座標変換により求める。
【００４８】
次いで、ＣＰＵ２１は、図８に示すように、Ｐ１、Ｐ２、Ｐ３をｙ座標が小さいものから順にＱ１、Ｑ２、Ｑ３とし（ステップＳ３２）、Ｑ１とＱ２を結ぶ直線をＬ１、Ｑ２とＱ３を結ぶ直線をＬ２、Ｑ３とＱ１を結ぶ直線をＬ３とする（ステップＳ３３）。なお、ｙ座標が同じ頂点がある場合は、ｘ座標が小さいものからＱ１、Ｑ２、Ｑ３とする。
【００４９】
次いで、ＣＰＵ２１は、Ｌ１、Ｌ２、Ｌ３のそれぞれの直線の式（例えば、ｘ＝ａｙ＋ｂ）を算出する（ステップＳ３４）。
【００５０】
次いで、ＣＰＵ２１は、３つの頂点Ｑ１、Ｑ２、Ｑ３を含む最小の矩形エリアＡ０を求め、矩形エリアＡ０をＱ２を通る水平線で２つに分割して矩形エリアＡ１、Ａ２とし、矩形エリアＡ１、Ａ２を画素のチェック対象範囲に設定する（ステップＳ３５）。
ここで、三角形Ｔの内部に含まれる画素であるか否かを判断して描画制御を行う画素の範囲を表示デバイス４（画像データ）全体とするのではなく、三角形Ｔの３つの頂点を含む最小のエリアに限定することで、処理時間を低減させることができる。
【００５１】
次いで、ＣＰＵ２１は、ステップＳ３６〜Ｓ４０の処理において、図９（ａ）に示す矩形エリアＡ１のｙ座標が最も小さい行から順に、１行分の画素をｘ座標の小さい方から順に１つずつ選択していき、選択した画素が三角形Ｔ１の内部であるか否かを判断する。１行分の画素の選択が終了したら、次の行に移って１行分の画素を１つずつ選択して選択した画素が三角形Ｔの内部であるか否かを判断する処理を繰り返す。
【００５２】
まず、ステップＳ３６において、ＣＰＵ２１は、矩形エリアＡ１内の画素を１つ選択する（ステップＳ３６）。画素の選択順序は、上述のとおりである。
【００５３】
次いで、ＣＰＵ２１は、選択した画素がＬ１とＬ３の間に存在するか否かを判断する（ステップＳ３７）。
【００５４】
ここで、選択した画素がＬ１とＬ３の間に位置するか否かは、選択した画素のｘ座標が、その画素と同じｙ座標のＬ１上の点のｘ座標とＬ３上の点のｘ座標の間に位置するか否かにより判断することができる。このとき、その画素と同じｙ座標のＬ１上の点のｘ座標とＬ３上の点のｘ座標は、Ｌ１とＬ３のそれぞれについて、直線の式ｘ＝ａｙ＋ｂ（ａとｂはＬ１とＬ３で異なる）のｙに選択されている画素のｙ座標の値を代入することにより、その行のＬ１上のｘ座標、Ｌ３上のｘ座標を求めるのが一般的である。しかし、乗算は加算より複雑で処理時間がかかる。そこで、本実施形態では、１行分の画素に対する処理が終了して下の行に移行するときに、Ｌ１の現在のｘ座標に傾きａを加算し、Ｌ３の現在のｘ座標に傾きａを加算することで、次の行のＬ１、Ｌ３のｘ座標を算出する。これにより、ｘ＝ａｙ＋ｂを用いた場合に比べて、処理を高速化することができる。
【００５５】
選択した画素がＬ１とＬ３の間に存在しないと判断した場合（ステップＳ３７；ＮＯ）、ＣＰＵ２１は、選択した画素が三角形Ｔの外であると判断し（ステップＳ３８）、ステップＳ４０に移行する。
【００５６】
選択した画素がＬ１とＬ３の間に存在すると判断した場合（ステップＳ３７；ＹＥＳ）、ＣＰＵ２１は、選択した画素が三角形の内部に存在していると判断し、選択した画素を黒く描画する画素としてその位置を取得し（ステップＳ３９）、ステップＳ４０に移行する。
【００５７】
ステップＳ４０において、ＣＰＵ２１は、矩形エリアＡ１内の全ての画素についての処理が終了したか否かを判断する（ステップＳ４０）。矩形エリアＡ１内の全ての画素についての処理が終了していないと判断した場合（ステップＳ４０；ＮＯ）、ＣＰＵ２１は、ステップＳ３６に戻り、次の画素について、ステップＳ３６〜Ｓ４０の処理を実行する。
【００５８】
矩形エリアＡ１内の全ての画素についての処理が終了したと判断した場合（ステップＳ４０；ＹＥＳ）、ＣＰＵ２１は、ステップＳ４１に移行する。
【００５９】
ＣＰＵ２１は、ステップＳ４１〜Ｓ４５の処理において、図９（ｂ）に示す矩形エリアＡ２のｙ座標が最も小さい行から順に、１行分の画素をｘ座標の小さい方から順に１つずつ選択していき、選択した画素が三角形Ｔ１の内部であるか否かを判断する。１行分の画素の選択が終了したら、次の行に移って１行分の画素を１つずつ選択して選択した画素が三角形Ｔ１の内部であるか否かを判断する処理を繰り返す。
【００６０】
まず、ステップＳ４１において、ＣＰＵ２１は、矩形エリアＡ２内の画素を１つ選択する（ステップＳ４１）。画素の選択順序は、上述のとおりである。
【００６１】
次いで、ＣＰＵ２１は、選択した画素がＬ２とＬ３の間に存在するか否かを判断する（ステップＳ４２）。ステップＳ４２の処理は、ステップＳ３７におけるＬ１をＬ２に置き換えたものと同様であるのでステップＳ３７における説明を援用する。
【００６２】
選択した画素がＬ２とＬ３の間に存在しないと判断した場合（ステップＳ４２；ＮＯ）、ＣＰＵ２１は、選択した画素が三角形Ｔの外であると判断し（ステップＳ４３）、ステップＳ４５に移行する。
【００６３】
選択した画素がＬ２とＬ３の間に存在すると判断した場合（ステップＳ４２；ＹＥＳ）、ＣＰＵ２１は、選択した画素が三角形の内部に存在していると判断し、選択した画素を黒く描画する画素としてその位置を取得し（ステップＳ４４）、ステップＳ４５に移行する。
【００６４】
ステップＳ４５において、ＣＰＵ２１は、矩形エリアＡ２内の全ての画素についてのチェックが終了したか否かを判断する（ステップＳ４５）。矩形エリアＡ２内の全ての画素についてのチェックが終了していないと判断した場合（ステップＳ４５；ＮＯ）、ＣＰＵ２１は、ステップＳ４１に戻り、次の画素について、ステップＳ４１〜Ｓ４５の処理を実行する。
【００６５】
矩形エリアＡ２内の全ての画素についてのチェックが終了したと判断した場合（ステップＳ４５；ＹＥＳ）、ＣＰＵ２１は、黒く描画する画素と判断された画素を黒く描画し、他の画素を塗りつぶしなしとして表示デバイス４に表示を行わせ（ステップＳ４６）、回転処理Ｂを終了する。
【００６６】
なお、Ｌ１、Ｌ２のいずれかが水平である場合、その直線と選択した画素との位置関係は三角形Ｔの内部か否かを判断するための条件からはずれる。
【００６７】
上記回転処理Ｂでは、三角形Ｔの頂点Ｑ１、Ｑ２、Ｑ３を表示デバイス４の中心を回転中心として回転させる処理を行い、回転後の頂点Ｑ１、Ｑ２、Ｑ３を含む最小の矩形エリアＡ内の、Ｑ２を通る水平線より上の矩形エリアＡ１の各画素については、その画素がＬ１とＬ３の間に存在するか否かによって三角形Ｔの内部であるか否かを判断し、Ｑ２を通る水平線より下の矩形エリアＡ２の各画素については、その画素がＬ２とＬ３の間に存在するか否かによって三角形Ｔの内部であるか否かを判断する。したがって、三角形の内部であるか否かを判断するために各画素と位置を比較する直線が２つとなり、第１の実施形態に比べて更に判断条件が減っているので、より一層処理を高速化して処理時間を低減することができる。また、矩形エリアＡ１のチェックする行を移動した際、Ｌ１、Ｌ３のｘ座標は、一つ前の行のｘ座標にそれぞれの直線の傾きａを加算して求めることで、複雑な乗算を使う必要がなくなり、処理をより一層高速化することが可能となる。
【００６８】
以上説明したように、電子時計１によれば、ＲＯＭ２２に記憶されている三角形Ｔを移動させた状態で表示デバイス４に表示する場合に、ＣＰＵ２１は、三角形Ｔの頂点を回転移動させ、移動後の頂点を結ぶ直線を取得し、表示デバイス４の各画素と取得した直線との位置関係に基づいて各画素の描画制御を行うことにより、三角形Ｔを回転移動させた状態で表示デバイス４に表示させる。  
したがって、回転移動させる画素は頂点の画素のみであり、他の画素については頂点を結ぶ直線との位置関係で三角形Ｔの内部であるか否かを判定して描画制御を行うことで回転移動した状態の三角形Ｔを表示するので、三角形Ｔの全ての画素を回転処理して回転後の座標を求める場合に比べて簡易な演算で三角形Ｔを回転させた状態の表示を行うことができ、処理時間を低減することができる。また、０°から３６０°の全回転角度分の三角形Ｔの画像データをＲＯＭ２２に記憶しておく必要がないため、ＲＯＭ２２の消費を抑えつつ、処理時間の低減を図ることができる。
【００６９】
なお、上記実施形態における記述内容は、本発明に係る電子時計の好適な一例であり、これに限定されるものではない。
【００７０】
例えば、上記実施形態においては、本発明に係る表示装置が電子時計１に備えられている場合を例にとり説明したが、これに限定されない。例えば、本発明に係る表示装置は、表示を専用に行う単体の表示装置としてもよいし、他の電子機器に備えられることとしてもよい。
【００７１】
また、上記実施形態においては、表示デバイス４がモノクロ液晶を用いた表示デバイスである場合を例にとり説明したが、カラー液晶を用いた表示デバイスであってもよい。この場合、三角形Ｔの内部は黒に描画されることに限らず、他の色としてもよい。また、三角形Ｔの外部についても内部と異なる色で描画することとしてもよい。
【００７２】
また、上記実施形態においては、三角形Ｔの内部の画素を判断し、その内部の画素を黒等の色で描画することとしたが、三角形Ｔ等の図形の内部の画素を判断し、その内部の画素と外部の画素との境界を黒等の色で描画することとしてもよい。
【００７３】
また、上記実施形態においては、表示対象の図形が三角形である場合を例にとり説明したが、上記の回転処理のアルゴリズムは他の複数の頂点を結ぶ直線に囲まれた図形（凹みのない図形）に適用可能である。また、他の図形であっても三角形に分割することで、上記回転処理のアルゴリズムを用いて回転させることができる。
【００７４】
また、上記実施形態においては、図形を回転移動させる場合を例にとり説明したが、上記回転処理Ａ、Ｂのアルゴリズムは、回転を伴わない移動についても適用できる。すなわち、ステップＳ１１及びステップＳ３１で頂点を移動させて移動後の頂点に基づいてその後の処理を行えば、図形を移動させた状態で表示することが可能となる。
【００７５】
また、上記実施形態においては、ＲＯＭ２２を記憶手段として三角形Ｔの図形情報を予め記憶しておくこととしたが、記憶手段はＲＡＭ２３等の一時的な記憶手段としてもよい。例えば、一つの図形を複数の三角形に分割して個々の三角形について本発明を適用する場合等においては、ＲＡＭ２３に記憶されている分割された個々の三角形の頂点の情報等の図形情報を用いて本発明を実施することができる。
【００７６】
その他、電子時計の細部構成及び細部動作に関しても、発明の趣旨を逸脱することのない範囲で適宜変更可能である。
【００７７】
本発明のいくつかの実施形態を説明したが、本発明の範囲は、上述の実施形態に限定するものではなく、特許請求の範囲に記載された発明の範囲とその均等の範囲を含む。
以下に、この出願の願書に最初に添付した特許請求の範囲に記載した発明を付記する。付記に記載した請求項の項番は、この出願の願書に最初に添付した特許請求の範囲の通りである。
［付記］
＜請求項１＞
二次元状に配列された複数の画素を用いて表示を行う表示手段と、
複数の頂点を結ぶ直線に囲まれた図形を前記表示手段に表示するための図形情報に基づいて第１の位置に表示される前記図形を第２の位置に移動させた状態で前記表示手段に表示する場合に、前記第２の位置へ移動後の前記図形の複数の頂点を取得し、取得した前記複数の頂点を結ぶ直線を取得し、前記表示手段の各画素と前記取得した直線との位置関係に基づいて前記各画素の描画制御を行うことにより、前記図形を前記第２の位置に移動させた状態で前記表示手段に表示させる制御手段と、
を備える表示装置。
＜請求項２＞
前記移動は回転移動であり、
前記制御手段は、前記回転移動の中心点に基づいて前記複数の頂点を回転移動させることで前記第２の位置へ移動後の前記図形の複数の頂点を取得し、取得した前記複数の頂点を結ぶ直線を取得し、前記表示手段の各画素と前記取得した直線との位置関係に基づいて前記各画素の描画制御を行うことにより、前記図形を前記第２の位置へ回転移動させた状態で前記表示手段に表示させる請求項１に記載の表示装置。
＜請求項３＞
前記制御手段は、前記取得した前記複数の頂点を結ぶ直線の式を算出し、前記表示手段の各画素と前記算出された直線の式で表される直線との位置関係に基づいて前記各画素の描画制御を行う請求項１又は２に記載の表示装置。
＜請求項４＞
前記制御手段は、前記第２の位置へ移動後の前記図形の前記複数の頂点を取得する際に、併せて移動後の前記図形の内部の一点を取得し、前記表示手段の各画素が前記取得した直線に対して前記内部の一点と同じ側に存在するか否かを判断し、同じ側に存在すると判断した画素を移動後の前記図形の内部の画素として前記各画素の描画制御を行う請求項１〜３のいずれか一項に記載の表示装置。
＜請求項５＞
前記制御手段は、前記表示手段の各画素が、前記取得された直線のうちの二つの直線の間に位置するか否かを判断し、前記二つの直線の間に位置すると判断した画素を移動後の前記図形の内部の画素として前記各画素の描画制御を行う請求項１〜３のいずれか一項に記載の表示装置。
＜請求項６＞
前記図形は、三角形であり、
前記制御手段は、前記三角形の三つの頂点のうち垂直方向の位置が真ん中に位置する頂点の位置よりも上側にある画素については、前記三つの頂点のうち垂直方向の位置が最も高い頂点と他の二つの頂点とを結ぶ二つの直線の間に位置するか否かを判断し、前記三角形の三つの頂点のうち垂直方向の位置が真ん中に位置する頂点の位置よりも下側にある画素については、前記三つの頂点のうち垂直方向の位置が最も低い頂点と他の二つの頂点とを結ぶ二つの直線の間に位置するか否かを判断する請求項５に記載の表示装置。
＜請求項７＞
前記制御手段は、前記表示手段の一行分の各画素について前記判断を行った後、次の行に移行して前記判断を行う場合に、前記二つの直線のそれぞれについて、一行前において算出したその直線の水平方向の座標にその直線の傾きの値を加算して前記次の行におけるその直線の水平方向の座標を算出し、前記二つの直線について算出した２つの水平方向の座標の間にその行の各画素の水平方向の座標が存在するか否かに基づいて、前記判断を行う請求項６に記載の表示装置。
＜請求項８＞
前記制御手段は、前記表示手段の各画素のうち、前記図形の内部の画素と判断した画素に描画を行わせる請求項４〜７のいずれか一項に記載の表示装置。
＜請求項９＞
前記制御手段は、前記複数の頂点を含む最小の矩形の範囲内の各画素に対して前記描画制御を行う請求項１〜８のいずれか一項に記載の表示装置。
＜請求項１０＞
請求項１〜９のいずれか一項に記載の表示装置を備える電子時計。
＜請求項１１＞
二次元状に配列された複数の画素を用いて表示を行う表示手段を備える表示装置における表示方法であって、
複数の頂点を結ぶ直線に囲まれた図形を前記表示手段に表示するための図形情報に基づいて第１の位置に表示される前記図形を第２の位置に移動させた状態で前記表示手段に表示する場合に、前記第２の位置へ移動後の前記図形の複数の頂点を取得する工程と、
前記取得した前記複数の頂点を結ぶ直線を取得する工程と、
前記表示手段の各画素と前記取得した直線との位置関係に基づいて前記各画素の描画制御を行うことにより、前記図形を前記第２の位置に移動させた状態で前記表示手段に表示させる工程と、
を含む表示方法。
＜請求項１２＞
二次元状に配列された複数の画素を用いて表示を行う表示手段を備える表示装置に用いられるコンピュータを、
複数の頂点を結ぶ直線に囲まれた図形を前記表示手段に表示するための図形情報に基づいて第１の位置に表示される前記図形を第２の位置に移動させた状態で前記表示手段に表示する場合に、前記第２の位置へ移動後の前記図形の複数の頂点を取得し、取得した前記複数の頂点を結ぶ直線を取得し、前記表示手段の各画素と前記取得した直線との位置関係に基づいて前記各画素の描画制御を行うことにより、前記図形を前記第２の位置に移動させた状態で前記表示手段に表示させる制御手段、
として機能させるためのプログラム。
【符号の説明】
【００７８】
１  電子時計
２  マイコン
２１  ＣＰＵ
２２  ＲＯＭ
２３  ＲＡＭ
２４  発振回路
２５  分周回路
２６  計時回路
２７  タイマ回路
３  操作受付部
４  表示デバイス
５  振動子
６  方位センサ
７  ＧＰＳ
８  電力供給部
【図１】
2018155840.tif 000003
【図２】
2018155840.tif 000004
【図３】
2018155840.tif 000005
【図４】
2018155840.tif 000006
【図５】
2018155840.tif 000007
【図６】
2018155840.tif 000008
【図７】
2018155840.tif 000009
【図８】
2018155840.tif 000010
【図９】
2018155840.tif 000011