- ベストアンサー
線と点の当り判定
(ax,ay)と(bx,by)を結ぶ線上に点(cx,cy)があるかを判定するプログラムを教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
その他の回答 (1)
関連するQ&A
- 斜線A・BにLの距離P点に斜線に直角の線C・Dを描く方程式を教えてくだ
斜線A・BにLの距離P点に斜線に直角の線C・Dを描く方程式を教えてください。 点A(Ax,Ay),点B(Bx,By)を結ぶ線上に、点Aから距離Lの位置、点P(Px,Py)に斜線に直角の線を描く方程式を教えてください。 Ax=5000:Ay=4000 Bx=25000:By=22000 A点からP点まで距離 L=20000として Px=19865.883:Py=17379.295 CD線の長さをL2=3000として Cx= Cy= Dx= Dy= を求めたいのですが
- ベストアンサー
- 数学・算数
- 三角形OABの面積を求めるプログラム
三角形OABの面積を求めるプログラムを作りました(課題ですがw)。が、うまく動かないんです。 どこが間違っているか教えてください。(VC++6.0) /*三角形OABの面積を求めるプログラム*/ #include <stdio.h> #include <math.h> void main(){ float ax,ay,bx,by,s; printf("点Aの座標を入力してください。\n"); scanf("%f%f",&ax,&ay); printf("点Bの座標を入力してください。\n"); scanf("%f%f",&bx,&by); s=(1/2)*abs(ax*by-ay*bx); printf("三角形OABの面積は%fです。\n",s); } ◇点A(ax,ay) 、点B(bx,by) 面積の公式s=(1/2)*|ax*by-bx*ay| と与えられています。 また、警告の意味もわからないんで、できればお願いします。
- ベストアンサー
- C・C++・C#
- 三角関数の問題です。
質問をさせていただきます。 二次元平面上に△ABCがあり、頂点の座標はそれぞれ (Ax,Ay)、(Bx,By)、(Cx,Cy)となっています。 また辺ACと辺BCの長さは等しく、二等辺三角形となっています。 (∠ACBの角度×1/4)の正接の値をTとした場合、 Cx、Cyの値をそれぞれ求めたいのですが、 どのようにすればよいでしょうか。 (ちなみに全ての辺は、X軸やY軸に必ず平行というわけではありません) Cx=~、Cy=~ といった形でご回答頂けると幸いです。 よろしくお願いいたします。
- ベストアンサー
- 数学・算数
- 行列 連立一次方程式
a,b,c,d,が0でない実数であるとき、次の連立一次方程式を解け ax-by-az+bu=1 bx+ay-bz-au=0 cx-dy+cz-du=0 dx+cy+dz+cu=0 行列を使った解き方でお願いします。
- ベストアンサー
- 数学・算数
- 空間上の二点を結ぶ直線上に任意の点が存在するかどうかの関数
Cの初心者です。 空間上に存在する2点間を結ぶ直線上に任意の点が存在するかどうかの 関数を作りたいのですがどのような公式を用いて評価すればいいのか分かりません。 どなたかご教示ください。 引数 始点 A(x,y,z) 終点 B(x,y,z) 直線上に存在するであろう任意の点 C(x,y,z) 関数のイメージ boolean isOnLine (Ax, Ay, Az, Bx, By, Bz, Cx, Cy, Cz); 配列でもよいです。 返り値 True、 False ( 0 or 1 ) よろしくお願いします。
- ベストアンサー
- C・C++・C#
- 3次元で回転させた座標値の計算方法
点(Ax、Ay、Az)を3次元空間にある、点(Bx、By、Bz)から、点(Cx、Cy、Cz)に向かう直線を軸に任意の角度で回転させたときの、点(A’x、A’y、A’z)の座標値の計算方法を教えてください。ただし自分の数学レベルは中学生並でベクトルが少しだけ理解できるていどです。よろしくお願いします。
- ベストアンサー
- 数学・算数
- 斜線A・BにLの距離P点に斜線に直角の線を描く方程式を教えてください。
斜線A・BにLの距離P点に斜線に直角の線を描く方程式を教えてください。 点A(Ax,Ay),点B(Bx,By)を結ぶ線上に、点Aから距離Lの位置、点P(Px,Py)に斜線に直角の線を描く方程式を教えてください。
- ベストアンサー
- 数学・算数
- 内積を用いた移動する線分と円の衝突判定について
内積を用いた移動する線分と円の衝突判定について 作成しているプログラムはピンボールのフリッパーとボールとの衝突判定です。14歳からはじめるリアルに動くゲーム物理プログラミング教室C言語編と言う本を参考にプログラミングしています。左フリッパーが315度~360度、1度~45度の範囲を1度づつ移動する度に衝突判定をする関数を作成し、衝突した場合に関数から抜け、戻り値としてボールの情報を持つ構造体の中の反射スピードと反射座標を返すものです。 ここからが質問なのですが、ボールは全くフリッパーの衝突と関係の無い所で反射してしまいます。移動しない線分の両端の座標を与えた衝突判定(壁)では正しく判定するのですが、角度を与えて移動する線分(フリッパー)では上手くいきません。お分かりになる方いらっしゃいましたら、宜しくお願い致します。 関数に渡す引数はその時のボールの座標・速度などの構造体と左フリッパーの角度です。 以下ソースコード //左フリッパーの軸と成る座標 float hx_l = (cx_l*ZOOM); //フリッパーのx座標 float hy_l = (cy_l*ZOOM+HORIZ); //フリッパーのy座標 //ベクトル a の成分を求める float ax=xy.posx-hx_l; //線分始点からボール中心へのベクトル float ay=xy.posy-hy_l; //線分始点からボール中心へのベクトル //ベクトル b の成分を求める float bx=((cx_l+cos(ToRadian(angler_l))*clubr)*ZOOM)-hx_l; //線分始点から終点へのベクトル float by=((cy_l-sin(ToRadian(angler_l))*clubr)*ZOOM+HORIZ)-hy_l;//線分始点から終点へのベクトル float inpro=ax*bx+ay*by; //ベクトル a,b の内積を求める float bl=bx*bx+by*by; //ベクトル b の長さの二乗(線分始点から終点へのベクトル if(inpro>-ZERO1 && inpro<(bl+ZERO1)){ //フリッパーとの衝突判定 //ベクトル a の線分がボールの半径より小さければ交差している if((ax*ax+ay*ay)-pow(inpro/sqrt(bl),2) < pow(xy.radius,2)){ 以下判定後の処理‥‥ ベクトルbのbx,byを求める式でangler_lが引数として渡されるフリッパーの角度に成ります。ToRadian()は関数で角度をラジアンに変更します。
- ベストアンサー
- C・C++・C#
- 斜線ABに平行に、Lの距離離れた斜線CDの座標を求める方程式を教えてく
斜線ABに平行に、Lの距離離れた斜線CDの座標を求める方程式を教えてください。 斜線A(Ax,Ay),B(Bx.By)を平行にLの距離離れたC(Cx,Cy),D(Dx,Dy)の座標を求める方程式を教えてください。
- ベストアンサー
- 数学・算数
- 座標の和に関する証明
原点をo(0,0)とし、a(ax,ay),b(bx,by)という点を取ります。 このとき、cという点を四角形oacbが平行四辺形になるように取ると、cは、c(ax+bx,ay+by)という、座標を取りますが、cが必ず、このような座標を取ることは、どの様に証明したら良いのでしょうか? どなたか解答お願いします。
- ベストアンサー
- 数学・算数
お礼
作りたいもの作れました。 moveToとlineToで書いた線なので、hitTestでは上手く出来なかったので、質問しました。 ありがとうございました。