
初めまして。
プログラム未経験なのですがVB.netでログラムを組まなくてはならなくなりました。
本を読んだのですが、分からなかったので皆さんに質問させていただきます。よろしくお願いします。
タイトル通り、「描画」ボタンのクリックで
2次関数が書きたいのですが表示されません。
参考にしたプログラムは平方根のグラフ表示です。以下
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
On Error Resume Next
Dim g As Graphics = CreateGraphics()
g.TranslateTransform(0, ClientRectangle.Height)
g.ScaleTransform(1, -1)
g.Clear(BackColor)
Dim x As Integer
For x = 0 To 400
g.FillRectangle(Brushes.Green, x, CInt(10 * Math.Sqrt(x)), 1, 1)
Next
End Sub
以下は僕が以上から考えて書いたプログラムです。
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
On Error Resume Next
Dim g As Graphics = CreateGraphics()
g.TranslateTransform(0, ClientRectangle.Height)
g.ScaleTransform(1, -1)
g.Clear(BackColor)
Dim x, y As Integer
For x = 0 To 400 Step 10
y = -1 * (x * x) + 1
g.FillRectangle(Brushes.Blue, x, 10 * (-1 * (x * x) + 1), 1, 1)
Next
End Sub
エラーは起きないのですがグラフが出ません。
つまらない質問かもしれませんがどうかご指導お願いいたします。。。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
>y = (-1 * (x * x) + 1) / 500
>の/500というのはどういった意図があるのでしょうか?
そのままだとyの最大値は400x400=160000になるので大きすぎるようなので
500で割ってみただけだけです。
g.FillRectangle() のyの範囲はどうなっているか調べてみてください。
(Graphics のところに載っていませんか)
No.1
- 回答日時:
下記のように変えるとどうなりますか?
詳しくは、Graphics関係のところを調べてみてください。
g.TranslateTransform(0, ClientRectangle.Height)
↓
g.TranslateTransform(0, 0)
y = -1 * (x * x) + 1
g.FillRectangle(Brushes.Blue, x, 10 * (-1 * (x * x) + 1), 1, 1)
↓
y = (-1 * (x * x) + 1) / 500
g.FillRectangle(Brushes.Blue, x, y, 1, 1)
お返事ありがとうございます。
教えていただいたように変更してみたところ、
左上から右下にグラフが下りてくるものがかけました。
y = (-1 * (x * x) + 1) / 500
の/500というのはどういった意図があるのでしょうか?
すごく嬉しいです!
回答ありがとうございました!!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
あるプログラムのコマンドライ...
-
読み込み中にアクセス違反が発...
-
Excelで4096点以上のFFTの方法
-
ドロップダウンリストの文字を...
-
PICマイコンのコピー(クローン...
-
excelのexe化について
-
VBAにてメール作成した際、一部...
-
powered byの表記について
-
未使用の変数を一括検索する方法
-
Vba UserFormを前面に出す方法...
-
C++で誤差関数erf(x)を使いたい...
-
UWSCで指定のフォルダを開きたい。
-
タスクスケジューラで失敗と判...
-
CBitmapか何かでbitmapの色を変...
-
XnViewにwebpを「いつも開く」...
-
.cfgファイルについての質問
-
Notepad++の関数リスト表示でC...
-
こんにちは
-
exeファイルしかないプログラム...
-
プログラムの行数
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
あるプログラムのコマンドライ...
-
銃を発砲するならともかく、日...
-
Excelで4096点以上のFFTの方法
-
VBAにてメール作成した際、一部...
-
読み込み中にアクセス違反が発...
-
OS入ってる機器のソフト・アプ...
-
PICマイコンのコピー(クローン...
-
Vba UserFormを前面に出す方法...
-
未使用の変数を一括検索する方法
-
ドロップダウンリストの文字を...
-
powered byの表記について
-
VBAでユーザーフォームが自動的...
-
XnViewにwebpを「いつも開く」...
-
「Outlookが他のプログラムによ...
-
Excelに埋め込んだVBAのプログ...
-
自動クエリとはどういうもので...
-
UWSCで指定のフォルダを開きたい。
-
TMBMSRV.exeによるCPU使用率上昇
-
バッチ、vbs等でのソフトウェア...
-
Pro*Cで動的SQLを実現する為の...
おすすめ情報