Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.76/103: Рейтинг темы: голосов - 103, средняя оценка - 4.76
7 / 7 / 1
Регистрация: 11.06.2012
Сообщений: 352

Как нарисовать окружность в заданных координатах

27.06.2012, 08:23. Показов 21146. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет.
возникла проблема нарисовать окружность в нужном месте, а именно с координатами, как выбирать их где центр???
Visual Basic
1
Circle (X,Y), R, vbRed
Ну радиус понятно допустим R=4, цвет возьмем красный!
И второй вопрос при определенном условии у меня в Label1 появляется 1 и тут же время, когда это произошло. Как сделать что в следующий раз при этом же условии появлялась таже 1 и другое время, но предыдущее не стиралось и т.д., т.е. почти как таблица. Создается как бы история и допустим после 10 событий, последние стирались, а наверх новое записывалось...
Заранее благодарен...
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.06.2012, 08:23
Ответы с готовыми решениями:

Как нарисовать окружность с заданными координатами центра в полярных координатах?
Как нарисовать окружность с заданными координатами центра в полярных координатах? Например:

Определить, можно ли в многоугольник с вершинами в заданных координатах вписать окружность
требуется написать программу которая определяет можно ли в многоугольник с вершинами в заданных координатах вписать окружность, и если...

С мышью MouseDown и MouseMove нарисовать объекты в заданных координатах
У меня в одной из программок нормально работает в Visual Basic Net: Procedure Sub me_MouseDown(Sender As object,e ....) Handles...

8
es geht mir gut
 Аватар для SoftIce
11274 / 4760 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
27.06.2012, 09:23
Цитата Сообщение от Техник55 Посмотреть сообщение
как выбирать их где центр?
Х и Y это и есть координаты центра, но по умолчанию х=0 и у=0 находятся в левом верхнем углу формы, но это можно изменить так:
Visual Basic
1
2
3
Scale (-10, -10)-(10, 10)
X = 0: Y = 0: r = 4
Circle (X, Y), r, vbRed
Добавлено через 14 минут
Цитата Сообщение от Техник55 Посмотреть сообщение
Как сделать что в следующий раз при этом же условии появлялась таже 1 и другое время, но предыдущее не стиралось и т.д., т.е. почти как таблица.
На форме Таймер И Label.
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
Dim a As Integer
 
Private Sub Form_Load()
    Timer1.Interval = 200
    Timer1.Enabled = True
    Label1.Caption = ""
    Label1.AutoSize = True
End Sub
 
Private Sub Timer1_Timer()
    If a >= 10 Then Label1.Caption = "": a = 1 Else a = a + 1
    Label1.Caption = Label1.Caption & "1" & "   " & Time & vbCrLf
End Sub
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38173 / 21108 / 4307
Регистрация: 12.02.2012
Сообщений: 34,709
Записей в блоге: 14
27.06.2012, 11:32
Про координаты: имей в виду, что если у тебя единица - твип (что есть по-умолчанию), то радиус 4 - это почти точка (твип - очень мелкая величина). Для задания разумных координат используй Scale

Про историю. Метка (Label) в данном случае неудобна. Список (List) гораздо удобнее. При возниконвении события просто пишешь строчку кода:

Visual Basic
1
Me.List1.AddItem "Нужный_текст"
Он допишется в конец списка.
1
7 / 7 / 1
Регистрация: 11.06.2012
Сообщений: 352
28.06.2012, 08:58  [ТС]
C начало про окружность:
1) Пишу так:
Visual Basic
1
2
3
4
5
6
Private Sub Form_Load()
Dim X as Integer, Y as Integer,r as Integer
Scale (-10, -10)-(10, 10)
X = 0: Y = 0: r = 4
Circle (X, Y), r, vbRed
End Sub
Запускаю но ничего на форме нет...
Я так понимаю Scale-это масштабирование, но масштабирование чего? Или я задаю таким образом площадь в котором будет располагаться окружность???
А Х и У-это центр в нутри этой площади???
Или другая мысль: что когда я задаю r=4 (а по умолчанию НАВЕРНО у меня в твипах), то Scale у меня как раз должна увеличить мои r=4 на заданную величину, что было видно круг (а не точку)??? Ну и тогда как мне брать Х и У чтобы он был там где мне надо, а не в верхнем левом углу. Допустим если хочу в центре формы, у меня получаются вот такие координаты (2000;2500)-это нормальные. В общем я с этими величинами запутался!!!

