Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
-15 / 0 / 4
Регистрация: 27.10.2015
Сообщений: 230

Используя DrawLines и цикл прорисовать линии по массиву координат

20.12.2015, 11:00. Показов 2156. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
прогоняю только по счётчику i потому что если ещё использую счётчик j то происходит ошибка выхода за пределы массива.
а в даННом варианте error внутри скобок Points(i) в ф-ции DrawLines

VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Dim sigmaCM As Single() = {-0.7, -43, 0, 49, 31, -16, 30, 15, -15, -30, -29, -14, -30, 50, 43, 52, 36, -10, 42, 41, 8}
        Dim TtCM As Single() = {38.5, 0, 11, 0, 9, -32, -30, -11, -30, 7, -26, 10, 0, -18, 5, -7, -20, -43, 3, -27, -32}
 
 
      
        Dim Points As Point()
        For i = 0 To N - 1
            x1 = sigmaCM(i)
            y1 = TtCM(i)
            Points(i) = New Point(x1, y1)
 
            PicBox.CreateGraphics.DrawEllipse(Pens.Black, x2 - x1 * 5, y2 - y1 * 5, 4, 4)
 
            PicBox.CreateGraphics.DrawLines(Pens.Aqua, Points(i))
        Next i
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.12.2015, 11:00
Ответы с готовыми решениями:

Android. Как прорисовать что-нибудь в SurfaceView используя canvas?
Решения на подобии http://stackoverflow.com/questions/5650810/canvas-and-surfaceview-example-crash-freeze-memory-leak не рассматриваются...

Вычислить сумму ряда, используя цикл с параметром, используя цикл с предусловием
решить задачу двумя способами 1. используя цикл с параметром. 2 используя цикл с предусловием.

Нужно вывести на экран график по массиву из заданных координат
Здравствуйте! Нужно вывести на экран график по массиву из заданных координат x и y. Сделать это нужно в консольном приложении visual...

7
Модератор
Эксперт .NET
 Аватар для Yury Komar
4357 / 3427 / 512
Регистрация: 27.01.2014
Сообщений: 6,258
20.12.2015, 11:28
Тут много чего не так...

Не объявлены "N", "x2", "y2", так же как и идет присвоение какого-то значение конкретному элементу массива Points(), в то время когда массив вообще не содержит элементов...

Укажу на ошибки выделенным красным цветом:

Dim sigmaCM As Single() = {-0.7, -43, 0, 49, 31, -16, 30, 15, -15, -30, -29, -14, -30, 50, 43, 52, 36, -10, 42, 41, 8}
Dim TtCM As Single() = {38.5, 0, 11, 0, 9, -32, -30, -11, -30, 7, -26, 10, 0, -18, 5, -7, -20, -43, 3, -27, -32}

Dim Points As Point()
For i = 0 To N - 1
Dim x1 = sigmaCM(i)
Dim y1 = TtCM(i)
Points(i) = New Point(x1, y1)
PicBox.CreateGraphics.DrawEllipse(Pens.B lack, x2 - x1 * 5, y2 - y1 * 5, 4, 4)
PicBox.CreateGraphics.DrawLines(Pens.Aqu a, Points(i))
Next i
0
-15 / 0 / 4
Регистрация: 27.10.2015
Сообщений: 230
20.12.2015, 11:51  [ТС]
спасибо. но эти переменные объявлены. и мой вопрос заключался в другом

Добавлено через 1 минуту
VB.NET
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
Dim N As Integer
        Dim i As Single
        Dim x1 As Single, y1 As Single
        Dim x3 As Single, y3 As Single
        Dim x2 As Single, y2 As Single
 
        Dim sigmaCM As Single() = {-0.7, -43, 0, 49, 31, -16, 30, 15, -15, -30, -29, -14, -30, 50, 43, 52, 36, -10, 42, 41, 8}
        Dim TtCM As Single() = {38.5, 0, 11, 0, 9, -32, -30, -11, -30, 7, -26, 10, 0, -18, 5, -7, -20, -43, 3, -27, -32}
 
 
        N = sigmaCM.Length
        x2 = Me.PicBox.Width / 2
        y2 = Me.PicBox.Height / 2
        x3 = Me.PicBox.Width
        y3 = Me.PicBox.Height
        PicBox.CreateGraphics.DrawLine(Pens.Blue, x2, y3, x2, 0)
        PicBox.CreateGraphics.DrawLine(Pens.Blue, 0, y2, x3, y2)
        Dim Points As Point()
        For i = 0 To N - 1
            x1 = sigmaCM(i)
            y1 = TtCM(i)
            Points(i) = New Point(x1, y1)
 
            PicBox.CreateGraphics.DrawEllipse(Pens.Black, x2 - x1 * 5, y2 - y1 * 5, 4, 4)
 
            PicBox.CreateGraphics.DrawLines(Pens.Aqua, Points(i))
        Next i
