2017-04-09 6 views
0

は、以下の平等との命令を考えてみましょう:abは、セグメントの四肢あるセグメントのポイントを投影する:セグメントの四肢の座標が同じ場合はどうなりますか?

p = ((x - a).(b - a))/((b - a).(b - a)) (b - a) + a

x我々はこのセグメントと、このセグメントにおけるxp投影に突出したいポイント。すべてがベクトル点です。

p設定今すぐコード年代のX座標:今すぐ

  coords_p.add(
       "" 
         + (

         ((test_x - segment_first_point_x) * (segment_last_point_x - segment_first_point_x)) // "((x - a).(b - a))" 
           /
           (// "((b - a).(b - a))" 
             (segment_last_point_x - segment_first_point_x) * (segment_last_point_x - segment_first_point_x) 

           ) 

           * 
           (segment_last_point_x - segment_first_point_x) // "* (b - a)" 

         + 

         segment_first_point_x) // " + a" 
     ); 

pに同じのY座標:

 coords_p.add(
       "" 
         + (

         ((test_y - segment_first_point_y) * (segment_last_point_y - segment_first_point_y)) // "((x - a).(b - a))" 
           /
           (0.00001+ // "((b - a).(b - a))" 
             (segment_last_point_y - segment_first_point_y) * (segment_last_point_y - segment_first_point_y) 

           ) 

           * 

           (segment_last_point_y - segment_first_point_y) // "* (b - a)" 

         + 

         segment_first_point_y) // " + a" 

     ); 

をあなたが見ることができるように、segment_last_point_y == segment_first_point_y OR場合| segment_last_point_x == segment_first_point_xの場合、除算の分母は0になります。

したがって、pの座標の1つ(または両方)は、NaN(「番号ではない」)になります。無効になります。

私はポイントを投影する方法を理解していないと思う...あなたは私を教えてくれますか?

答えて

1

がHiが再び問題がpのあなたの計算では、それはすべきではないORあなたが説明するようにp個の式における係数の分母は(bがあるので、それはであるべきである:) - )。(b - a)。これは、aとbが同じ点、つまり実際に線分を持たない場合にのみ0になります。

関連する問題