2)
Visual Basic
1
Me.List1.AddItem "Нужный_текст"
Это действительно лучше чем Label брать.
Вот только можно интересно чтобы в этом листе было не больше 10 записей: что-то типа первая запись пришла последняя вышла!!!??? А то это замучаешься прокручивать весь лист, да и желательно чтобы она была первой а не последней...
0
6644 / 1511 / 169
Регистрация: 09.01.2010
Сообщений: 4,298
28.06.2012, 09:40
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Private Sub Command1_Click()
Dim i%
i = List1.ListCount - 1
Do While i > 0
List1.List(i) = List1.List(i - 1)
i = i - 1
Loop
List1.List(0) = Time
End Sub
 
Private Sub Form_Load()
Me.AutoRedraw = True
Dim X As Integer, Y As Integer, r As Integer
Scale (-10, -10)-(10, 10)
X = 0: Y = 0: r = 3
Circle (X, Y), r, vbRed
For i = 0 To 9
List1.AddItem ""
Next
End Sub
1
es geht mir gut
 Аватар для SoftIce
11274 / 4760 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
28.06.2012, 09:57
Цитата Сообщение от Техник55 Посмотреть сообщение
Запускаю но ничего на форме нет..
Visual Basic
1
2
3
4
5
6
7
8
Private Sub Form_Load()
Dim X As Integer, Y As Integer, r As Integer
     Me.Show 
     Me.AutoRedraw = True
     Scale (-10, -10)-(10, 10)
     X = 0: Y = 0: r = 4
     Circle (X, Y), r, vbRed
End Sub
Добавлено через 2 минуты
Цитата Сообщение от Техник55 Посмотреть сообщение
что-то типа первая запись пришла последняя вышла!!!
Visual Basic
1
2
3
4
Private Sub Timer1_Timer()
    List1.AddItem Time
    If List1.ListCount > 10 Then List1.RemoveItem 0
End Sub
1
7 / 7 / 1
Регистрация: 11.06.2012
Сообщений: 352
01.07.2012, 09:04  [ТС]
Подскажите Х и У можно задавать только целые:1, 2, 3, 4...
просто хотелось бы с десятыми задавать: 1,5; 2,6; итд, чтобы окружность была в нужном месте на плоскости....
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38173 / 21108 / 4307
Регистрация: 12.02.2012
Сообщений: 34,709
Записей в блоге: 14
01.07.2012, 09:21
Если задали координаты с помощью Scale, то числа могут быть и дробными
0
7 / 7 / 1
Регистрация: 11.06.2012
Сообщений: 352
01.07.2012, 10:04  [ТС]
Все разобрался, просто я переменные задавал Integer, вот они у меня и округлялись. Щас все в норме.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.07.2012, 10:04
Помогаю со студенческими работами здесь

Как нарисовать окружность?
Здравствуйте! Подскажите как нарисовать единичную окружность. В ВБ6 через метод scale размечался ПБ а в ВБ 2010 этот метод работает по...

Как нарисовать окружность
Подскажите, пожалуйста, как нарисовать окружность в Microsoft Visual C++ .:thank_you:

Как нарисовать окружность?
Как нарисовать окружность?

Как нарисовать окружность
Привет! срочно нужна помощь!!! Нужно нарисовать окружность с задаваемым радиусом и эксцентриситетом радиус вычисляется по формуле...

Как нарисовать окружность?
Не могу понять как нарисовать примитивный круг с заданными координатами, радиусом и толщиной. Большая просьба, объясните непросвещённому,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru