Рисуем линии.

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
KDima
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 759
Зарегистрирован: 14.07.2004 (Ср) 23:14
Откуда: СПб

Рисуем линии.

Сообщение KDima » 22.03.2005 (Вт) 13:56

Нужен алгоритм быстрого рисования линии (если можно, с примером)
Рисовать линию нужно не системными функциями а своими ручками!
Хороший прогер не тот, кто всё знает, хороший прогер знает, где найти знание.

Последний раз редактировалось: Administrator (15.07.2004 (Вт) 00:01), всего редактировалось 999 раз(а)

KDima
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 759
Зарегистрирован: 14.07.2004 (Ср) 23:14
Откуда: СПб

Сообщение KDima » 22.03.2005 (Вт) 14:01

Шестисотый пост! :D

И более срочное:
Нужно определить угол... ну

_________Вот второй: 8)


Вот смайл: :roll: ---------- 0 Градусов

Мне нужно определить, что угол 8) :roll: 0 градусов.
Как это сделать приблизительно понимаю, а код не работает :cry: !
Хороший прогер не тот, кто всё знает, хороший прогер знает, где найти знание.

Последний раз редактировалось: Administrator (15.07.2004 (Вт) 00:01), всего редактировалось 999 раз(а)

hCORe
VB - Экстремал
VB - Экстремал
Аватара пользователя
 
Сообщения: 2332
Зарегистрирован: 22.02.2003 (Сб) 15:21
Откуда: parent directory

Сообщение hCORe » 22.03.2005 (Вт) 16:32

Вот пример - растрирование линий и окружностей методом Брезенхема. Правда, на Delphi.

Плюс - есть сглаживание контуров с гамма-коррекцией (для окружностей работает несколько неточно, но всё же...)

А вот и пример (только исходники):
Вложения
bresenham.zip
Растрирование линий и окружностей методом Брезенхема.
(15.93 Кб) Скачиваний: 16
Моду создают модоки, а распространяют модозвоны.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 22.03.2005 (Вт) 16:48

http://bbs.vbstreets.ru/viewtopic.php?t=6692 :)
Ну помню же, что было :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

KDima
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 759
Зарегистрирован: 14.07.2004 (Ср) 23:14
Откуда: СПб

Сообщение KDima » 22.03.2005 (Вт) 18:24

Спасибо а срочный вопрос?
Хороший прогер не тот, кто всё знает, хороший прогер знает, где найти знание.

Последний раз редактировалось: Administrator (15.07.2004 (Вт) 00:01), всего редактировалось 999 раз(а)

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 23.03.2005 (Ср) 3:23

А задай его поточнее :)

Тебе нужно опреределить, какой угол с положительный направлением абсциссы составляет линия, соединяющая две известные точки? :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Faust
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 649
Зарегистрирован: 29.12.2003 (Пн) 13:38
Откуда: лаборатория

Сообщение Faust » 23.03.2005 (Ср) 5:36

Тэк... Угол у вас между некоторыми векторами - если вы ими не оперируете, то это не значит, что их нельзя ввести. А угол между двумя векторами равен нулю, ежели равно нулю их векторное произведение и больше нуля скалярное. То есть, если знаешь координаты двух векторов: A(Xa,Ya) и B(Xb,Yb), то угол между ними равен нулю тогда и только тогда, когда:
Xa*Yb-Ya*Xb=0
Xa*Xb+Ya*Yb>0
Листинги не горят!

KDima
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 759
Зарегистрирован: 14.07.2004 (Ср) 23:14
Откуда: СПб

Сообщение KDima » 23.03.2005 (Ср) 20:00

Изображение

Точки B и D - фиксированые
Точка D символизирует 0 градусов
Все точки продолжения луча [DB) символизируют 180 градусов.
Всё ниже 180 - 359 градусов.
Ну короче обьяснение Faust мне понятнее, чем эта белеберда...

Faust
Уууу (вой) :D
Хороший прогер не тот, кто всё знает, хороший прогер знает, где найти знание.

Последний раз редактировалось: Administrator (15.07.2004 (Вт) 00:01), всего редактировалось 999 раз(а)

KDima
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 759
Зарегистрирован: 14.07.2004 (Ср) 23:14
Откуда: СПб

Сообщение KDima » 31.03.2005 (Чт) 11:48

Ping!
Хороший прогер не тот, кто всё знает, хороший прогер знает, где найти знание.

Последний раз редактировалось: Administrator (15.07.2004 (Вт) 00:01), всего редактировалось 999 раз(а)


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: SemrushBot и гости: 65

    TopList  
cron