• ベストアンサー

円弧の描画方法

ametsuchiの回答

  • ametsuchi
  • ベストアンサー率31% (81/257)
回答No.4

訂正します。 先程、始終角位置では、三角関数を一度づつ使わなくてはいけないと言いましたが、元々、3点が分かっているので、三角関数は使わなくて済みます。失礼しました。 逆三角関数(=atan2)を使わなくて出来るかどうか分かりません。上手く場合分けすると、逆三角関数を使わなくて済むかも知れません。 申し訳ないが、後はご自分で考えて下さい。

関連するQ&A

  • Bresenhamのアルゴリズムを用いた円弧描画

    Bresenhamを用いた直線、円、円弧(45度単位)での変換 アルゴリズムは調べることが出来たのですが、円弧の任意の角度 の変換方法が分かりません。 参考資料などありましたら 教えていただけないでしょうか? 例えば、  始点、終点、回転の向きを指定するとか、  30度と角度を指定する等。 宜しくお願い致します。

  • 円弧の描画について

    円弧の描画について お世話になります。 Visio2007を使用しています。 Visioで円を描画し、その円の情報を基に計算を行い、円弧の作成をしたいと考え ていますが、計算方法が分からずご質問させて頂きました。 以下の【元となる情報】から【求める情報】を計算にて求めます。 【元となる情報】 左上X座標:円の左上X座標 左上Y座標:円の左上Y座標 幅:円の幅 高さ:円の高さ 始点角度:円弧の始点の角度(円の中心から右方向を0度とし       時計回りの角度) 終点角度:円弧の終点の角度(始点角度を0度とし時計回りの角度) (始点角度と終点角度は1度単位で設定をします) 【求める情報】 http://msdn.microsoft.com/ja-jp/library/cc344284.aspx 例えば、 ・始点角度が0度、終点角度が90度の時は円の右下1/4の円弧が作成される ・始点角度が90度、終点角度が180度の時は円の左半分の円弧が作成される 以上の様な円弧を求めるような計算方法をご存知でしたらご教授 お願い致します。

  • 傾いた楕円の描画方法

    PCでの楕円の描画は、ライブラリに組み込まれていますが、水平(または垂直)の楕円については、関数1行で描画することができます。 ところが、傾いている楕円については、描画することができません。 そこで、ミッチェナーのアルゴリズムで円を描くプログラムを変形して、上下(左右)のプロット位置をずらせば、一応、楕円は描画できるので、さらにプロットする部分に回転をかければ回転した楕円を描画できると考えて、プログラムを作成してみました。 しかし、あまり綺麗な楕円を描画できません。 ミッチェナーのアルゴリズムを上下に圧縮した時点で、左右の部分が少し密になり(これは許容できる範囲ですが)それを回転させるとき、実数計算になるため、最終的な位置は、ドットのどちらかになってしまうので、あまりうまくいきません。 ミッチェナーのあるごりずむの原理を使って、傾いた楕円の式から、直接プロットしなければ綺麗な楕円を描画することができないと考えます。 最終的に欲しい関数は、傾いた楕円の外接する4点の座標を与えて、描画する関数です。

  • AutoCADで円弧を描く方法について

    AutoCAD Mechanical 2009を使用しています。 下記の円弧(又は円)を描きたいと考えております。 ・半径7000 ・長方形の1辺Aに接し、Aの中点に接する ・長方形の2辺B,Cを通る(通過点は指定無し) 無理やり描くには、辺Aの中点から長さ7000の線分を引き、その線分の端点を中心とする半径7000の円を描けばよいのですが、 極力無駄な線は描かずに、効率よく描く方法をご教授願います。 宜しくお願い致します。

  • 円弧の描画について

    ある参考書の内容について分からない点があります。(VB6です。) '変数と定数の定義 Dim startAngle As Double Dim endAngle As Double Const pi = 3.14152965 '角度の初期値 startAngle = 90 endAngle = 315 '線の色の指定 ForeColor = QBColor(4) '円弧の描画 circle (2000,1500) , 1000, , startAngle * pi / 180, endAngle * pi/180 End Sub 変数の定義で、startAngleとendAngleがDouble型で宣言されているのに、初期値は小数ではなく整数なのはなぜでしょうか。たぶん、初期値は整数だけど、startAngle * pi / 180, endAngle * pi / 180が小数になるからDouble型にしていると思うのですが、このあたりのことを教えていただけますか。

  • AutoCAD LT 2007での長方形描画について

    AutoCAD LT 2007です。 4点ABCDからなる長方形の対角2点の座標(”点Aと点C”または ”点Bと点D”)と長さを指定すれば、指定した長さ分内側に 長方形が描画出来るようなコマンド?マクロ?を作成することは 出来ますでしょうか? 例えば、座標0,0&座標7,10、長さ2(元の長方形)とすれば、 座標2,2&座標5,8を対角とする長方形(新たに描画される長方形)が 描けるといったようなことです。 教えて下さい。 何卒よろしくお願い申し上げます。

  • 【Fash actionscript】楕円を描画したい

    actionscriptで楕円を描画したいです。 円を描画するとこまでは、以下ページに説明があったので、 http://www.geocities.jp/swf_daisuke/school/class3.html できたのですが、応用ができなくて困ってます。 楕円といっても色々あるでしょうが、長方形が内接するような楕円です。 ご指導のほど、よろしくお願いいたします。

    • ベストアンサー
    • Flash
  • 線分や円弧をクリックして選択するプログラム

    CAD等で描かれた2次元の図面上の任意の線(線分や円弧)をクリックして選択するプログラムを作っています。 いまは叩き台として、各線のバウンディングボックス(線分や円弧を囲む最小の長方形)の情報(対角線の両端座標) が入った配列(実際はC++のSTL vectorです)を用意して、クリックした座標の一番近くに在る、若しくは内包する バウンディングボックスを線形探索して、見つかったバウンディングボックスに所属する線がクリック許容範囲内 であるかを分析しています。 しかし、この方法では線の数が少ないうちは良いのですが、大規模な図面になると時間が掛かってしまい 使い物になりません。 このような場合、どういったデータ構造でどのようなアルゴリズムで探索するのが良いのでしょうか? なにか定石的なものがあるのでしょうか? 恥ずかしながら、探索アルゴリズムというと学生の時に2分探索法等を習った程度で、2次元以上の高次元のもの 扱うアルゴリズムはピンときませんでした。

  • パラメトリック曲線の描画アルゴリズムについて

    x = f(t) y = g(t) のように表せるパラメトリック曲線を2次元のビットマップ画像に描画したいと考えています。 (たとえばNURBS) 描画アルゴリズムですが、tを適当に変化させてx,yの組を得てその点を打つことにより曲線 を書くことはできます。 ただこの場合tの増分の選び方が大きいと穴が開いてしまいますし、小さいと何度も同じx,yを 描画することになってしまい効率が悪いです。 x、yの適切な変化量(たとえばプラスマイナス1)となるtの増分を求められればいいのですが、 具体的なアルゴリズムが思い当たりません。 他の方法でも構いませんが、一般的にパラメトリック曲線を描画する高速なアルゴリズムをご存知 でしたらご教授いただけたらと思います。

  • 円の描画の太さを指定できるCコード

    円の描画を行うCコードを記述していますが Michenerのアルゴリズムにより円を下記サイトを参考に記述できました。 しかし、アルゴリズムの理解不足の為、円の太さを指定できるようにしたいのですが、なかなか上手くいっておりません。 もし、円の太さを指定できるCコードなどありましたら教えていただけないでしょうか?