知識がないので、上手な質問ができませんが、お許し下さい。
2次元平面上で、あらかじめ正確な位置がわかっている灯台が3つ(A,B,C)あります。
自分の位置と方向が分からない船(P)が、灯台の地図と見える方向だけをたよりに、自分の方位と位置を正確に計算する方法を教えて下さい。
(三角測量ってこういうことをやるんですよね?
このあたりから自信なしです)
できれば、C言語かVBプログラムソースがダウンロードできるサイトを教えていただけると、うれしいです。

(プログラムソースって、計算手順をあらわすのに、フローチャートや、文章より適していると思うので・・・
私にとっては、英語、日本語より共通言語だし・・・
・・あ、話しそれました。ごめんなさい)

よろしくお願いします

このQ&Aに関連する最新のQ&A

A 回答 (2件)

 補足要求#1の条件が成り立っているものとして、先に行きましょう。



 角度は例えば反時計回りで、符号付きで表すことにしましょう。Cを基準にして、AとBの見える方角を測り、それぞれα,βとします。

 さて、海図を広げましょう。AとCの角度がα。ある点Xa:Xaから見てAとCの角度がαになるような点、を適当に見つけます。A,Xa,Cを通る円Raを描きます。するとこの円Ra上で、円弧A~Xa~C上ののどの点から見ても、AとCの角度はαである。(円周角の定理。幾何で習ったでしょう?)
 同様に、BとCの角度がβ。ある点Xb:Xbから見てBとCの角度がβになるような点、を適当に見つけます。B,Xb,Cを通る円Rbを描きます。するとこの円Rb上で、円弧B~Xb~C上のどの点から見ても、BとCの角度はβである。
 従って、円弧A~Xa~Cと円弧B~Xb~Cの交点が現在地点ですね。

*ある点Xa:Xaから見てAとCの角度がαになるような点、を適当に見つけるには?
AとCの距離を|AC|とします。AとCを結ぶ線分Lの垂直二等分線Hを描き、LとHの交点をMとします。H上で(|AC|/2)(cot(α/2))の所に印をつけて、それをXaにしては如何でしょうか。(いや、Cを通りLと直交する直線Vを描いて、V上でCから|AC|cotαの所に印をつけるのでも良いんですよ。)

*3点を通る円Raを描くには?
XaとCを結ぶ線分の垂直二等分線と直線Hとの交点が円Raの中心です。

という作図をプログラムに置き換えるだけのことですが...
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。

実際にプログラムで確認出来てから、お礼しようとしてました。
時間がかかりそうなので、お知らせしようと思います

実験環境そろえつつ、継続中です。

お礼日時:2001/04/19 13:08

平面上の話だとすれば、現実の航法ではなく、別の問題を言い換えていらっしゃるのだろうと思われますが、


数学の問題としては、ご質問の条件だけでは、いつでも必ず自分の位置が決まるとは限りません。以下の条件が必要だと思いますよ。

●3つの灯台が一つの直線上に並んでいないこと。
●3つの灯台の光を見て、どれがどの灯台なのか見分けが付くこと。(色が違うとか、光る周期が違うとか)
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qコード変換(漢字)のサンプルプログラム

始めまして!
困っています、御力添えをお願いします。
UNIX(SouOS5.8)でのコード変換(SJIS→EUC、EUC→SJIS)のコーディング(サンプルソース:C言語)をどなたか教えて頂けないでしょうか?
お願いします。

Aベストアンサー

下記URL参照。

参考URL:http://www-cms.phys.s.u-tokyo.ac.jp/~naoki/CIPINTRO/CCGI/kanjicod.html

Q灯台をつくりたい

ハリボテ(?)の灯台をつくりたいです。
地方イベントの飾りとして使用します。
大きさは2mくらい?
予算はそれほど多く有りません。

土台部分はスチロールや木などで出来そうなのですが、
ライトの部分をどうしていいか悩んでいます…
電気系の知識があまりないもので…

あのゆっくり点滅したり回ったりするライトを
どうやって自作すればいいんでしょうか。
なにかアイデアやアドバイスくださいませ。

