プロが教える店舗&オフィスのセキュリティ対策術

N88BASIC でかかれたプログラムを参考に、DXlibを使用したC言語での描画プログラムを作成しています。
N88BASICのLINE命令は、
 DXlibのDrawLine関数で代用できる
ことはわかりましたが、
N88BASICのCIRCLE命令が、円の中心、半径、描画開始角度、終了角度、で使われており、
 DXlibのDrawCircle関数で代用できない
模様です。
どのように対応したらよいのか、お知恵をお貸しください。

gooドクター

A 回答 (2件)

> N88BASICのCIRCLE命令が、円の中心、半径、描画開始角度、終了角度、で使われており、



DrawLineで細かい直線を引いて円弧を描くとか。

円周上の座標は一般的に、

x = 円の中心x + 半径 * cos(角度)
y = 円の中心y + 半径 * sin(角度)

で求まりますから、角度を描画開始角度から終了角度まで少しずつ動かしながら、直線の始点終点を計算して線を引いていくとか。
    • good
    • 0
この回答へのお礼

回答ありがとうございます

>DrawLineで細かい直線を引いて円弧を描くとか。
適当な方法がなければ、最後の方法かなと思っていました。

DirectX には 円弧が掛けるARC命令があるみたいなので、DXlib から呼び出すテクニックがあるかと期待したのですが、やはり、折れ線近似で自作するしか無いのかしら・・

https://blog.goo.ne.jp/masaki_goo_2006/e/7efc99e …

お礼日時:2021/06/12 18:09

DrawCircleGauge関数はなくなってしまったのでしょうか?

    • good
    • 0
この回答へのお礼

応答ありがとうございます

DrawCircleGaugeで扇形の描画ができるは、検索で見つけてましたが、扇型でなく円弧を描画にも使えるのでしょうか?
https://dxlib.xsrv.jp/cgi/patiobbs/patio.cgi?mod …

塗りつぶさない方法あるのでしょうか?
この関数を見つけたときは、
 背景色で塗りつぶされた円の画像を用意
すれば、単純な図形ならOKと思いましたが、複雑な図形になると円弧を描画すると扇型の部分が背景で塗りつぶされてしまう気がして諦めていました。

やっぱり折れ線近似で描画する関数を自作するのが早そうなきがしてきました・・・

お礼日時:2021/06/15 06:17

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

gooドクター

人気Q&Aランキング