Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Line 360 / 17 сообщений из 17, страница 1 из 1
26.02.2006, 20:00:35
    #33566378
timtim
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Line 360
Подскажите, пожалуйста
Как заставить линию описать круг ?
...
Рейтинг: 0 / 0
26.02.2006, 20:28:16
    #33566406
SmeL_md
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Line 360
А объект Shape1.Shape = 3 не потходит?
...
Рейтинг: 0 / 0
26.02.2006, 20:37:44
    #33566417
timtim
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Line 360
Shape не прокатит.
Надо типа чтобы линия (перерисовываясь на форме) пробежала по кругу от 0 до 360.
...
Рейтинг: 0 / 0
27.02.2006, 09:36:36
    #33566825
Melkiades
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Line 360
Что значит линия пробежала? Пробежать может точка.
...
Рейтинг: 0 / 0
27.02.2006, 10:08:18
    #33566935
Дурак
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Line 360
Один конец линии стопоришь, другим концом описываешь окружность в цикле.
...
Рейтинг: 0 / 0
27.02.2006, 10:31:58
    #33567020
Дурак
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Line 360
Примерно так.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
Dim i As Long
Dim j As Long

Dim r As Long
Dim a As Long
Dim b As Long

' центр
a =  500 
b =  500 

' радиус
r =  500 

' уравнение окружности (x - a)2 + (y - b)2 = r2

' нижняя часть часть окружности
For i =  0  To  1000 
j = Sqr(r * r - (i - a) * (i - a)) + b
Me.Line ( 500 ,  500 )-(i, j)
Next i


' верхняя  часть часть окружности
For i =  0  To  1000 
j = -Sqr(r * r - (i - a) * (i - a)) + b
Me.Line ( 500 ,  500 )-(i, j)
Next i
...
Рейтинг: 0 / 0
27.02.2006, 10:34:44
    #33567029
Дурак
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Line 360
P.S.
Замена типа int на, скажем, double и пробежка с шагом 0.1 даст значительно большую точность...
...
Рейтинг: 0 / 0
27.02.2006, 11:09:00
    #33567158
Дурак
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Line 360
Последний вариант
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
Dim i As Double
Dim j As Double

Dim r As Long
Dim a As Long
Dim b As Long

' центр
a =  500 
b =  500 

' радиус
r =  500 

Dim s As String

' уравнение окружности (x - a)2 + (y - b)2 = r2

' нижняя часть часть окружности
For i =  1000  To  0  Step - 0 . 05 
j = Sqr(r * r - (i - a) * (i - a)) + b
Me.Line (a, b)-(i, j)
Me.Line (a, b)-(i, j), vbButtonFace
Next i


' верхняя  часть часть окружности
For i =  0  To  1000  Step  0 . 05 
j = -Sqr(r * r - (i - a) * (i - a)) + b
Me.Line (a, b)-(i, j)
Me.Line (a, b)-(i, j), vbButtonFace
Next i

...
Рейтинг: 0 / 0
27.02.2006, 20:28:32
    #33569110
timtim
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Line 360
Не понимаю.
Объясни, пожалуйста, как мне сделать так чтобы на форме элемент Line одной стороной был в одной точке, а другой стороной описывал радиус?
...
Рейтинг: 0 / 0
28.02.2006, 10:36:32
    #33569879
Дурак
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Line 360
timtimНе понимаю.
Объясни, пожалуйста, как мне сделать так чтобы на форме элемент Line одной стороной был в одной точке, а другой стороной описывал радиус?

Вставь мой код в пустой проект, скомпилируй и запусти.

После этого запости сюда, что не так, и что именно должно быть.

А так это спор слепого с глухим о качестве видеоклипа...
...
Рейтинг: 0 / 0
28.02.2006, 19:32:59
    #33571964
timtim
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Line 360
авторчто именно должно быть
Уважаемый!
смысл таков:
Надо чтобы не круг рисовался, а чтобы линия повернула в указанный азимут и осталась там. И линию запустить в цикле от 0 до 360, чтоб она описала круг с некоторой задержкой. (типа компаса)
...
Рейтинг: 0 / 0
01.03.2006, 09:47:30
    #33572558
Дурак
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Line 360
timtim авторчто именно должно быть
Уважаемый!
смысл таков:
Надо чтобы не круг рисовался, а чтобы линия повернула в указанный азимут и осталась там. И линию запустить в цикле от 0 до 360, чтоб она описала круг с некоторой задержкой. (типа компаса)

А - а, блин... Надо было сразу про компас написать...

Теперь понятно.
...
Рейтинг: 0 / 0
01.03.2006, 09:55:53
    #33572583
Дурак
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Line 360
Первое что пришло в голову .

Во-всяком случае, можно копать в этом направлении...

С задержкой придумай че-нить сам :-).

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
Dim i As Double
Dim j As Double
Dim j1 As Double
Dim i1 As Double

Dim r As Long
Dim a As Long
Dim b As Long
Dim ii As Long

' центр
a =  500 
b =  500 

' радиус
r =  500 

Dim s As String

' уравнение окружности (x - a)2 + (y - b)2 = r2

' нижняя часть часть окружности
For ii =  1  To  10 
i1 =  0 
For i =  1000  To  0  Step - 0 . 05 
i1 = i1 +  0 . 05 
j = Sqr(r * r - (i - a) * (i - a)) + b
j1 = -Sqr(r * r - (i - a) * (i - a)) + b
Me.Line (a, b)-(i, j)
Me.Line (a, b)-(i1, j1)
Me.Line (a, b)-(i, j), vbButtonFace
Me.Line (a, b)-(i1, j1), vbButtonFace
Next i
Next ii
...
Рейтинг: 0 / 0
01.03.2006, 19:13:35
    #33575104
timtim
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Line 360
То что нужно большое спасибо!
...
Рейтинг: 0 / 0
03.03.2006, 20:46:10
    #33581399
timtim
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Line 360
Не получается сделать линию одной длины.
Как рисовать круг из определенной точки независимо от размеров формы?
HELP!
...
Рейтинг: 0 / 0
03.03.2006, 20:47:57
    #33581406
timtim
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Line 360
Не копается.
...
Рейтинг: 0 / 0
07.03.2006, 14:17:26
    #33586923
timtim
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Line 360
Help Me
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Line 360 / 17 сообщений из 17, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]