Добавлено через 8 минут
пожалуйста если кто-нибудь знает решение, отпишитесь
0
es geht mir gut
 Аватар для SoftIce
11274 / 4760 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
20.12.2015, 12:05
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim x As Single() = {-0.7, -43, 0, 49, 31, -16, 30, 15, -15, -30, -29, -14, -30, 50, 43, 52, 36, -10, 42, 41, 8}
        Dim y As Single() = {38.5, 0, 11, 0, 9, -32, -30, -11, -30, 7, -26, 10, 0, -18, 5, -7, -20, -43, 3, -27, -32}
        Dim P As Graphics = PicBox.CreateGraphics
        P.TranslateTransform(Me.PicBox.Width / 2, Me.PicBox.Height / 2)
        P.DrawLine(Pens.Blue, -Me.PicBox.Width, 0, Me.PicBox.Width, 0)
        P.DrawLine(Pens.Blue, 0, -Me.PicBox.Height, 0, Me.PicBox.Height)
 
        For i As Integer = 1 To x.Length - 1
            P.DrawEllipse(Pens.Black, x(i) - x(i - 1) * 5, y(i) - y(i - 1) * 5, 4, 4)
            P.DrawLine(Pens.Aqua, x(i - 1), y(i - 1), x(i), y(i))
        Next i
    End Sub
0
-15 / 0 / 4
Регистрация: 27.10.2015
Сообщений: 230
20.12.2015, 13:42  [ТС]
Ошибка 1 Не удалось разрешить перегрузку, так как данное число аргументов не подходит ни одному из доступных "DrawLines".

Добавлено через 3 минуты
эта ошибка постоянно выскакивает . надо как то так
DrawLines (Pen,Point())

о у меня не выходит результат
0
es geht mir gut
 Аватар для SoftIce
11274 / 4760 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
20.12.2015, 13:53
Цитата Сообщение от NelLy0892 Посмотреть сообщение
Ошибка 1 Не удалось разрешить перегрузку
Вы эти ошибки сами вносите.
Миниатюры
Используя DrawLines и цикл прорисовать линии по массиву координат  
1
Модератор
Эксперт .NET
 Аватар для Yury Komar
4357 / 3427 / 512
Регистрация: 27.01.2014
Сообщений: 6,258
20.12.2015, 14:00
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

NelLy0892, у меня без ошибок
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
Dim x As Single() = {-0.7, -43, 0, 49, 31, -16, 30, 15, -15, -30, -29, -14, -30, 50, 43, 52, 36, -10, 42, 41, 8}
        Dim y As Single() = {38.5, 0, 11, 0, 9, -32, -30, -11, -30, 7, -26, 10, 0, -18, 5, -7, -20, -43, 3, -27, -32}
        Dim P As Graphics = PicBox.CreateGraphics
        P.Clear(PicBox.BackColor)
        P.TranslateTransform(Me.PicBox.Width / 2, Me.PicBox.Height / 2)
        P.DrawLine(Pens.Black, -Me.PicBox.Width, 0, Me.PicBox.Width, 0)
        P.DrawLine(Pens.Black, 0, -Me.PicBox.Height, 0, Me.PicBox.Height)
 
        For i As Integer = 1 To x.Length - 1
            P.DrawEllipse(Pens.Blue, x(i) - x(i - 1) * 5, y(i) - y(i - 1) * 5, 4, 4)
            P.DrawLine(Pens.Red, x(i - 1), y(i - 1), x(i), y(i))
        Next i
Миниатюры
Используя DrawLines и цикл прорисовать линии по массиву координат  
2
-15 / 0 / 4
Регистрация: 27.10.2015
Сообщений: 230
21.12.2015, 14:36  [ТС]
благодарю

Добавлено через 17 часов 52 минуты
здесь искажение по точкам происходит почему-то . к примеру точка 5.20 -0.70 выше оси X лежит
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.12.2015, 14:36
Помогаю со студенческими работами здесь

Функция вычисляющая количество тупоугольных треугольников по массиву координат их вершин
Разработанная программа должна быть реализована 3 способами: - как функция, возвращающая искомое значение; - как функция, возвращающая...

Цикл по массиву
Уважаемые коллеги, добрый вечер! Возник вопрос, непонятно, почему ругается на 32 строке. Имена полей из базы верно, имя базы верно, не...

Цикл по массиву на jquery
Подскажите кто знает, у меня есть вот такой массив: array (size=4) 1 => array (size=4) 'id' => string '1'...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-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 с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru