Страница: 1 |
Страница: 1 |
Вопрос: правильные многоугольники
Добавлено: 01.04.05 15:00
Автор вопроса: Skywalker | Web-сайт:
Подскажите пожалуйста код, с помощью которого на форме рисовался бы правильный многоугольник (желательно все которые существуют)))
Ответы
Всего ответов: 3
Номер ответа: 1
Автор ответа:
Страшный Сон
Вопросов: 46
Ответов: 848
Профиль | | #1
Добавлено: 01.04.05 15:08
А че самому не сделать? Просто соединяй линиями точки многоугольника, если нужно заполнить - сканируй построчно.
Номер ответа: 2
Автор ответа:
GSerg
Вопросов: 0
Ответов: 1876
Профиль | | #2
Добавлено: 01.04.05 17:34
Private Type POINT
x As Long
y As Long
End Type
Private Declare Function Polygon Lib "gdi32" (ByVal hdc As Long, lpPoint As Any, ByVal nCount As Long) As Long
Private Sub Poly(ByVal numVerts As Long, ByVal sizeFactor As Long, Optional ByVal rotateGrad As Long = 0)
Dim p() As POINT, i As Long
Dim tmp As Double, curgr As Double
ReDim p(1 To numVerts)
tmp = 2 * 3.1415926536 / numVerts
curgr = -tmp + rotateGrad * 3.1415926536 / 180
For i = 1 To numVerts
curgr = curgr + tmp
p(i).x = Cos(curgr) * sizeFactor + sizeFactor
p(i).y = Sin(curgr) * sizeFactor + sizeFactor
Next
Polygon Me.hdc, p(1), numVerts
End Sub
Private Sub Timer1_Timer()
Static rot As Long
rot = rot + 1
Me.Cls
Poly 8, 200, rot
End Sub
Номер ответа: 3
Автор ответа:
Страшный Сон
Вопросов: 46
Ответов: 848
Профиль | | #3
Добавлено: 02.04.05 03:58
Лучше отображать через массив.