Parabol çiziminde noktalı çizilme sorunu acil yardım

Kodla Büyü

erolbulut1981

Site Gezgini
Mesajlar
37
İyi günler arkadaşlar,
Bir öğrencimiz parabol çizim programı yapmış ama değer 1'e yaklaştıkça düz çizgilerin devamlılığı bitiyor, noktaya dönüşüp noktalı parabol oluyor. iki nokta arasına çizgi çizmeyi de denesem olmadı. Yardımcı olabilecek varsa sevinirim. kodları aşağıya ekliyorum. Şimdiden teşekkkürler...

kodun tamamını ekledim. Değişken değerlerini kullanıcı giriyor.x^2 ve x^3 değerleri 1'e yaklaştıkça noktalar daha da genişliyor.0' a yaklaştıkça nokta aralığı azalıyor. bu çizimin kesintisiz olması gerekiyor.

Private Sub Form_Load()
Me.AutoRedraw = True
Me.ScaleMode = 3
Me.DrawMode = 5
Me.DrawWidth = 3
End Sub

Private Sub Çiz_Click()

Dim x1
Dim x2
Dim y1
Dim y2
'x335
'y377
For x1 = 0 To 335
y1 = 377 - ((a1 * 14) + (b1 * x1) + (c1 * (x1 ^ 2)) + (d1 * (x1 ^ 3)))
Me.Line (343 + x1, y1)-(343 + x1, y1), a.BackColor
Next
DoEvents

For x2 = -335 To 0
y2 = 377 - ((a1 * 14) + (b1 * x2) + (c1 * (x2 ^ 2)) + (d1 * (x2 ^ 3)))
Me.Line (343 + x2, y2)-(343 + x2, y2), a.BackColor
Next
DoEvents

End Sub

Private Sub Label10_Click()
a.BackColor = Label10.BackColor
End Sub

Private Sub Label11_Click()
a.BackColor = Label11.BackColor
End Sub

Private Sub Label5_Click()
a.BackColor = Label5.BackColor
End Sub

Private Sub Label6_Click()
a.BackColor = Label6.BackColor
End Sub

Private Sub Label7_Click()
a.BackColor = Label7.BackColor
End Sub

Private Sub Label8_Click()
a.BackColor = Label8.BackColor
End Sub

Private Sub Label9_Click()
a.BackColor = Label9.BackColor
End Sub

Private Sub Sil_Click()
Me.Cls
End Sub

Private Sub a1_Change()
If a1 = "" Then
a1 = 0
End If
End Sub
Private Sub b1_Change()
If b1 = "" Then
b1 = 0
End If
End Sub
Private Sub c1_Change()
If c1 = "" Then
c1 = 0
End If
End Sub
Private Sub d1_Change()
If d1 = "" Then
d1 = 0
End If
End Sub
 
0 dan 335'e büyütüyorsun ya onları ,25 veya ,001 büyütmeye çalış.....
 
denedim ama neredeyse sonsuz döngüye giriyor. ve hala noktalı yapıya sahip.
ilginiz için teşekkür ederim. malum bu sıra herkes ya hortumla yada sarımsakla meşgul
 
hocam vb'de hiç yapmadım ama canvas draw metodu var... nokta koymak yerine 2 nokta arasına çizgi çiziyor... çizme sistemini değişseniz... bir program yazıyorum yoksa sizin için denerdim...
 
me.line yerine
Me.DrawWidth = 1
Me.PSet (343 + x1, y1), a.BackColor
kodunu kullanırsanız, çizgi yerine nokta koyar. Aynı kodu diğer döngüde de kullanın. Ayrıca doEvent kodunu Next satırının üstüne yazmanız daha doğru olur, kilitlenme yaşanmaz.
0 To 335
şeklindeki döngüleri
0 To 335 step 0.5 şeklinde yarımşar olarak artırırsanız daha iyi olur.
Ne yazık ki VB olmadığı içni kodları deneyemiyoruz.
 
BBNET
Geri
Üst