【解決!】ずっと分からないで居る事柄"ベクトル"

アバター
SyunoBOX
記事: 6
登録日時: 7年前
住所: 茨城
連絡を取る:

【解決!】ずっと分からないで居る事柄"ベクトル"

投稿記事 by SyunoBOX » 7年前

私は、数学的なベクトルの意味が分からない…。

ベクトルとは、向きと大きさを持ったものである、と言う事は分かる。
でも、向きと大きさだけと言う事は、原点と言うか、始点と成るところは、どこでも良いのだろうか?と、私は疑問に思う。

そもそも、ベクトルと言うものが、原点だとか始点だとかを気にするものでは無いものなのかも知れない…。
でも、数学的には、Oを原点として~と言った文言が、最初に書いてあると思う。
それを思うと、ベクトルは、同じ点を原点とするもので、原点から幾つものベクトルが伸びているかの様に考えるのだろうか…と、私は悩む。
しかし、ベクトルについて教える本やサイトでは、ベクトルの先にベクトルが描かれ、それを足し算したりすると書いてある。それならば、原点から伸びたベクトルから、また別のベクトルが伸びて~と、ベクトルを繋げて考えるものなのだろうか…と、私は、また悩む…。

私は、アクションゲームのマップとして、線分を足場にしたい。
そもそもは、その線分をベクトルとして考えた方が良いのだろうかと思って、ベクトルについて考え始めた。

例えば、左上が(0,0)で、そこを原点Oとする平面上で、足場を作ろうとすると、線分として考えるならば、普通は、始点と終点の二点の座標を決め、線分を作ると思う。

それを、ベクトルに置き換えるには、どうしたら良いのか。
前述の様に、原点からベクトルが~と考えてしまうと、二点の座標は、二つのベクトルの向きと大きさの結果と言うか、先にある点として捉え、二つのベクトルから成る二点~と言った、よく分からないものに成ってしまう…。
それならば、やはり、始点は必要で、それは原点で無くとも良いのだろうか…と、私は考える。その場合は、始点は同一では無く、前述の始点は、そのままに、終点を、向きと大きさから成るものだと考え、xにn移動して、yにm移動した先…と言う様な感じで、座標とは異なる(x,y)を設ければ良いのだろうか…。

分からない…。

それでも、やはり、始点の場所は自由で、向きと大きささえあれば、ベクトルを利用して、加算だ減算だ、内積だ外積だ行列だ~と計算できる…と思う。

はあ…。


ちなみに、私は高校生でも、高校生より若くも、無い…。
高校程度の数学ができるか?と問われれば、素直にできないと答える。

-----ここから追記。
投稿後、直ぐに紳士な方からコメントを頂き、長年の悩み(馬鹿野郎なので数年は悩んで居た。)が解決しました…!

折角、コメントを頂いたのに、何だか身も蓋も無い言い方ですが、要するに、私の考え過ぎで、考えとしては、合って居た様です。

ベクトルは、向きと大きさを持った矢印の様なものでしか無く、原点や始点は、その時々の使い方に依って変わるものの様です。

まあ、解決してみれば、そうだよなあとしか言う事が無い様な、何で、こんな事で悩んで居たんだろう…と思ってしまいますが、悩んで理解した方が、きっと、良いでしょう…。うん。

解決すると、また別の疑問ができるものですが、DXlibの関数からして、ベクトルはfloat型が一般的なのかなあとか、今、既に頭の中で悩みつつありますが、それはそれとして、これで、ゲーム作りが大いに捗りそうです!

人の名前を載せるのは、私は何と言うか、相手に悪いかも知れないと、抵抗を感じるので、どなたかは言いませんが、コメントを頂き、本当にありがたやです!!
最後に編集したユーザー SyunoBOX on 2017年4月19日(水) 22:19 [ 編集 1 回目 ]

アバター
usao
記事: 1887
登録日時: 11年前

Re: ずっと分からないで居る事柄"ベクトル"

投稿記事 by usao » 7年前

