Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: правильные многоугольники Добавлено: 01.04.05 15:00  

Автор вопроса:  Skywalker | Web-сайт: iSkywalker.ru | ICQ: 300-70-6пятьЪ 
Подскажите пожалуйста код, с помощью которого на форме рисовался бы правильный многоугольник (желательно все которые существуют)))

Ответить

  Ответы Всего ответов: 3  

Номер ответа: 1
Автор ответа:
 Страшный Сон



Вопросов: 46
Ответов: 848
 Профиль | | #1 Добавлено: 01.04.05 15:08
А че самому не сделать? Просто соединяй линиями точки многоугольника, если нужно заполнить - сканируй построчно.

Ответить

Номер ответа: 2
Автор ответа:
 GSerg



Вопросов: 0
Ответов: 1876


 Профиль | | #2 Добавлено: 01.04.05 17:34
Option Explicit

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
Лучше отображать через массив.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам