0

ユーザーがカスタムの背景画像とサイズを使用できるゲージを作成しようとしていましたが、すべてが機能します。ただし、一部の形状では、針/ポインターの向きが正しくありません。

より具体的には、場合によっては(ポインターの開始点はユーザーが指定できます)、ダイヤルゲージの針/ポインターの開始点を知っています。問題は、ユーザーがゲージが表す最大/最小角度と最大/最小値を選択できることです。正しい最終ポイントを取得できるように角度を設定する方法を教えてください。これが私がこれまでに行っていることです

  int x1 = centerX, x2 = x1, y1 = centerY, y2 = y1;

  double angle = min_angle + ( 1.0 * ( max_angle - min_angle ) / (1.0 * ( max_val - min_val ) ) ) * ( value - min_val ) ;

  if( max_angle > min_angle  )
     angle = max_angle - angle;
  else 
     angle = min_angle - angle;

  x2 += (int)( Math.cos(Math.toRadians(angle))*ind_len);
  y2 -= (int)( Math.sin(Math.toRadians(angle))*ind_len);

参考までに:これはJavaで行われます

4

1 に答える 1