質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

解決済

2回答

2112閲覧

二つのベクトルと平面で直行するベクトルを計算するというプログラムの作り方が知りたい。数式?

退会済みユーザー

退会済みユーザー

総合スコア0

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

0グッド

0クリップ

投稿2020/08/05 05:00

編集2020/08/05 05:49

提示コードですが vec aとvec a_b_rのベクトルから平面に直行するベクトルを計算しようという問題なのですがどうすればいいのでしょうか?
参考サイトよりa . bの内積が0の時二つは直行しているとありますが自分が求めたいのは直行しているベクトルを計算したいです。
追記ですが本質問の最下部に問題文の画像を追加しました。下部の問3のCです。

参考サイト: https://www.geisya.or.jp/~mwm48961/electro/orthogonal_vector1.htm

void f2() { vec a(4,0);//初期 vec v(1,0);//矢印 vec b(5,6);//新目標 vec a_b_r(b.x - a.x,b.y - a.y);//a_bの向き printf("ab_r: %lf,%lf\n",a_b_r.x,a_b_r.y);//初期の座標から新しい座標ベクトルまでの向き } int main() { f2(); return 0; }

イメージ説明

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2020/08/05 05:26

2つのベクトルがつくる平面 に直行するベクトル、ということですか?
stdio

2020/08/05 05:35

「a . bの内積が0の時二つは直行しているとありますが自分が求めたいのは直行しているベクトルを計算したいです。」と言う文章も謎ですね。 色々考察しましたが、直行しているベクトルと言うところがいまいち分かりません。 平面に対して、平行のベクトルであるかを調べたいということでしょうか?
episteme

2020/08/05 05:58

え? 問題の丸投げならお断りよ?
退会済みユーザー

退会済みユーザー

2020/08/05 06:05

いやその、直行してているベクトルを求めるという文章が謎で平行ベクトルを求めよの間違えじゃないですか?っていう指摘があったので一応問題文を入れました。あとどの数式を使ったらいいかわからないのでそこが知りたいです。一応途中ではというか最低限のコードは入れたので
stdio

2020/08/05 06:08

最低限のコードを入れれば答えてくれるような甘い世界だとは思わないことです。 ここでは、全ての回答者に金銭が発生していません。 その程度の気持ちで質問してくるなら、答える義理などどこにもありません。
退会済みユーザー

退会済みユーザー

2020/08/05 06:09

失礼しました。数式のが知りたかったので。削除リクエストができるようになり次第。削除します。
guest

回答2

0

ベストアンサー

二次元平面上で、ベクトル a(a,b) b(p,q) に直交するベクトルX(x,y)は、

ax + by = 0
px + qy = 0

を満たすわけなので、この二次方程式を解けば良いですね

法線ベクトルで検索するといいですよ

投稿2020/08/05 06:12

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

episteme

2020/08/05 06:32 編集

二次方程式じゃない、連立方程式だ。 # コレ、二つのベクトルが並行なら無限個の解、さもなくば唯一(0,0)にならんか?
退会済みユーザー

退会済みユーザー

2020/08/05 07:18

2次方程式じゃないですね。ぼんやりしてました。 よくよく考えなおしたのですが、 ベクトルが平行じゃなくても(0,0)しか答えになりませんね これがXY平面上だとすると、ベクトルがどっちを指していようと、 このベクトルは2つともXY平面上のベクトルなので、 できる平面というのはどう頑張ってもXY平面でしかないわけです
fana

2020/08/05 07:33

これがBAになっているけど,結局何を求める話で何が正解だったのだろうか? 零ベクトルを「直交するベクトル」って呼ぶのだろうか? 問3cを文字通りに解釈すれば「(0,0,1)なる新しい次元の方向のベクトル」が答えであるように思えるのだが……「2Dのゲーム」って前置きされているし…???
退会済みユーザー

退会済みユーザー

2020/08/05 08:04

この問題正直どうすればいいのでしょうか?調べましたが公式?が出てきません。筆者がおかしいのでしょうか?飛ばして次のページをやっています。
episteme

2020/08/05 08:16 編集

2Dだと、あるベクトルに直交する"単位ベクトル"ならふたつあるけどねぇ...
fana

2020/08/05 08:31

その問題よりも前の文章(章とか節とか)の流れを考慮しても題意が不明なのであれば,取り組む意味がない(というか取り組めない)ですし,そもそもその問題をやらなきゃならん理由も無いでしょうし. その本のどこかに問題の答えとか書いてないんですかね?
fana

2020/08/05 08:34

低評価の理由: (題意は不明瞭ながら)とりあえずこの回答(:(x,y)を「連立方程式を解く」)という話は違うと思うので.
退会済みユーザー

退会済みユーザー

2020/08/05 11:17

回答がないので質問したのです。回答があればそこから少しでも推測できたので...
fana

2020/08/05 11:50

cの問題文にある「最初の矢印の向きと,(a)で計算したベクトルによって作られる平面」の意味がわからん限り(=その本を持っていて文脈を知ることができるあなたが明らかにしない限り),誰も答えられないです. 私には(2つの2Dベクトルがどっちに向いていようが)それらが張る平面は常にその2Dの世界そのものだろ常識的に考えて…としか思えないし.
退会済みユーザー

退会済みユーザー

2020/08/05 12:24

2dベクトルです。矢印は方向です。aから計算したベクトルはベクトルです
guest

0

「二次元平面上で、ベクトル V(x,y) に直交するベクトルX(a,b) を求める」なのかな?

であるなら、VとXが直交するとき内積が0となるので、
ax + by = 0 を満たす X(a,b) は Vと直交します。
※ 当然そんなXは無限にあります。

投稿2020/08/05 05:51

episteme

総合スコア16614

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問