>ベクトルとは、向きと大きさを持ったものである、と言う事は分かる。
>でも、向きと大きさだけと言う事は、原点と言うか、始点と成るところは、どこでも良いのだろうか?と、私は疑問に思う。

ベクトルについて「向きと大きさを持ったもの」を一言で「矢印」とか言い表したりしますよね.
・「向き」が,矢印の向き
・「大きさ」は,矢印の長さ
ですね.
始点についての情報は持っていませんね.
なので,必要ならば別途用意しましょう.

例えば,「座標(3,2)を示すベクトル」とかいうのを考えたら,「始点」は自然と原点(0,0)ですね.
こういうのは絶対的な位置を表すので,「位置ベクトル」とか言います.(要は座標ですね.)

例えば走る人の速度を表すためにベクトルを使ったら「速度ベクトル」ですね.
方向と速さ(大きさ)を持っていますが,このベクトル自体は走っている人が現在どこにいるかについての情報は持ってなくて,
単に,「その人の1秒後の位置を考えるとしたら,今いる位置(座標)に,このベクトルを足した結果の位置になるよね」という感じですね.
ベクトルの「始点」は,この場合,暗黙的に走っている人の今現在の位置ですね.

そんな感じ.
最後に編集したユーザー usao on 2017年4月19日(水) 21:03 [ 編集 1 回目 ]

アバター
SyunoBOX
記事: 6
登録日時: 7年前
住所: 茨城
連絡を取る:

Re: ずっと分からないで居る事柄"ベクトル"

投稿記事 by SyunoBOX » 7年前

コメントありがたやです。
(うっうう、投稿して直ぐに、どなたかにコメントを頂けるなんて、思って居なかったので、とても嬉しいです…。
緊張して、堅苦しい訳の分からない文面でしたが、それを読んで頂けて、本当に、ありがたやです。寧ろ、申し訳ないです。)

>そんな感じ.
おお! そうすると、やはり、ベクトルとは、向きと大きさを持ったものであって、原点をどこに、始点をどこにと言うのは、数学の問題でもプログラミングでも、その時々の使い方(状況?)に依ると言う事なのですね…!

私の考え方と言うか、考えて居た内容は、日記の通り、ごちゃごちゃして居ますが、私としては、考えて居た通りで嬉しい!と言った感じです。もしかしたら、誰かに「いや、ちょっと違う」と横槍を入れられてしまうやも知れませんが、全く違って居た訳では無い様なので、こう言う事は、素直に嬉しいと思った方が、すっきりすると思うので、そう考えます!

usaoさんのお陰で、とても、すっきりする事ができました!
ゲーム作り、励みます!

アバター
GRAM
記事: 164
登録日時: 13年前

Re: 【解決!】ずっと分からないで居る事柄"ベクトル"

投稿記事 by GRAM » 7年前

イメージしやすい考えはusaoさんの通りですね。
始点はケースに応じて使いやすいどこでもいいです。
私はベクトルの意義について話しますが、ベクトルの意義は図形問題を図形なしで処理することにあります。
例えば垂直なら内積0という具合です。

もちろん全てを図形的に解くこともできますが、コード全部に図をのせるわけにもいかないので、ルールさえわかっていれば数式を並べて足し算引き算かけ算する方がコード的にも分かりやすいですよね。そういうツールなんです
最後に編集したユーザー GRAM on 2017年4月19日(水) 22:47 [ 編集 2 回目 ]

アバター
usao
記事: 1887
登録日時: 11年前

Re: 【解決!】ずっと分からないで居る事柄"ベクトル"

投稿記事 by usao » 7年前

大切なのは,「ベクトル」という言葉でひとくくりにしてしまわないことだと思います.
【それが何を表しているのか】によって,妥当な取扱いというのは(始点の話も含めて)変わるわけなので.
ここらへんのことは,「ベクトル」じゃなくて,例えば,「整数」とかでも一緒.

Aさん「私の身長は170cmです」
Aさん「月収は22万5千円です」
とかいう自己紹介(?)に対して,
Bさん「じゃあ,足せば 225170 ですね!」
とかほざくのは,明らかに意味不明ですよね.(以後AさんはBさんとあまり関わらないようにするでしょうね.)

