- ベストアンサー
OpenGLエアホッケーの移動について
- エアホッケーの移動について悩んでいる方へ
- エアホッケーの移動に関する計算方法について
- エアホッケーの移動における速度と位置の求め方
- みんなの回答 (3)
- 専門家の回答
関連するQ&A
- OpenGLでのプログラミングについて質問です
http://www.wakayama-u.ac.jp/~tokoi/opengl/libglut.html#7.2 上記URLのソースについて幾つか質問です。 1.以下の用に記述すると、何故以前のラバーバンドを消去することになるのでしょうか? if (rubberband) { /* 以前のラバーバンドを消す */ glVertex2iv(point[pointnum - 1]); glVertex2iv(savepoint); } 2.以下の部分の、staticはどういう役割をしているのでしょうか? void motion(int x, int y) { static GLint savepoint[2]; /* 以前のラバーバンドの端点 */ 3.メインは、以下のように記述されているのですが、OpenGLは通常のCプログラミングと違い、上から下に順次処理されて行っているだけでなく、見えない部分でも何か処理をやっているようなのですが、どういう順序でこのmainは処理されているのでしょうか? int main(int argc, char *argv[]) { glutInitWindowPosition(100, 100); glutInitWindowSize(320, 240); glutInit(&argc, argv); glutInitDisplayMode(GLUT_RGBA); glutCreateWindow(argv[0]); glutDisplayFunc(display); glutReshapeFunc(resize); glutMouseFunc(mouse); glutMotionFunc(motion); init(); glutMainLoop(); return 0; } あと、 http://www.wakayama-u.ac.jp/~tokoi/opengl/libglut.html#6.1 に書かれている、 glOrtho(-w / 200.0, w / 200.0, -h / 200.0, h / 200.0, -1.0, 1.0); という関数の意味がよく分かりません。 どなたか、どれか一つだけでも良いので解答をお願いします。
- 締切済み
- C・C++・C#
- opengl
C++,openGLの質問です. 画像の上で2点を指定し,その2点を用いて画像上に四角形を表示したいのですがどういったpログラムを書けばいいでしょうか?イメージは図のような感じです.(1)と(2)が画像上で指定した点で高さが255の長方形になるようにしたいです. http://www.wakayama-u.ac.jp/~tokoi/opengl/libglut.html#5 のサイトを参考に作ってみたのですが,いまいちわかりません. 以下,自分で作ってみたところです. わかりにくいと思いますが,アドバイスいただけたら嬉しいです. painted_pointはint型のベクターでクリックされた点の位置を保存しています. 最終的には,3点以上の折れ線上に長方形がつながってくっつくのことを予定しています. for(int i = 0; i<painted_point.size(); i++){ GLdouble vertex[][3] = { { painted_point.at(i).x, painted_point.at(i)., 0 }, { painted_point.at(i).x, painted_point.at(i)., 255 } } }; int edge[][2] = { {1 , 2} for(int i=0; i<painted_point.size(); i++){ edge[][2] ={{ i*2 , i*2 + 2}, { i*2+1 , i*2 + 3}, } {painted_point.size()-1,painted_point.size()} }; /* 図形の描画 */ glColor3d(0.0, 0.0, 0.0); glBegin(GL_LINES); for (i = 0; i < 12; ++i) { glVertex3dv(vertex[edge[i][0]]); glVertex3dv(vertex[edge[i][1]]); } glEnd(); }
- 締切済み
- C・C++・C#
- 物理学 水平投射
高さhから初速度v0で水平投射する問題です。 (空気抵抗の比例定数k、重力加速度g、投げ出したときの時刻を0とする。) 時刻t[s]における物体の速度 v(x) = v0*e^-(k/m)t v(y) = (mg/k){1 - e^-(k/m)t} までは解けたのですが、そこから時刻t[s]における物体の位置の求め方がよくわからないので、ご教授お願いします。 速度をtで積分すれば位置になるのはわかりますし、積分も ∫v(x)dt = x = (-m/k)V0*e^-(k/m)t というのはできますが、そこから初期条件を課して x = (mv0/k){1 - e^-(k/m)t} へ変形する考え方がわかりません。
- ベストアンサー
- 物理学
- 運動の問題です。
質量mの質点がX軸上を速度の2乗に比例する摩擦力-γ(dx/dt)^2を受けて運動している時、次の問題に答えなさいという問で (1)質点のX軸方向の運動方程式をv(=dx/dt)を用いて表しなさい。ただしv>0とする。 (2)t=0の時の質点の速度をdx/dt=v0>0として、時刻tにおける速度vを求めなさい。 (3)t=0の時の質点の位置をX=0として、時刻tにおける位置xを求めなさい。 っていう問題なんですけど。自分で(2)までは解いて(2)の答えはv=v0^2e^-2ktvになったんですが本当に自信がありません。又(3)は部分積分法を用いるのでしょうか?
- 締切済み
- 物理学
- ベルヌーイの定理(排出速度と液面高さ)
液面制御の問題を考えているのですが、排出速度は高さhに比例する{v(t)=kh(t)}らしいのですが、どうしても√hに比例するとしか考えられないのですが・・・どう考えればよいのでしょうか? 流入速度u(t) 流出速度v(t) 断面積A 高さh(t) とします。
- ベストアンサー
- 物理学
- 物理の微分方程式
物理の微分方程式 高二です。塾で微分方程式を習ったのですが、さっぱりです。。。。 問 質点が速度Vに比例する抵抗力を受けて運動する際、V(t)、X(t)を求めよ。ただし、比例定数をk(>0)とする。 解 ma = mg-kv --1 a = dv/dt --2 v = dx/dt --3 1,2より dv/dt = g-kv/m よって dv/dt = -k/m(v-mg/k) ---4 ←変数分離型 (1/v-mg/k)dv = -k/m dt ----5 ここから積分して、計算して log{v(t)-mg/k} = C-kt/m ----6 (C=log{v(0)-mg/k}) {}は絶対値 そして {v(t)-mg/k} = e^C -e^-kt/m -----7 その後 v(t)=mg/k(1-e^-kt/m)(t≧0) となりました 質問 (1)初期条件ってなんですか? (2)4→5の過程はなぜやるんですか?変数分離型ってなんですか? (3)6→7の過程でなぜlogがとれるんですか? (4)よければx(t)の答えを教えて下さい とても困っています!部分的でもよいので教えて下さい、お願いします
- ベストアンサー
- 物理学
- 電場と電位の関係式について
図のように点P(位置ベクトルr)と点Q(位置ベクトルr+Δs)の電位差ΔV=V_Q-V_P(<0)は,単位正電荷が点Qから点Pまで-Δsだけ変異するときに電場Eがする仕事-E(↑)・Δs(↑)=-E_tΔsに等しい.(-E_tはΔs(↑)方向の成分)と表されるので,電場Eの変位Δs の方向成分E_tはE_t=-ΔV/Δsである. ここからE(↑)=-gradVが導かれるのはわかりますが,この話の進め方に疑問があります. まず,本にも書いてあるようにΔVは負ですよね. そして単位正電荷を点Qから点Pまで持っていくからベクトルΔsの逆方向に進むわけですから-Δsになり,このときする仕事はE(↑)・(-Δs(↑))になるというのはわかりますが,なぜわざわざΔVを負にとるのでしょうか. E_t=-ΔV/Δs(>0)ですよね. つまり,点Pの電位をV+ΔV,点Qの電位をVというように,この本とは違う電位のとり方をしてみます. ΔV=V_P-V_Q(>0)となります.このとき点Pから点Qへと単位正電荷を変位させたとき,仕事はE(↑)・Δs(↑)=E_tΔsとなり,E_t=ΔV/Δs(>0)となりますよね・・・. ではE(↑)=gradVとなるのではないでしょうか. 一種の公式であるE(↑)=-gradVにマイナスがつく理由がよくわかりません. これらのことについて詳しく教えていただけないでしょうか. よろしくお願いします.
- ベストアンサー
- 物理学
- 撃力を受けた剛体の運動
慣性モーメントI質量Mの剛体に,重心からdの位置に撃力が加えられた時の運動について教えて欲しいです. 剛体に与えられた運動量をPとすると,並進運動と回転運動を別に考えて 並進運動の速度V=P/M 回転運動の角速度ω=Pd/I 剛体に与えられる運動エネルギーE=1/2*MV^2+1/2*Iω^2=1/2*P^2*(1/M+d^2/I) となるようです. dによってEが変わってしまっていますがなぜ問題ないのでしょうか?理由を教えて頂けると嬉しいです. 撃力として質量m速度vの小玉が完全弾性衝突した後停止する場合を考えるとP=mv(E=1/2*mv^2)となるので,力の位置に依らずEは一定になるのではないかと思っていました.
- 締切済み
- 物理学
- パソコンAはUSB TyPe-BでTS-7530に接続して使用中、パソコンBを無線ダイレクトで接続して、二台のパソコンで一台のプリンターを使いたいと考えていますが、一緒に使えますか。
- パソコンAとパソコンBでTS-7530を使用して一台のプリンターを使いたい場合、パソコンAはUSB Type-Bで接続し、パソコンBは無線ダイレクトで接続します。しかし、二台のパソコンで同時にTS-7530を使用することはできるのでしょうか。
- パソコンAとパソコンBでTS-7530を使いたいと考えています。パソコンAはUSB Type-Bで接続し、パソコンBは無線ダイレクトで接続する予定です。二台のパソコンで一台のプリンターを使うことは可能でしょうか。
お礼
なるほど、負の冪乗の部分は勘違いで普通に冪乗を行えばいいのですね eの部分は2.71828182845904523536として行うと、プログラム上は問題なさそうです。 式の内容やとき方はネットでひとつづつ調べて理解していこうと思います。