何度も申し訳ありません
http://oshiete.goo.ne.jp/qa/7877142.html
より、回答を受けてプログラムを作成したのですが、
衝突時の時間と座標をどのように作成すれば良いか分からなく、
一秒後の点Pの位置を算出したのですが、合っているかどうかが分かりません。
非常に難しくで困っています。お助け下さい。
ソースコード
#include <stdio.h>
#include<math.h>
int main(void)
{
float p,v,vx,vy,x,y,x1,y1,katamuki,gyaku,seiki_x,seiki_y,n,touei_x,touei_y,idoux,idouy,px,py;
/*
p=(x,y);
v=(vx,vy);
*/
x=1.0;
y=1.0;
vx=1.0; //x方向の速さ
vy=-2.0; //y方向の速さ
y1=-x; //逆数
x1=-y; //逆数
printf("逆数は(x1,y1)=(%f,%f)\n",x1,y1);
seiki_x=x1/(sqrt(x1*x1+y1*y1));
seiki_y=y1/(sqrt(x1*x1+y1*y1));
printf("正規化、(x方向,y方向)=(%f,%f)\n",seiki_x,seiki_y);
n=-(vx*seiki_x)+(vy*seiki_y); //nは内積
touei_x=n*seiki_x; //touei_xは投影x軸
touei_y=n*seiki_y; //touei_yは投影y軸
printf("投影ベクトル(x,y)=(%f,%f)\n",touei_x,touei_y);
idoux=vx+2*touei_x; //衝突後、点Pのxの移動方向
idouy=vy+2*touei_y; //衝突後、点Pのyの移動方向
px=-idoux; //点Pのx座標
py=-idouy; //点Pのy座標
printf("1秒後の位置は点P(x,y)=(%f,%f)",px,py);
return 0;
}
/*
逆数は(x1,y1)=(-1.000000,-1.000000)
正規化、(x方向,y方向)=(-0.707107,-0.707107)
投影ベクトル(x,y)=(-1.500000,-1.500000)
1秒後の位置は点P(x,y)=(2.000000,5.000000)
*/
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
>壁の法線ベクトルNを求めるには、壁の傾きの逆数を求めます。
壁の傾きの逆数『の符号を反転した数』が正しいでしょうね。
傾きの積が-1になることを利用しているのであれば。
>例えば、傾きが「-3/4」であった場合には「4/3」が逆数になります。
-3/4 の逆数は -4/3 以外にはありません。
逆数を求める際、正負の符号を勝手に取り払ってはいけません。
No.1
- 回答日時:
>x=1.0;
>y=1.0;
>y1=-x; //逆数
>x1=-y; //逆数
下の2行は、実際に行なっていることとコメントが食い違っています。
逆数というのは、1/xや1/yのことです。
本当に実行したいのは、逆数を得ることでしょうか。それとも、
今のコードのように、正負を反転した数を得ることでしょうか。
この回答への補足
http://www5f.biglobe.ne.jp/~kenmo/program/buturi …
より、
1.まず、壁の法線ベクトルNを求めます。
法線ベクトルとは、あるベクトルに直角に交わるベクトルのことを言います。
壁の法線ベクトルNを求めるには、壁の傾きの逆数を求めます。
例えば、傾きが「-3/4」であった場合には「4/3」が逆数になります。
(逆数は「元の数×逆数=-1」という式を利用します)
そして、逆数の傾きとなるようなベクトルを求めます。
(x, y)=(4, 3)だと逆方向なので、(x, y)=(-4, -3)になります。
と書いてあったので・・・
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) Pythonにおける物理のシミュレーションでの単位変換について 2 2023/06/02 17:11
- 数学 数学直線の方程式とベクトル方程式について 直線の方程式で 点(x1,y1)を通り、直線ax+by+c 1 2022/08/12 12:13
- その他(プログラミング・Web制作) Pythonによる物理の斜方投射の位置座標表示について 2 2023/06/05 12:46
- その他(プログラミング・Web制作) Pythonでのかんたんな物理シミュレーションについての書籍 5 2023/06/02 07:37
- その他(プログラミング・Web制作) ボールの動きがスムーズに動いてかつ目盛り線描画を維持するためには 4 2023/05/31 10:01
- C言語・C++・C# ある線が円の範囲に入っているかの計算 1 2022/12/07 16:14
- 数学 数学(ベクトル) 単位ベクトルの一次結合で一般の空間ベクトルは表せる という式なのですがなぜ 「x1 3 2023/04/10 01:24
- その他(プログラミング・Web制作) 物理の斜方投射のシミュレーションにおける位置や速度の単位について 4 2023/05/31 09:50
- 数学 写真の図は中心(a,b)半径rの円とその円周上の(x1,y1)における接線lと円の中心とlを結ぶ任意 4 2023/08/08 16:20
- Excel(エクセル) エクセルで同じ数字同士を自動で線で結ぶVBAを教えてください 6 2022/04/26 23:13
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
(1800×900)と書いてあ...
-
縦の長さが60センチ 横の長さが...
-
整形の勉強をしています。 長軸...
-
線電荷密度ρの半径Rの無限長の...
-
中一の加法 数学です (-27) - (...
-
図形群の法則性の問題
-
相乗モーメントってなんですか?
-
余角と補角を図で示して教えて...
-
力のモーメント
-
TD、MDって何の略?
-
三点支持について
-
芯出し・芯出し作業
-
モータのd軸、q軸ってどうゆう...
-
部分入れ歯つけて寝るとどうな...
-
上下方向の力を左右方向に変換...
-
ブリルアンゾーンについて
-
大学数学の代数の問題です。 ・...
-
角度の時・分・秒への換算について
-
季節風の風向
-
楕円定規について。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
縦の長さが60センチ 横の長さが...
-
(1800×900)と書いてあ...
-
整形の勉強をしています。 長軸...
-
余角と補角を図で示して教えて...
-
外出先などのトイレ(小便器)で...
-
「長手」の対義語は何でしょうか?
-
図形群の法則性の問題
-
四角形の寸法表記方法 縦×横...
-
SEMのstigma調整って何ですか
-
三点支持について
-
木造2階建の筋交いの入れ方
-
鉛筆を芯だけにするには?
-
When Inventors' Digest asked ...
-
TD、MDって何の略?
-
上下方向の力を左右方向に変換...
-
芯出し・芯出し作業
-
理科 天気の分野 風配図の見方...
-
観点と側面の意味をそれぞれ教...
-
相乗モーメントってなんですか?
-
モータのd軸、q軸ってどうゆう...
おすすめ情報