170 も 22万5千 も共に「整数」であり,「整数同士の足し算という演算」が存在はしますけども,
だからといって,それらを足すことが妥当かどうかは,これら整数の{使われ方,意味}に依るということですね.

で,そういう,その値の「意味」みたいなものが,プログラムのコード上では,わからなくなりがちなので注意ですね.

int A = 5;
Vector B = Vector( -5, 7.2 );

とか書いてあるのを見ても,「Aは整数」「Bはベクトル」ということと,その値まではわかりますが,データの「意味」はわからないのです.
同じ型でも意味(→取り扱い方)が全然違うというのに.


そういう「意味」で言えば
>向きと大きさ
のうち,一方だけが必要な場合とかもあります.方向だけを表したい「方向ベクトル」とか.

例えば,道に迷ったときに「棒が倒れた方に進むことにする」とかいう投げやりな(?)手段:
【倒れた棒の先端の座標が,棒を立てた地点からの相対座標で (x,y) であるとき,せっかくだから俺はベクトル(x,y)の方向に進むぜ!】
の話においては
ベクトルの「方向」だけに意味があって,大きさ(その時使った棒の長さ)には意味ないですよね.
最後に編集したユーザー usao on 2017年4月20日(木) 09:42 [ 編集 1 回目 ]

ISLe
記事: 2650
登録日時: 13年前

Re: 【解決!】ずっと分からないで居る事柄"ベクトル"

投稿記事 by ISLe » 7年前

最寄駅から自宅までの直線距離
最寄駅からスーパーまでの直線距離
この場合は最寄駅が原点になる。
じゃあ
自宅から最寄駅までの直線距離
スーパーから最寄駅までの直線距離
は?と考えてみる。

逆向きに考えてみたり複数比べてみたりすると発想が柔らかくなる気がします。

アバター
SyunoBOX
記事: 6
登録日時: 7年前
住所: 茨城
連絡を取る:

Re: 【解決!】ずっと分からないで居る事柄"ベクトル"

投稿記事 by SyunoBOX » 7年前

うわあ…。
【解決!】なんて、素直に、もうすっかり日記の事は忘れて居たのですが、
usaoさん含め、GRAMさん、ISLeさんからも、返信を頂いて居たなんて、
感激です…(よく見掛ける方だ!とミーハー気分なところがあります)。

私は、人間は、理解できるまで教えて貰えさえすれば、
大体の事は、そつなくこなせるものだ…と言う感じに考えて居ますが、
数学は、学校…少なくとも高校ぐらいまでは、
次の学校に進むため、受験に合格するために必要な点だけを覚えるもので、
何と言うか、私は、これは、こうでは駄目なのだろうか…と、
公式等の使い方に囚われ、悩んでしまうところがあります。

ですが、usaoさんの仰る様に、
ベクトルと言う言葉だけで一括りにするものでは無く、

GRAMさんの仰る様に、
ベクトルを使う意義があり、

ISLeさんの仰る様に、
考え方を変える事で、柔軟な発想につながる…
と言う様な、

やはり、きちんと、意味があると言うか、
単に、ベクトルは、向きと大きさを持ったもので、
こう言う問題は、こう解く~と言う理解の仕方では無く、
ベクトルには種類があり、
ベクトルを使う意義があり、
ベクトルと言っても、考えられる事は一つでは無い、
と言う風に、私は、もっと広く理解しても良いのだと、
知る事ができたと思います。

この通り、上手く言葉にできませんが、
私としては、このコメントを書きつつ、涙を流すぐらいには、
感動して居ります…。

どうでも良い事ですが、私は、あまり、人と話さないので、
こう言った事は、当たり前の事なのかも知れませんが、
とても、大切な事を知る事ができたと、嬉しく思います…。

御三方、本当に、ありがとうございます…!
何の御返しもできませんが、やはり、
ゲームを完成させる事が、感謝に繋がる様に思いますので、
ゲーム作りに励みたいと思います。