"磁気センサから順次出力される、3成分又は2成分を有する複数の磁気データを順次入力する手段と、2つの前記磁気データに対応する2点の垂直二等分面又は垂直二等分線を、入力順に組み合わせられた2つ1組の前記磁気データ毎に算出する手段と、基点から前記垂直二等分面又は前記垂直二等分線に垂直に下ろす線分上の内分点に前記基点を更新する処理を、複数の前記垂直二等分面又は複数の前記垂直二等分線について繰り返し、更新された前記基点の成分に基づいて前記磁気データのオフセットを設定する手段と、を備える磁気センサ制御装置。前記オフセットを設定する手段は、前記基点を更新する処理を複数の前記垂直二等分面又は前記垂直二等分線について前記垂直二等分面又は前記垂直二等分線の算出順に1回ずつ繰り返す、請求項1に記載の磁気センサ制御装置。前記オフセットを設定する手段は、前記基点を更新する処理を各前記垂直二等分面又は各前記垂直二等分線について複数回ずつ繰り返す、請求項1に記載の磁気センサ制御装置。予め決められた所定距離以上離れた2点に対応する2つ1組の前記磁気データを入力順に選抜する手段をさらに備え、前記垂直二等分面又は前記垂直二等分線を算出する手段は、選抜された前記磁気データの組毎に前記垂直二等分面又は前記垂直二等分線を算出する、請求項1~3のいずれか一項に記載の磁気センサ制御装置。既に選抜された前記垂直二等分面又は前記垂直二等分線とのなす全ての角が予め決められた所定角度以上になる前記垂直二等分面又は前記垂直二等分線を選抜する手段をさらに備え、前記オフセットを設定する手段は、選抜された前記垂直二等分面又は前記垂直二等分線について前記基点を更新する処理を繰り返す、請求項1~4のいずれか一項に記載の磁気センサ制御装置。前記オフセットを設定する手段は、前記基点を更新する処理を、前記基点から前記垂直二等分面又は前記垂直二等分線に垂直に下ろす線分の長さが所定値以下になるまで繰り返し、最後の前記基点の成分に基づいて前記オフセットを設定する、請求項3に記載の磁気センサ制御装置。請求項1~6のいずれか一項に記載の磁気センサ制御装置と、前記磁気センサと、を備える磁気測定装置。磁気センサから順次出力される、3成分又は2成分を有する複数の磁気データを順次入力し、2つの前記磁気データに対応する2点の垂直二等分面又は垂直二等分線を、入力順に組み合わせられた2つ1組の前記磁気データ毎に算出し、基点から前記垂直二等分面又は前記垂直二等分線に垂直に下ろす線分上の内分点に前記基点を更新する処理を、複数の前記垂直二等分面又は複数の前記垂直二等分線について繰り返し、更新された前記基点の成分に基づいて前記磁気データのオフセットを設定する、ことを含むオフセット設定方法。磁気センサから順次出力される、3成分又は2成分を有する複数の磁気データを順次入力する手段と、2つの前記磁気データに対応する2点の垂直二等分面又は垂直二等分線を、入力順に組み合わせられた2つ1組の前記磁気データ毎に算出する手段と、基点から前記垂直二等分面又は前記垂直二等分線に垂直に下ろす線分上の内分点に前記基点を更新する処理を、複数の前記垂直二等分面又は複数の前記垂直二等分線について繰り返し、更新された前記基点の成分に基づいて前記磁気データのオフセットを設定する手段と、してコンピュータを機能させるオフセット設定プログラム。請求項9に記載のオフセット設定プログラムが格納されたコンピュータ読み取り可能な記録媒体。本発明は上述の問題に鑑みて創作されたものであって、統計処理を用いることなく正確にオフセットを設定できる磁気センサ制御装置、オフセット設定方法及びプログラム、ならびに磁気測定装置を提供することを目的とする。1上記目的を達成するための磁気センサ制御装置は、磁気センサから順次出力される、3成分又は2成分を有する複数の磁気データを順次入力する手段と、2つの前記磁気データに対応する2点の垂直二等分面又は垂直二等分線を、入力順に組み合わせられた2つ1組の前記磁気データ毎に算出する手段と、基点から前記垂直二等分面又は前記垂直二等分線に垂直に下ろす線分上の点に前記基点を更新する処理を、複数の前記垂直二等分面又は複数の前記垂直二等分線について繰り返し、更新された前記基点の成分に基づいて前記磁気データのオフセットを設定する手段と、を備える。円周上の2点の垂直二等分線は円の中心を通る。2次元磁気センサから出力される磁気データを成分とする多数の点が特定の円周から近距離の範囲に分布している場合、それらの多数の点を2つ1組にすると、各組の垂直二等分線はその円周の中心近くを通る。ここで、円の中心近くの複数の点から放射状に伸びる多数の直線について考える。それらの直線と円の中心との距離が十分近ければ、ある点からそれらの直線に垂直に下ろす線分上の点を求め、求めたその点から別の直線に垂直に下ろす線分上の点を求め、新たに求めたその点から別の直線に垂直に下ろす線分上の点を求めるという処理を繰り返すことにより、求まる点は円の中心近くに収束する。同様に、球の中心近くの複数の点を通る互いに平行でない多数の平面について考えると、それらの平面と円の中心との距離が十分近ければ、ある点からそれらの平面に下ろす線分上の点を求め、求めたその点から別の平面に垂直に下ろす線分上の点を求め、新たに求めたその点から別の平面に垂直に下ろす線分上の点を求めるという処理を繰り返すことにより、求まる点は球の中心近くに収束する。本発明は、これらの現象を用いることにより統計処理を用いることなく磁気センサのオフセットを求めている。また、磁気センサが検出している地磁気の強さのみが変化する前後では、磁気センサの真のオフセットに対応する点から磁気データを成分とする点までの距離は変化する。しかし、地磁気の強さが変化する前に磁気センサから出力される2つの磁気データを成分とする2点の垂直二等分面又は垂直二等分線と、地磁気の強さが変化した後に磁気センサから出力される2つの磁気データを成分とする2点の垂直二等分面又は垂直二等分線とは、変化前後の各2点に対応する地磁気の検出方向が一致している場合には、一致する。このことから、磁気データを成分とする2点の垂直二等分面又は垂直二等分線を用いてオフセットを求める場合には、求まるオフセットの精度は地磁気の強さの変化の影響を受けにくいということがいえる。本発明は、この現象を用いることによりオフセットを求める精度を上げている。2上記目的を達成するための磁気センサ制御装置において、前記オフセットを設定する手段は、前記基点を更新する処理を複数の前記垂直二等分面又は前記垂直二等分線について前記垂直二等分面又は前記垂直二等分線の算出順に1回ずつ繰り返してもよい。3上記目的を達成するための磁気センサ制御装置において、前記オフセットを設定する手段は、前記基点を更新する処理を各前記垂直二等分面又は各前記垂直二等分線について複数回ずつ繰り返してもよい。基点を更新する処理を各前記垂直二等分面又は各前記垂直二等分線について複数回ずつ繰り返すことにより、オフセットを求めるために用いられる磁気データが少ない段階であっても、基点の更新処理によって基点を真のオフセットに対応する点の近くに収束させることができる。4上記目的を達成するための磁気センサ制御装置において、予め決められた所定距離以上離れた2点に対応する2つ1組の前記磁気データを入力順に選抜する手段をさらに備えてもよい。前記垂直二等分面又は前記垂直二等分線を算出する手段は、選抜された前記磁気データの組毎に前記垂直二等分面又は前記垂直二等分線を算出してもよい。磁気データ自体の誤差に着目すれば、オフセットに対応する基点を更新するために用いられる垂直二等分面又は垂直二等分線を規定する2点と真のオフセットに対応する点とを結ぶ2直線のなす角が小さいほど、それら2点の垂直二等分面又は垂直二等分線と真のオフセットに対応する点との距離が大きくなる傾向がある。したがって、ある程度離れた2点が1組となるように磁気データを選抜し、各組について垂直二等分面又は垂直二等分線を求めることにより、オフセットを求める精度を上げることができる。また地磁気の強さの変化に着目すれば、1組の要素となる2点に対応する磁気データが出力される時期のずれが小さいほど、それら2点の垂直二等分面又は垂直二等分線と真のオフセットに対応する点との距離が小さくなる。したがって、予め決められた所定距離以上離れた2点の成分になる2つ1組の磁気データを選抜し、選抜された磁気データの組毎に垂直二等分面又は垂直二等分線を算出することにより、オフセットを求める精度を上げることができる。5上記目的を達成するための磁気センサ制御装置において、既に選抜された前記垂直二等分面又は前記垂直二等分線とのなす全ての角が予め決められた所定角度以上になる前記垂直二等分面又は前記垂直二等分線を選抜する手段をさらに備えてもよい。前記オフセットを設定する手段は、選抜された前記垂直二等分面又は前記垂直二等分線について前記基点を更新する処理を繰り返してもよい。オフセットに対応する基点を更新するために連続して用いられる2つの垂直二等分面又は垂直二等分線が平行に近いほど、それらが交わる線又は点と真のオフセットに対応する点との距離は大きくなる。本発明では、基点を垂直二等分面又は垂直二等分線が交わる線又は点の近くに収束させるアルゴリズムを採用しているため、オフセットに対応する基点を更新するために連続して用いられる2つの垂直二等分面又は垂直二等分線のなす角はある程度大きいことが望ましい。したがって、既に選抜された垂直二等分面又は垂直二等分線とのなす全ての角が予め決められた所定角度以上になる垂直二等分面又は垂直二等分線を選抜し、選抜された垂直二等分面又は垂直二等分線について基点を更新する処理を繰り返すことが望ましい。6上記目的を達成するための磁気センサ制御装置において、前記オフセットを設定する手段は、前記基点から前記垂直二等分面又は前記垂直二等分線に下ろす垂線の足に前記基点を更新してもよい。基点から垂直二等分面又は垂直二等分線に下ろす垂線の足に基点を更新することにより、ある範囲に基点が収束するまでに基点を更新する回数を低減することができる。7上記目的を達成するための磁気センサ制御装置において、前記オフセットを設定する手段は、基点から前記垂直二等分面又は前記垂直二等分線に垂直に下ろす線分上の内分点に前記基点を更新してもよい。一時的な外乱によって真のオフセットに対応する点から遠い垂直二等分面又は垂直二等分線が求められた場合には、それらを用いて基点の更新処理が行われると、外乱によるオフセットの算出誤差が発生する。基点から垂直二等分面又は垂直二等分線に垂直に下ろす線分上の内分点に基点を更新することにより、そのような誤差を低減することができる。8上記目的を達成するための磁気センサ制御装置において、前記オフセットを設定する手段は、前記基点を更新する処理を、前記基点から前記垂直二等分面又は前記垂直二等分線に垂直に下ろす線分の長さが所定値以下になるまで繰り返し、最後の前記基点の成分に基づいて前記オフセットを設定してもよい。更新される基点の分布範囲の広さは更新処理を無限に繰り返しても0に収束することはない。したがって、地磁気が一定の状況では、基点の更新処理をある程度の回数繰り返すと、それ以上の更新処理は無駄になる。したがって、基点から垂直二等分面又は垂直二等分線に垂直に下ろす線分の長さが所定値以下になるまで繰り返し、最後の基点の成分を磁気データのオフセットとして設定することは合理的である。尚、本発明に備わる複数の手段の各機能は、構成自体で機能が特定されるハードウェア資源、プログラムにより機能が特定されるハードウェア資源、又はそれらの組み合わせにより実現される。また、これら複数の手段の各機能は、各々が物理的に互いに独立したハードウェア資源で実現されるものに限定されない。また、本発明は装置の発明として特定できるだけでなく、プログラムの発明としても、そのプログラムを記録した記録媒体の発明としても、方法の発明としても特定することができる。尚、請求項に記載された方法の各動作の順序は、技術上の阻害要因がない限り、記載順に限定されるものではなく、どのような順番で実行されてもよく、また同時に実行されてもよい。以下、実施例に基づいて本発明の実施の形態を説明する。本実施例では、3次元磁気センサの出力に含まれる、それが搭載されている移動体の着磁成分と磁気センサ自体の測定誤差を打ち消すためのオフセットを求める。オフセットを求めるためには、3次元磁気センサの出力である磁気データを成分とするベクトル空間内の無数の点の集合を球面として近似する。この球面を方位球の球面というものとする。また測定誤差のない理想的な3次元磁気センサの出力である磁気データを成分とするベクトル空間内の無数の点の集合を真の方位球の球面というものとする。本実施例では、方位球の中心点の成分がオフセットとして算出される。1.ハードウェア構成図2は本発明が適用される移動体の一例である携帯型電話機1の外観を示す模式図、図3は携帯型電話機1のブロック図である。携帯型電話機1には3次元磁気センサ4が搭載されている。3次元磁気センサは互いに直交するx、y、zの3方向の磁界のベクトル成分を検出することによって磁界の方向および強さを検出する。ディスプレイ5には、文字や画像の各種情報が表示される。例えばディスプレイ5には、地図と方位を示す矢印や文字が表示される。制御部45は、CPU40とROM42とRAM44とを備えている所謂コンピュータであって、磁気センサ制御装置を構成している。CPU40は、携帯型電話機1の全体制御を司るプロセッサである。ROM42は、CPU40によって実行される磁気センサ制御プログラムや、移動体の機能を実現するための種々のプログラム、例えばナビゲーションプログラムが格納されている、不揮発性の記憶媒体である。磁気センサ制御プログラムは、3次元磁気センサ4から出力される磁気データに基づいてナビゲーションプログラム等に方位データを提供するためのプログラムである。方位データは地磁気の方向を示す2次元ベクトルデータである。尚、方位データは3次元ベクトルデータとしてナビゲーションプログラムに提供されてもよい。磁気センサ制御プログラムのモジュール群にはオフセット設定プログラムが含まれている。オフセット設定プログラムは3次元磁気センサ4から出力される磁気データを補正するためのオフセットを設定するプログラムである。CPU40が磁気センサ制御プログラムを実行するとき、CPU40、RAM44及びROM42は磁気センサ制御装置として機能する。ナビゲーションプログラムは、現在地から目的地までの周辺地図を表示する周知のプログラムである。地図の認識のし易さから、地図は現実の方位に地図上の方位が一致するように画面表示される。したがって例えば、携帯型電話機1が回転すると、ディスプレイ5に表示される地図は地面に対して回転しないようにディスプレイ5に対して回転する。このような地図の表示処理に方位データが用いられる。もちろん、方位データは、単に方位を文字や矢印で表示するためにのみ用いられてもよい。RAM44はCPU40の処理対象となるデータを一時的に保持する揮発性の記憶媒体である。種々のプログラムは、その一部又は全部をネットワークを介した通信によってROM42に格納されてもよい。尚、磁気センサ制御装置と3次元磁気センサ4とを1チップの磁気測定装置として構成することもできる。アンテナ13、RF部10、変復調部12及びCDMA部14は、基地局と携帯型電話機1とでCDMA方式の通信を行うための回路である。音声処理部18は、マイクロホン16から入力されるアナログ音声信号のAD変換と、スピーカ50にアナログ音声信号を出力するためのDA変換を行う回路である。GPS受信部20は、アンテナ21で受信されたGPS衛星からのGPS電波を処理し、現在位置の緯度経度を出力する回路である。キー入力部48は、文字入力キーを兼ねたダイヤルキー、カーソルキー等を備える。電子撮像部52は、図示しない光学系、撮像素子、AD変換器等で構成されている。表示部54は、LCD等のディスプレイ5、図示しない表示制御回路等で構成され、携帯型電話機1の動作モードに応じた各種画面をディスプレイ5に表示する。報知部58は、図示しない音源回路、着信音スピーカ、バイブレータ、LED等を備え、着信をユーザに報知する。図4は、3次元磁気センサ4の概略内部構成図である。3次元磁気センサ4は、地磁気による磁界ベクトルのx方向成分、y方向成分、z方向成分をそれぞれ検出するためのx軸センサ30とy軸センサ32とz軸センサ34とを備えている。x軸センサ30、y軸センサ32及びz軸センサ34は、いずれも巨大磁気抵抗効果素子、ホール素子等で構成され、指向性のある1次元磁気センサであればどのようなものであってもよい。x軸センサ30、y軸センサ32およびz軸センサ34は、それぞれの感度方向が互いに直交するように固定されている。x軸センサ30、y軸センサ32、z軸センサ34、温度センサ36の出力は、切換部24によって択一的に選択され増幅器25で増幅された後にA/D変換器26によってAD変換される。x軸センサ30、y軸センサ32、z軸センサ34、温度センサ36の出力に対応するx軸磁気データ、y軸磁気データ、z軸磁気データ、温度データは、磁気センサI/F27によってバス11に出力される。温度データはオフセットの設定に用いたり、x軸磁気データ、y軸磁気データ、z軸磁気データのそれぞれの温度補正に用いることが可能である。x軸磁気データ、y軸磁気データ及びz軸磁気データの3成分で構成される3次元磁気センサ4の出力データを磁気データというものとする。2.第一のオフセット設定方法図1は、本発明を適用した第一のオフセット設定方法における処理の流れを示すフローチャートである。図1に示す処理は、ナビゲーションプログラムの起動時、着信時、一定時間毎等に起動されるオフセット設定プログラムが制御部45によって実行されることによって進行する。ステップS100では最初の基点が設定される。基点はxyzの3成分を有する座標としてデータ構造体に記憶され、ベクトル空間における特定の点の位置を示す。最初の基点は任意に設定しうるが、例えば、ナビゲーションプログラムの前回の終了時に設定されていたオフセットを基点として設定したり、工場出荷時に測定されたオフセットを最初の基点として設定しておくことができる。データ構造体や変数の値は、RAM44に記憶される。ステップS102では、磁気データが制御部45に入力され、入力された磁気データがp1に設定される。磁気データは、xyzの3成分を有する座標としてデータ構造体p1に記憶され、ベクトル空間における特定の点の位置を示す。ステップS104では、磁気データが制御部45に入力され、入力された磁気データがp2に設定される。p1に設定される磁気データが入力されてから、p2に設定される磁気データが入力されるまでの時間間隔は任意に設定することができる。磁気データは、xyzの3成分を有する座標としてデータ構造体p2に記憶され、ベクトル空間における特定の点の位置を示す。ステップS106では、p1とp2との距離が算出され、その距離が所定値より大きいかが判定される。算出された距離が所定値以下であればステップS104の処理によって再び磁気データが入力され、新たに入力された磁気データによってp2が更新される。p1とp2の距離が近すぎる場合、3次元磁気センサ4自体の測定誤差や3次元磁気センサ4の出力をディジタル値で取り出す際の計算誤差等の影響によって真の方位球の球面からp1とp2がわずかに離れるだけでp1とp2の垂直二等分面と真のオフセットに対応する点との距離が大きく離れるため図5の一点鎖線参照、その垂直二等分面を用いてオフセットを算出すると、算出されたオフセットと真のオフセットとの誤差が大きくなる。ステップS106の処理では、あまりに近い2点の垂直二等分面がオフセットの設定に用いられることがないように、入力された磁気データが選抜される。またステップS106の処理では、垂直二等分面を算出するための磁気データが入力順に組み合わせられるため、1つの垂直二等分面が求まる1組の磁気データに対応する磁界強度の差を低減することができる。したがって、そのようにして求めた垂直二等分面を用いてオフセットを算出することにより、測定中に地磁気の強さの変動の影響を受けにくくなるため、精度良くオフセットを設定することができる。これに対し、入力順があまりに遠い2点の垂直二等分面を算出する場合、測定期間中に2点に対応する各磁気データの地磁気の強さが異なる可能性があるので、算出される垂直二等分面と真のオフセットに対応する点との距離が大きくなる垂直二等分面が算出されるおそれがある。ステップS108では、p1とp2の垂直二等分面が算出される。p1をx1,y1,z1、p2をx2,y2,z2とすると、p1p2の垂直二等分面の式は以下の式1の通りである。算出した垂直二等分面を後の計算で用いるためには、平面方程式axbyczd=0の各定数として、以下の式2で表される変数a,b,c,dを算出し記憶すればよい。尚、後続のステップS112では、ステップS108で連続して算出される2平面を用いて処理が行われるため、今回の平面方程式と前回の平面方程式を別々に記憶するための変数a1,b1,c1,d1,a2,b2,c2,d2を用意し、今回の平面方程式を記憶するための変数a1,b1,c1,d1に格納されている前回算出された平面方程式の定数を、前回の平面方程式を記憶するための変数a2,b2,c2,d2に格納し直す処理が必要になる。ステップS110、112では、二回目以降に算出された垂直二等分面について、今回算出された垂直二等分面と前回算出された垂直二等分面のなす角θが所定値αより大きいかが判定される。2平面のなす角θが所定値α以下であれば、前回算出された垂直二等分面とのなす角θがαより大きくなる垂直二等分面が算出されるまで、新たな磁気データの入力と垂直二等分面の算出が繰り返される。2平面のなす角を求めることは、それぞれの平面の法線ベクトルのなす角を求めることと等価である。したがって、今回算出された垂直二等分面a1xb1yc1zd1=0と、前回算出された垂直二等分面a2xb2yc2zd2=0と、それらのなす角θの関係は、以下の式3の通りである。したがって、二平面のなす角θが所定値αα<π/2より大きいかを判定するためには、以下の式4の関係が成立しているか否かを計算により判定すればよい。連続して算出された垂直二等分面のなす角が図6に示すようにあまりに小さい場合、それら2平面の真のオフセットからの距離が近くても2平面は真のオフセットから遠い位置で交わる。本実施形態で採用されているアルゴリズムは、更新される基点の軌跡が平面の交わる直線に向かう性質を有するため、交わる直線が真のオフセットに対応する点から遠くなる可能性のある2平面を用いて基点の更新を行うことはオフセットの算出精度を落とす原因になる。また、ほぼ平行な2平面を用いて基点を更新しても、基点が真のオフセットに向かって動きにくいということもある。ステップS112では、このような問題を解決するために、算出された平面の選抜が行われている。ステップS114では、基点から今回算出された垂直二等分面に下ろした垂線の足の座標が求められ、その足に基点が更新される。基点の座標をx0,y0,z0とすると、その基点から今回算出された垂直二等分面a1xb1yc1zd1=0に下ろした垂線の足の座標xa,ya,zaは以下の式5によって求まる。ステップS114の処理が繰り返されると、順次更新される基点は図5に示す軌跡を辿って徐々に狭い範囲に収束する。図5では、f1からf4は垂線が下ろされた垂直二等分面を示し、fの添え字は垂直二等分面の算出順を示している。また、破線は基点の更新軌跡を示している。なお、f5以降の垂直二等分面は省略されている。本実施形態で採用されているアルゴリズムでは、オフセットを算出するための母集団要素数磁気データの数が少なくても、母集団要素数に応じた正確さでオフセットを算出できる。また、本実施形態で採用されているアルゴリズムでは、垂直二等分面を用いてオフセットが算出されるため、地磁気の強さの変化によってオフセットの算出精度が落ちにくい。例えば、地磁気の強さが変化して真の方位球の球面がS1からS2に変化したと仮定する。真の方位球の球面がS2であるときに入力される磁気データに対応するp1、p2図5で黒丸で示されている点の垂直二等分面は、真の方位球の球面がS1であるときに同一の姿勢とタイミングで入力される磁気データに対応する点図5で三角形で示されている点の垂直二等分面に一致する。したがって、本実施形態では地磁気の強さが変化しても、オフセットの算出精度が落ちにくい。ステップS116では、基点の更新回数が予め決められた所定回数に達しているかが判定される。基点の更新回数がある程度多くなれば、基点は真のオフセットに対応する点に近い狭い範囲に収束していると考えられる。そこで、基点の更新回数が所定回数に達した場合には、基点の成分がオフセットとして設定されるステップS118。オフセットが初めて設定された以後も上述の処理が繰り返され、都度オフセットが更新される。オフセットの更新は何度繰り返されてもよいし、所定回数で更新処理がうち切られてもよい。また、基点の更新回数に関わらずにオフセットが設定されてもよい。このようにして設定されるオフセットは、方位データを利用するプログラムが必要とするタイミングで利用される。尚、方位データを利用するプログラムの要求に応じて上述のようにして1度だけオフセットを設定してもよい。いずれにしても、本実施形態では、3次元磁気センサ4の出力に基づいてそのオフセットが設定されるため、キャリブレーション中に3次元磁気センサ4のxy軸が水平面上を回転している必要はない。したがって、キャリブレーションのためにユーザに特定の操作を強いる必要はない。このことから、3次元磁気センサのキャリブレーションでは、キャリブレーションにどれだけ時間を掛けてもよいし、どのようなタイミングでキャリブレーションを実行してもよいことになる。キャリブレーションにおける操作方法やタイミングをユーザに案内しない場合、キャリブレーション中に磁界の強さが変動することが想定される。本実施形態では、垂直二等分面を用いてオフセットが算出されるため、仮にキャリブレーション中に磁界の強さが変動したとしても、上述したようにオフセットの算出精度が落ちにくい。3.第二のオフセット設定方法図7及び図8は、本発明を適用した第二のオフセット設定方法における処理の流れを示すフローチャートである。第二のオフセット設定方法が第一のオフセット設定方法と異なる主な点は、所定数例えば5個の垂直二等分面からなる1つの垂直二等分面群を繰り返し用いて基点を更新する点である。図7及び図8に示す処理は、オフセット設定プログラムが制御部45によって実行されることによって進行する。ステップS200では、最初の基点が設定され、カウンタiが1に設定される。カウンタiは、基点更新に繰り返し用いられる垂直二等分面群を蓄積する第一のループ処理の繰り返し数である。ステップS202からステップS212まで、第一のオフセット設定方法で説明されたステップS102からステップS112までの処理と同様の処理が実行される。ステップS214では、今回算出された垂直二等分面がfiとして記憶される。すなわち、今回算出された垂直二等分面が、基点更新に繰り返し用いられる垂直二等分面群の第i番目の要素として記憶される。具体的には、今回算出された垂直二等分面の式の各定数がai,bi,ci,diの各変数に格納される。ステップS218でiがインクリメントされながら垂直二等分面の算出が繰り返され、n番目の垂直二等分面fnが記憶されるとステップS216で肯定判定される場合、n個の垂直二等分面について以下のように基点の更新処理が開始される。nは1つの垂直二等分面群の構成要素数を規定する定数である。ステップS220ではカウンタjが1に設定される。カウンタjはn個の垂直二等分面のそれぞれを基点更新に繰り返し用いる回数を制限するためのカウンタである。n個の垂直二等分面が十分近い範囲で交わっていない場合は、それらの垂直二等分面を何度繰り返し用いて基点更新したとしても、基点は真のオフセットに対応する点に近い狭い範囲に収束しない。したがって、このような場合にはオフセットを求めるために用いる垂直二等分面群を更新することが望ましい。カウンタjを用いるのはこのような理由による。ステップS222ではgに現在の基点の座標が設定される。gは概念的には基点更新の終了判定がなされる時点で最後から2番目に算出された基点である。具体的にはgは3成分を有する現在の基点の座標が格納されるデータ構造体である。ステップS224では、変数lmaxが0に、カウンタiが1に設定される。lmaxは基点更新の終了判定に用いる距離が格納される変数である。iは要素数がn個である1つの垂直二等分面群について1番目の垂直二等分面からn番目の垂直二等分面まで、順次垂線の足を求める対象となる垂直二等分面を特定するためのカウンタである。ステップS226では、基点から垂直二等分面fiに下ろした垂線の足の座標が求められ、その足に基点が更新される。ステップS228では、更新された基点と更新前の基点gとの距離lが算出され、距離lがlmaxより大きいか否かが判定される。今回算出された距離lがlmaxより大きければ、lmaxはlに更新されるステップS30。ステップS232では、n個の垂直二等分面を用いて基点を更新する処理が一巡したかが判定される。具体的にはiとnの一致判定が行われる。ステップS234でiがインクリメントされながらn個の垂直二等分面からなる1つの垂直二等分面群を用いて基点を更新する処理が一巡すると、その垂直二等分面群を用いて基点を更新する処理の終了判定が次のように実行される。ステップS236では、lmaxが予め決められた所定値以下例えば2μT程度以下であるかが判定される。lmaxには、n個の垂直二等分面からなる1つの垂直二等分面群を用いて基点を更新する処理が一巡する過程で算出された2つの基点間距離の最大値が格納されている図9参照。1つの垂直二等分面群を用いて基点が更新される過程において1度の更新によって基点が移動する最大距離が小さければ、狭い範囲に基点が収束していると考えられる。したがって、lmaxがある程度小さくなったことをもって真のオフセットに対応する点に近い基点が求まっていると判定することができる。lmaxが予め決められた所定値以下であれば、最後に求められた基点の成分がオフセットとして設定されるステップS242。lmaxが予め決められた所定値以下でなければ、カウンタjがインクリメントされながらステップS240、n個の垂直二等分面からなる1つの垂直二等分面群を用いて基点を更新する処理が繰り返される図10参照。1つの垂直二等分面群を用いて基点を更新する処理が予め決められた回数例えば20回だけ巡回してもlmaxが予め決められた所定値以下にならなければステップS238で肯定判定される場合、記憶されている1つの垂直二等分面群が破棄されてステップS202の処理に戻る。その後、上述したように磁気データの入力処理、n個の垂直二等分面の蓄積処理が繰り返され、n個の垂直二等分面が新たに蓄積されると、新たに蓄積された1つの垂直二等分面群について基点の更新処理が上述したように繰り返される。3.第三のオフセット設定方法図11は本発明を適用した第三のオフセット設定方法を示す模式図である。第三のオフセット設定方法が第一のオフセット設定方法及び第二のオフセット設定方法と異なる点は、基点を垂直二等分面に下ろす垂線の足で更新するのではなく、基点から垂直二等分面に垂直に下ろす線分の内分点で基点を更新する点である。第三のオフセット設定方法は、第一のオフセット設定方法にも第二のオフセット設定方法にも適用可能である。図11では第二のオフセット設定方法において基点から垂直二等分面に垂直に下ろす線分の中点で基点が更新される場合に基点が辿る軌跡が破線で示されている。ただし内分点を1:2、2:1、1:3、3:1とどのように設定するかは設計事項である。図11に示されるように、真のオフセットから遠い垂直二等分面f4を用いて基点の更新処理が行われる場合、各垂直二等分面に下ろす足で基点が更新されると、真のオフセットに対応する点からやや遠い範囲にまで基点軌跡の屈曲点に相当するが分布する。これに対し、真のオフセットから遠い垂直二等分面f4に垂直に下ろす線分の内分点で基点が更新される場合には、真のオフセットに対応する点からより近い範囲に基点が分布する。したがって、基点から垂直二等分面に垂直に下ろす線分の内分点で基点を更新することにより、真のオフセットに対応する点から遠い基点の成分でオフセットが設定されることを防止できる。4.他の実施形態以上、本発明を3次元磁気センサに適用した例について説明したが、本発明は2次元磁気センサに適用することもできる。また、オフセットの精度を上げるためには磁気データ及び垂直二等分面の選抜を行った方がよいが、必ずしもこれらの選抜を行わなくてもよいし、本実施形態で説明された例とは別の数学的処理によって選別することもできる。また、第二のオフセット設定方法においてキャリブレーションの終了判定を例示していたが、説明された終了判定は第一のオフセット設定方法にも適用できる。"