• 締切済み

Cプログラムが円ではなく楕円になってしまう

円を描くCプログラムを書きたいのですが、 楕円形になってしまいます。どこが間違っていますか。 御教示ください。 main () { int x,y1,y2; double pow(), d ; openwindow(100,100,"02kc951:1-3",3); setfgcolorbyRGB(255,255,255); for(x=0;x<100;x++) { d = pow(-100.0,2.0)-(4*pow(50.0,2.0)-pow(40.0,2.0)+pow(x-50.0,2.0)); /* 判別式 */ if( d>=0 ) { y1=(100-sqrt(d))/2.0; /* y1を求める*/ y2=(100+sqrt(d))/2.0; /* y2を求める*/ setpixel(x,y1); setpixel(x,y2); } } closewindow(); }

みんなの回答

  • hofuhofu
  • ベストアンサー率70% (336/476)
回答No.3

判別式のところをもう一度見なおしてみてください。 http://www.mlab.im.dendai.ac.jp/~saitoh/GRA/hint1.htm

hihidede
質問者

お礼

判別式を直したら、円が描けました。どうもありがとうございました。 d = pow(-100.0,2.0)-4*(pow(50.0,2.0)-pow(40.0,2.0)+pow(x-50.0,2.0));

noname#74310
noname#74310
回答No.2

c#またはc-Builder6を使って下さい。

参考URL:
http://www.h5.dion.ne.jp/~tuyano/CsharpTutor/CsharpTutor5.html
hihidede
質問者

お礼

どうもありがとうございました。

  • uyama33
  • ベストアンサー率30% (137/450)
回答No.1

昔、ピクセルの形が縦に長いとのことで アスペクト比を考えて 少し詰める。 ようなことがあったのを思い出します。 自信はありません。

hihidede
質問者

お礼

どうもありがとうございました。

関連するQ&A