Здесь Вы можете найти или обсудить множество различных алгоритмов, их описаний, реализаций на VB и других языках.
	
		
		
			
			- 
				Nord777
			
- 
				
- Гуру
  
- 
			 
 
-  
- Сообщения: 1144
- Зарегистрирован: 22.02.2004 (Вс) 13:15
- Откуда: Подольск
			
			
			 Nord777 » 01.01.2008 (Вт) 17:54
 Nord777 » 01.01.2008 (Вт) 17:54 
			
			Реализация на VB.Net
- Код: Выделить всё
-    ''' <summary>
 ''' Алгоритм Брезенхейма для построения окружности
 ''' </summary>
 ''' <param name="xc">координата X центра окружности</param>
 ''' <param name="yc">координата Y центра окружности</param>
 ''' <param name="r">Радиус окружности</param>
 Sub DrawCircle(ByVal xc%, ByVal yc%, ByVal r%)
 Dim G As Graphics = Me.CreateGraphics
 Dim x%, y%, d%
 d = 3 - 2 * r
 x = 0 : y = r
 Do While x <= y
 'При помощи FillRectangle рисуется отдельный пиксель ))
 'PS: Не самый быстрый способ отрисовки(только для примера)
 G.FillRectangle(Brushes.Black, x + xc, y + yc, 1, 1)
 G.FillRectangle(Brushes.Black, x + xc, -y + yc, 1, 1)
 G.FillRectangle(Brushes.Black, -x + xc, -y + yc, 1, 1)
 G.FillRectangle(Brushes.Black, -x + xc, y + yc, 1, 1)
 G.FillRectangle(Brushes.Black, y + xc, x + yc, 1, 1)
 G.FillRectangle(Brushes.Black, y + xc, -x + yc, 1, 1)
 G.FillRectangle(Brushes.Black, -y + xc, -x + yc, 1, 1)
 G.FillRectangle(Brushes.Black, -y + xc, x + yc, 1, 1)
 If d < 0 Then
 d = d + 4 * x + 6
 Else
 d = d + 4 * (x - y) + 10
 y -= 1
 End If
 x += 1
 Loop
 
 G.Dispose()
 End Sub
Microsoft Visual Studio 2008
Microsoft .NET Framework 3.5
		 
		
		 
	 
	
	Вернуться в Алгоритмы
	
	Кто сейчас на конференции
	Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4