Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Графика в Visual Basic / 6 сообщений из 6, страница 1 из 1
14.10.2005, 19:13:17
    #33326083
LaYzeRR
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Графика в Visual Basic
Такая тема: нужно написать прогу, в которой по заданной функции будет построен график (в 2D плоскости).
Есть кусок кода:
Option Explicit
Public x, y As Long
Private Sub Form_Load()
Me.ScaleTop = (-(Me.Height) / 2)
For x = 0 To Form1.Width Step 0.1
y = Sin(x)
PSet (x, y), RGB(200, 0, 200)
Next x
End Sub

Такая вот проблема: y=sin(x) , а он рисует прямую линию.
Что с этим можно сделать? Как получить из всего этого синусоиду?!!
Помогите, пожалуйста!!! С нетерпением жду!
...
Рейтинг: 0 / 0
14.10.2005, 22:02:05
    #33326177
nibbles
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Графика в Visual Basic
Очень просто:
в функции y=sin(x) при изменении X от 0 до Form1.Width - значение Y будет изменяться от только 1 до -1. в то время, как размеры экрана - несколько сотен пикселов. Таким образом изменение Y будет практически незаметно для глаза.
Выход прост: умножать Y на некий коэффициент или использовать собственную систему координат (свойства ScaleLeft\ScaleTop, если память не изменяет). Проще, конечно, с коэффициентом... но правильнее - с пользовательской системой координат.
...
Рейтинг: 0 / 0
15.10.2005, 19:39:51
    #33326608
LaYzeRR
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Графика в Visual Basic
Ничего не выходит!! Пробовал домножать у на 10 - получается толстая линия, на 100 - три линии. При увеличении коэффициента увеличивается расстояние между линиями. Может, я что-то не так делаю?..
...
Рейтинг: 0 / 0
15.10.2005, 20:09:56
    #33326623
nibbles
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Графика в Visual Basic
LaYzeRRНичего не выходит!! Пробовал домножать у на 10 - получается толстая линия, на 100 - три линии. При увеличении коэффициента увеличивается расстояние между линиями. Может, я что-то не так делаю?..

Красивая плавная линия получается при изменении X от -пи до пи с шагом пи/360.
У Вас же идет изменение от 0 до 600 - за это время кривая делает столько скачков, что кажется, будто бы линий три штуки.
...
Рейтинг: 0 / 0
15.10.2005, 20:32:47
    #33326635
LaYzeRR
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Графика в Visual Basic
nibblesКрасивая плавная линия получается при изменении X от -пи до пи с шагом пи/360.У Вас же идет изменение от 0 до 600 - за это время кривая делает столько скачков, что кажется, будто бы линий три штуки.

Спасибо ОГРОМНОЕ, попробую теперь так сделать!
...
Рейтинг: 0 / 0
19.01.2006, 16:49:50
    #33492430
LaYzeRR
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Графика в Visual Basic
Лучше поздно, чем никогда...

Вот еще один вопрос к более опытным (т. е. ко всем) участникам форума есть!

Как лучше сделать координатную плоскость? Рисовать ее линиями, или вставить картинку, или еще как-нибудь?

Если линиями, то всякие там единичные отрезки и все такое неудобно ставить, если картинкой, то как график к ней привязывать (чтобы он туда, куда нужно попал)?
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Графика в Visual Basic / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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