
初めまして。
プログラム未経験なのですが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ランキング
-
ファイルの開き方
-
OS入ってる機器のソフト・アプ...
-
あるプログラムのコマンドライ...
-
Excelで4096点以上のFFTの方法
-
Excelに埋め込んだVBAのプログ...
-
読み込み中にアクセス違反が発...
-
何人目?
-
XnViewにwebpを「いつも開く」...
-
エクセルとワードをデスクトッ...
-
SDL2のSDL.DLLは常に
-
ラズパイで感圧センサーを動か...
-
eepromについて
-
VBAにてメール作成した際、一部...
-
Google カレンダーの商用利用
-
C言語で移動平均のプログラムを...
-
AutoCADを用いて板金展開図を自...
-
VB.netで自作プログラムがウイ...
-
クリックするとページ内で説明...
-
socketでの複数NICの扱い
-
プログラムを斜めに並べる
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
あるプログラムのコマンドライ...
-
ファイルの開き方
-
Excelで4096点以上のFFTの方法
-
VBAにてメール作成した際、一部...
-
読み込み中にアクセス違反が発...
-
ドロップダウンリストの文字を...
-
OS入ってる機器のソフト・アプ...
-
PICマイコンのコピー(クローン...
-
自動クエリとはどういうもので...
-
XnViewにwebpを「いつも開く」...
-
未使用の変数を一括検索する方法
-
VBAでユーザーフォームが自動的...
-
「Outlookが他のプログラムによ...
-
powered byの表記について
-
excelのexe化について
-
Excelに埋め込んだVBAのプログ...
-
銃を発砲するならともかく、日...
-
画像を読み込むのと取り込むの...
-
visual studio 2019を使ってい...
-
UWSCで指定のフォルダを開きたい。
おすすめ情報