1

ポイントの2XNベクトルがあります。それをプロットしてから、ユーザーがそのポイントをクリックしてポイントの1つを選択できるようにしたいと思います。マウス座標を取得し、それらに最も近いポイントを選択するなどして、自分でできると思います.matlabがこれを行うためのプラグアンドプレイ方法を提供しているかどうか疑問に思っていますか?

4

1 に答える 1

1

私の知る限り、これを達成する簡単な方法はありません。次のいずれかを実行できます。

  1. 距離を確認し、最も近いポイントを選択します(あなたが言ったように)
  2. プロット コマンドをN何度も呼び出し、プロットごとに異なるコールバックを割り当てます。

この場合、次の方法でグラフィックを作成します。

   for i=1:N 
      plot( X(i),Y(i), 'o', 'ButtonDownFcn', @(x)CallBack(x,i));
   end

コールバックは次のようになります。

   function CallBack(x,i)
       fprintf(1,'A callback on P[%d] was called');
   end

ポイントの特別なケース、2xNつまりドラッグ可能なポリゴンが必要な場合は、impoly代わりに コマンドを使用できます。

于 2012-07-22T11:42:05.993 に答える