Aベストアンサー

灯台のライトですが、二つのライトをT字に向けて回転させようとするから
難しく考えてしまうのではないでしょうか?
たとえば両方に穴を開けた筒(→□← こんな感じ?)を回転させれば灯台っぽいことになりませんかね?

回転させるのは普通にモーター使うしかないんじゃないかと思ったのですが、それでは回答になってないので。。。
回転部分は扇風機の羽を外して作ってみたら安くつきそうですかね?
歯車と組み合わせれば速度も調節できるでしょうし。。。
っても、早すぎるかな^^;

あとは、イベントということで、灯台のハリボテの横にノブをつけて、来場者に回してもらうとかどうでしょうね
まわせば灯台が回転する~みたいな
子供が喜びそうですが。。。強度もそこそこで作らないといけませんね(苦笑

と、ここまで解答を書いておいてなんなのですが、よく考えたらホームセンターとかに工事現場で使われるような黄色とか赤の赤色回転灯って売ってませんでしたっけ?^^;
工事作業者用のショップとかでも売ってそう
むしろ、ネット販売とかありませんかね。。。

Qブログ等で公開されているサンプルコードの著作権について

個人の方などが、ブログ等で公開されているサンプルコードについてですが、

あるプログラムの解説サイトで見つけた、サンプルコードと、
同じコードで解説しているサイトを2つ発見したので、こういうのって、法律的に、どういう扱いなのだろうかという疑問です。

Aベストアンサー

プログラミング言語や規約つまりプロトコルは対象外だけど、ソースは保護対象なんだってば。
当たり前だよ。プログラミング言語使って生み出された創作物なんだもん。
この辺、IT系資格の参考書でもたまに間違いを見かけるからわかりにくいんだろうね。

私は法学部卒の現役エンジニアです。
ソースコードが著作物なのは断言します。

QC言語 プログラムの質問

下記の問題はすでに他で回答されていますが、私のプログラムのどこがいけないかチェックしていただけませんか?

1)101人以下のクラスがあり、学生には1から通し番号が付いているものとする。 このクラスのある科目の得点を通し番号順にキーボードから受けとり、負の得点が入力されたら全員の入力が終わったものとする。 その後、キーボードから入力された番号の人の得点をxx点と漢字で表示し、存在しない番号が入力されたらプログラムを終了する。

2)第 1 種の定形外通常郵便物の料金は、次の表のように定められている。 郵便物の重さを g 単位で入力すると、料金が出力されるプログラムを作成しなさい。 ただし、以下の点を考慮すること。
*重さと料金の表は、2 次元配列として取り扱うこと

*指定された範囲外の値(負の値,0,4001以上)が入力された場合は、正しい値が入力されるまで入力処理を繰り返すこと

  重さ  料金
  50gまで  120円
  100gまで  140円
  150gまで  200円
  250gまで  240円
  500gまで  390円
 1000gまで  580円
 2000gまで  850円
 4000gまで  1150円
-----------------------------------------
自分のプログラム
1)
#include <stdio.h>

int main(void) {
int Snumber[101],score[101],i,n;

for(i=0;i<101;i++){
scanf("%d",&score[i]);
if(score[i]<0){
break;
}
}

for(n=0;n<i;n++){
if(score[i-1]==''){
break;
}
printf("学生番号:%d\n %d\n",Snumber[i],score[i-1]);

}

}
-----------------------------------------------

2)
#include <stdio.h>

int main(void) {
int weight,i;
int array[8][2] = { {50,120},
{100,140},
{150,200},
{250,240},
{500,390},
{1000,580},
{2000,850},
{4000,1150},
};

scanf("%d",&weight);
for(i=0;i<8;i++){
if(weight<=0){
break;
}else if(weight>= 4001){
break;
}else if(weight <= array[i][0]){
printf( "料金 : %d円\n", array[ i ][ 1 ] );
}
}


}

下記の問題はすでに他で回答されていますが、私のプログラムのどこがいけないかチェックしていただけませんか?

