[
板情報
|
カテゴリランキング
]
したらばTOP
■掲示板に戻る■
全部
1-100
最新50
|
1-
101-
201-
301-
401-
501-
601-
この機能を使うにはJavaScriptを有効にしてください
|
「Sammy社立ギルティ専門高等学校5時限目」
564
:
名無しさん@2周年半
:2007/07/17(火) 14:37:58 ID:U1XPUvYA
/*障害物の各辺までの最短距離と最近接点を算出*/
double distance_to_segment(
double sx,double sy, 辺の始点
double ex,double ey, 辺の終点
double orgx,double orgy, ロボットの位置
*ptx ,*pty 最近接点の位置
){
ここが課題!!!
}
/*障害物からの斥力の合成*/
vx = 0.0;
vy = 0.0;
for(j=0;j<obj_num;j++){
dist = distance_to_object(j,sx,sy,&px,&py);
cale_unit_vector((px-sx,py-sy, &nx, &ny);
vx -= nx / dist *gain;
vy -= ny / dist *gain;
}
/*ゴールからの引力計算*/
dist = calc_segment_length(sx,sy,gx,gy);
vx = (gx-sx) / dist; //unit vecter
vy = (gy-sy) / dist; //unit vecter
/*引力・斥力の合成演算*/
//障害物からの斥力の合成
vx = 0.0; vy = 0.0;
for(j=0;j<obj_num;j++){
dist = distance_to_objent(j,sx,sy,&px,&oy);
calc_normal_vector(px-sx,py-ps,&nx,&ny);
vx -= nx / dist * gain;
ns -= ny / dist * gain;
}
//ゴールからの引力の合成
dist = calc_segment_length(sx,sy,&gx,&gy);
vx += (gx-sx) / dist; //unit vector
vy += (gy-sy) / dist; //unit vector
/*移動量の計算 = 経路の導出*/
for(;;){
eg_circlef((int)sx,(int)sy,3,EG_RED);
vx = 0.0;
vy = 0.0;
for(j=0;l<obj_num;j++){
dist = distance_to_object(j,sx,sy,&px,&py);
calc_normal_vector(px-sx,py-px,&nx,&ny);
vx -= nx / dist * gain;
vy -= ny / dist * gain;
}
dist = distance_to_length(sx,sy,gx,gy);
if(dist<1.0) break; //Goal check
vx += (gx-sx) - dist; //unit vector
vy += (gy-sy) - dist; //unit vector
sx += vx;
sy += vy;
}
新着レスの表示
名前:
E-mail
(省略可)
:
※書き込む際の注意事項は
こちら
※画像アップローダーは
こちら
(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)
スマートフォン版
掲示板管理者へ連絡
無料レンタル掲示板