Страница: 1 |
Страница: 1 |
Вопрос: СПИРАЛЬ!
Добавлено: 27.04.06 21:07
Автор вопроса: DJ MATHEMATIC
Блин,пардон,перепутал со спиралью...Как ее нарисовать программными методами?
Ответы
Всего ответов: 2
Номер ответа: 1
Автор ответа:
Neco
ICQ: 247906854
Вопросов: 133
Ответов: 882
Web-сайт:
Профиль | | #1
Добавлено: 28.04.06 21:03
Вуа-ля!
Форма - Head
Картинка на форме - pic
Public Class Head
Dim cX, cY As Double
Private Sub Head_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
InitC()
End Sub
Private Sub AdvDrawLine(ByVal p As Pen, ByVal graph As Graphics, ByVal pX1 As Double, ByVal pY1 As Double, ByVal pX2 As Double, ByVal pY2 As Double)
graph.DrawLine(p, CType(cX + pX1, Single), CType(cY - pY1, Single), CType(cX + pX2, Single), CType(cY - pY2, Single))
End Sub
Private Sub InitC()
cX = pic.Width / 2
cY = pic.Height / 2
End Sub
Private Sub pic_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles pic.Paint
Dim pastX, pastY As Double
Dim nX, nY As Double
Dim mPen As Pen = Pens.Red
Dim shag As Double = 0.2
Dim inc As Double = 0.2
Dim rad As Double = 0
Dim ugol As Double = 0
pastX = 0 : pastY = 0
nX = 0 : nY = 0
AdvDrawLine(Pens.Black, e.Graphics, -200, 0, 200, 0)
AdvDrawLine(Pens.Black, e.Graphics, 0, -200, 0, 200)
For ugol = 0 To (Math.PI * 2) * 10 Step shag
rad += inc
' -----------------------
nX = rad * Cos(ugol)
nY = rad * Sin(ugol)
AdvDrawLine(mPen, e.Graphics, pastX, pastY, nX, nY)
' -----------------------
pastX = nX
pastY = nY
Next
End Sub
End Class
Номер ответа: 2
Автор ответа:
Neco
ICQ: 247906854
Вопросов: 133
Ответов: 882
Web-сайт:
Профиль | | #2
Добавлено: 28.04.06 21:05
Комплексные числа - страшная сила!