1)101人以下のクラスがあり、学生には1から通し番号が付いているものとする。 このクラスのある科目の得点を通し番号順にキーボードから受けとり、負の得点が入力されたら全員の入力が終わったものとする。 その後、キーボードから入力された番号の人の得点をxx点と漢字で表示し、存在しない番号が入力されたらプログラムを終了する。

2)第 1 種の定形外通常郵便物の料金は、次の表のように定...続きを読む

Aベストアンサー

> if(score[i-1]==''){

この意図は?

> printf("学生番号:%d\n %d\n",Snumber[i],score[i-1]);

Snumber[i]は宣言したままで、何も代入されていません。

このループ中、iに変化はありません。つまり、Snumber[i]もscore[i-1]も常に同じものを表します。
何が変化するかをよく考えてください。


> *指定された範囲外の値(負の値,0,4001以上)が入力された場合は、正しい値が入力されるまで入力処理を繰り返すこと

というプログラムになっていません。
範囲外は即終了になっています。

また、このプログラムでは、関係無い料金まで表示されます。
条件をよく考えてください。

Q数学演算のサンプルコード集のあるサイトを探しています(VB6)

VB6で数学演算のソースコードのサンプル集を探しています。

例えば今回は3次元のベクトルをX,Y,Z軸周りに任意の角度だけ回転する行列をプログラムしたいので、アフィン変換のサンプルなんかないかと探しています。いいサイトがあれば教えていただけませんでしょうか。

よろしくお願いします。

Aベストアンサー

まったくの素人なので、
参考になるかはわかりませんが、
検索したらこんなのがありました。

参考URL:http://files.codes-sources.com/fichier.aspx?id=37873&f=mdlMath.bas

Qなぜ,小学校の科目は,「り」ではなく,「理科」なのですか?推測もつきません。

小学校低学年→→大学など

しゃかい→社会→社会科
こくご→国語→国語科
さんすう→算数→数学→数学科

り→理→理科 これだけ,なぜこんな変なことになっていないのかとても不思議でなりません。だれか,教えてください。よろしくお願いいたします。

Aベストアンサー

(1)むしろ、何で「理科科」と言わないか問うべきではないでしょうか。

「理科」という科目は、明治初期、「生物」や「物理」と教えられてきた理系科目を統合して作られたものです。つまり、そもそも「理科」という科目名は、「国語科」「修身科」ではなく、「国語」や「修身」と並べるべき単語として作られたものなのです。
実際、昭和初期の制度では、「理数科理科」「理数科数学」という言い方がありました。

では、なぜ「国語」という科目から「国語科」という言い方が生じるように、「理科」という科目から「理科科」という言い方が生じないのでしょう。
やはり、単純に、言いにくいし気持悪いからでしょう。なお、「理科科」という言い方も少数ながら存在します(検索してみてください)。

(2)なお、「理科というのは、文科に対応する言葉」とは言い切れないように思えます。

たしかに、理科/文科とする場合もありますが、たとえば法科/医科/工科/理科/文科などと並べる場合もあります。
そして、この場合の「理科」は国語/算数/理科/社会とする場合の「理科」であるとも言えるのです。

もっとも、「理科というのは、本来は国語や社会より一段上の分類を示す言葉」という#6さんのご意見も、以下の資料からすると、沿革的に正しいようです。
「理科という教科名が正式に使われるようになったのは、明治19年5月に制定された小学校令の下の「小学校ノ学科及其程度」第三条に「高等小学校ノ学科ハ修身読書……歴史理科……トス」が初めてであり、…(略)。このように、この時点において突然新しい教科名「理科」が用いられるようになった背景は…(略)…、博物、物理、化学など個別に扱い、自然科学の学問体系をそのまま児童生徒に権威的に教え込むのではなく、科学的思考力を育て、その基礎となる自然環境の事物現象に対する観察考察を中心とする教科としてまとめることの意義を考え、大学で用いられてた理学のことばから「理科」という教科名を創出したものと推定される。しかし、この教科名は、あまりに突然に法令の中に現れたので、当時の現場職員は非常にとまどったという話も伝えられている」(教科教育百年史/建帛社/p364)。

(3)非常に不確かな記憶ですが、小学校の時の教科書の表紙の隅には、一年生の国語なら「国語103」とか三年生の社会なら「社会301」とか、小さく番号が印刷してあり 、理科は「理101」などとなっていたような気がします。

(1)むしろ、何で「理科科」と言わないか問うべきではないでしょうか。

「理科」という科目は、明治初期、「生物」や「物理」と教えられてきた理系科目を統合して作られたものです。つまり、そもそも「理科」という科目名は、「国語科」「修身科」ではなく、「国語」や「修身」と並べるべき単語として作られたものなのです。
実際、昭和初期の制度では、「理数科理科」「理数科数学」という言い方がありました。

では、なぜ「国語」という科目から「国語科」という言い方が生じるように、「理科」という...続きを読む

QHead First PHPサンプルコード文字化け

よろしくです。
下記のphpの本を参考にプログラムを勉強しているのですが、
サンプルコード(完成品)の日本語部分(DBがソースの日本語部分全て)がすべて文字化けしてしまいます。
この本は文字化け対策を強みにした本なのですが、実際のサンプルコードがこんな状態なので非常に困っています。
例えば、表示サイトページ内に3時間というデータが表示される予定だとすると、3??(ハテナマーク)のように表示されます。
ちなみに文字化け後、ブラウザ、DB、phpの文字コード設定はutf8統一であることは確認しました。apacheの文字コードはわかりません。
テスト環境は、自宅のローカルサーバーと、某レンタルサーバーの2つでどちらでも文字化けです。

この本を試した方、もしくはちゃっちゃっと下記サイトからサンプルをとって試していただける方、どうかレスをお願いします。
著書内ではこれでどうだというくらい日本語対策をうたっているのに、全サンプルがNGとは、あまりに不思議な現象で、とても困っています。
どうかよろしくお願いします。

『Head First PHP & MySQL――頭とからだで覚えるWebアプリケーション開発の基本』
Lynn Beighley, Michael Morrison 著、佐藤 嘉一 訳
2010年03月 発行
672ページ
ISBN978-4-87311-444-6

http://www.oreilly.co.jp/books/9784873114446/
関連ファイル ー サンプルコード
に本の中で使われている全てのサンプルが入っています。

よろしくです。
下記のphpの本を参考にプログラムを勉強しているのですが、
サンプルコード(完成品)の日本語部分(DBがソースの日本語部分全て)がすべて文字化けしてしまいます。
この本は文字化け対策を強みにした本なのですが、実際のサンプルコードがこんな状態なので非常に困っています。
例えば、表示サイトページ内に3時間というデータが表示される予定だとすると、3??(ハテナマーク)のように表示されます。
ちなみに文字化け後、ブラウザ、DB、phpの文字コード設定はutf8統一であることは確認しま...続きを読む

Aベストアンサー

表示させるだけじゃねーじゃん。

確かにデフォルトだと文字化けした。
でも文字化け回避できた。

--------------------------------
// Connect to the database
$dbc = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
mysqli_set_charset($dbc, "utf8");// ←追加

Q言語能力と言語運用

アメリカの言語学者、チョムスキーが言った言語能力と言語運用
とは簡単に言うとどういうことなんでしょうか?

Aベストアンサー

 
  簡単に言えば:
 
  「言語能力」(Competence)とは、例えば、どの文化、どの国、どの民族に属する子どもでも、英語環境で育てば英語が母語になり、日本語環境で育てば日本語が母語になるというように、およそ知られているどの言語であっても、人間の子どもは修得できるので、これは、人間のおそらく脳構造に、言語の「普遍的構造原型」があるのであり、個々の具体的言語は、この「普遍言語」の構造規則の適用、展開であると考えられるということです。人間がすべて持っている、この「普遍言語」の構造より、既存言語の修得が、この基本能力から可能となるため、これを、「言語能力」と呼ぶのです。普遍言語構造が、人間には備わっていて、そこから、あらゆる言語を、人間の子どもは(そして大人も)習得でき、理解できるのだということで、考えられている人間の精神の深層能力です。チョムスキーは、この普遍構造の解明の試みとして、生成文法理論を立てたのです。
 
  「言語運用」(Performance)とは、実演とでもいうような意味で、普遍言語構造の上に、通常の具体的言語の構造規則が載り、固有の語彙や、その使用意味、実際の文章構成規則に従って、具体的な言説行為を、具体的言語で実行してみることを言うのです。個別的言語の運用ということになり、普遍構造=言語能力と、この運用のありようのあいだには、当然、相互補完的な関係があり、具体的言説行為は、文化や社会の規定や、個々人の知識や人生の経験等で、着色されて、あるいは、変調されて実現されるはずです。チョムスキーはしかし、実証的な、アメリカ構造主義言語学のサンプル収集の技法は使わず、普遍構造の規則的導出ということに、より大きな関心を抱いたのです。具体的な言語の使用例が、「言語運用」に当たるので、この部分は、チョムスキーの言語学では、規定されてはいるが、実際には、彼は、この領域での研究理論は、あまり構成しなかったのだと言える。
 
  しかし、言語運用は、当然、問題となってくるのであり、運用の解析によっては、チョムスキーの理論の妥当性も吟味されるはずです。
 

 
  簡単に言えば:
 
  「言語能力」(Competence)とは、例えば、どの文化、どの国、どの民族に属する子どもでも、英語環境で育てば英語が母語になり、日本語環境で育てば日本語が母語になるというように、およそ知られているどの言語であっても、人間の子どもは修得できるので、これは、人間のおそらく脳構造に、言語の「普遍的構造原型」があるのであり、個々の具体的言語は、この「普遍言語」の構造規則の適用、展開であると考えられるということです。人間がすべて持っている、この「普遍言語」の...続きを読む

Qホームページや書籍などのサンプルコードは動かないものばかりでしょうか?

ホームページや書籍などのサンプルコードを試して動かしてみても、動かないサンプルコードばかりだと思いますが、同じことを考えている人はいらっしゃいますか?

何か…ホームページや書籍などのサンプルコードが動かないということは、そのサンプルコード自体の問題というよりは作者の問題と思いますが…。なぜなら、1件のホームページや1冊の書籍で、このサンプルコードが動かなければ別のサンプルコードが動かない可能性が高いです。逆にこのサンプルコードがちゃんと動くということは、他のサンプルコードも動く可能性が高い。経験談で感じた限りです。

要するには作者の解説力次第になりますと思いますが、どうでしょうか?どんな簡単な言語でも解説力がなければ取っ付きにくく、どんな難しい言語でも解説力があれば取っ付きやすいものでしょうか?

何か解決法とかありますでしょうか?ご回答をお願いします。

Aベストアンサー

ちょっと抽象的かも、です。

>ホームページや書籍などのサンプルコードが動かないということは、そのサンプルコード自体の問題というよりは作者の問題と思いますが…。

それは「あり得ます」。
ただし、その前に自分の環境をチェックした方がいいでしょう。
ヴァージョン違い、なんてのは他のお方が仰ってる通りなんですが、他にも原因は色々と考えられると思います。
基本的に、一概にプログラミング言語と言っても、

1.提供元が一つしか無いもの
2.公式規格が制定されているもの

の2種類があります。
例えばC#なんかはMicrosoftしか提供元が無い言語がありますし、最近流行りのスクリプト言語系(Python、Ruby等)も提供元が一つしかありません。こう言う場合はヴァージョン違いだと動かない可能性がありますね。他のお方が仰っているように、使用してる言語のヴァージョンをチェックした方がいいでしょう。
じゃあ、2番なら安心か、と言うとそう言う事もないのです。
例えばC言語なんかは公式規格があったりしますが、かと言って、通常は「公式規格に則って」作っただけの言語なんてのも無くって、大体その提供側独特の「拡張ライブラリ」が入ってたりするんです。
つまり、A社が提供した「拡張ライブラリ」を利用したプログラムを「B社製の」一応公式規格に則った言語で書いても動かない場合があるんです。「拡張ライブラリ」自体は独特なんで、B社が同じモノを付けている、とは限りません。そう言う場合があるんですね。
まあ、そう言う事が(しばしば)生じるんで、何らかのサイト/参考書を利用してプログラムの勉強をする場合は、なるたけその筆者と「同じ環境を」備えるようにした方がいいです。作成者自身も「全部の環境を」試せるワケではない、と言う事を最初に納得しておくべきだと思います。

>要するには作者の解説力次第になりますと思いますが、どうでしょうか?
>どんな簡単な言語でも解説力がなければ取っ付きにくく、どんな難しい言語でも解説力があれば取っ付きやすいものでしょうか?

一理あるとは思います。
が、同時に「言語の性質」ってのはありますね。解説力があってもそれを埋める事は難しいでしょう。

これ言って良いのか悪いのか分かりませんが、原則、書籍を購入して勉強する場合は「定番で」「評価の高い」書籍を選んだ方が、万能では無いですけど「失敗する確率は低い」とは思います。やっぱ校正とかそのテのノウハウを蓄積してる「実績ある」出版社の本を選んだ方がいいですね。
敢えて言いますが、最近「ネットで発表」→「書籍化」と言うのが流行りになっていますが、ホームページを作れても書籍が作れるのか、と言うとこれはまた別の話なんですね。
新興のネット関係での出版社なんかがプログラミング言語の本をサイトの作者の持ち込みで「安く」出版してるケースが見られますが、単なるブログ系の本だったらいざ知らず、このテの技術系の本の場合、「校正を全く行わない」「誤字脱字が多い」「索引でデタラメで役に立たない」状態で出版していて、「安い」だけで買うと、結局役に立たないんで痛い目見ます(敢えて会社名は伏せておきますがそう言う実例があるのです)。
ですから、サイトで勉強するなら構いませんが、書籍を買って勉強する場合は、少々値段が高くでも「定番商品」の方が結果安上がりです。書評に関しては大体のトコamazonで見れますし(もっともamazonは否定的な意見は載せたがらない方針ですが)、何種類か評判が良い書籍をメモっておいて本屋で現物を見た後購入した方が良いでしょう。または、評判書籍を取りあえず図書館で借りて読んでみる、とか。
出版社もすべて同じなワケではなく、「一回刷っちゃったらあとは絶版でイイや」程度で考えて粗製本作ってるケースも確かに存在するんで、そこまで行くと、確かに仰る通りかもな、とは思います。

ちょっと抽象的かも、です。

>ホームページや書籍などのサンプルコードが動かないということは、そのサンプルコード自体の問題というよりは作者の問題と思いますが…。

それは「あり得ます」。
ただし、その前に自分の環境をチェックした方がいいでしょう。
ヴァージョン違い、なんてのは他のお方が仰ってる通りなんですが、他にも原因は色々と考えられると思います。
基本的に、一概にプログラミング言語と言っても、

1.提供元が一つしか無いもの
2.公式規格が制定されているもの

の2種類があり...続きを読む

Q灯台元暗しの発音(音程)

こんにちは 宜しくお願いします。
灯台元暗し という言葉があります。
元 は 琴と同じような音程
暗し は 暮らし と同じ発音で音程
で元暗しは音程的にもっと低いのではと思いますが、

みなさん モトクラシーみたいなカタカナことばの発音ですよね。(アナウンサーの方も)

これはなぜですか?

Aベストアンサー

切り方によるのだと思います。

3節に切る場合:
ト【ーダイ】、【モ】ト、ク【ラシ】

2節に切る場合:
ト【ーダイ】、モ【トク】ラシ

1節で発音する場合:
ト【ーダイモトク】ラシ

※【】内が音程が高くなる部分です。

で、
丁寧に切って発音しない場合、
つまり後2者の場合に、
「モトクラシー」みたいに聞こえるわけです。


人気Q&Aランキング

おすすめ情報