![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| vahitov |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 71 Регистрация: 26.3.2004 Репутация: нет Всего: нет |
Мне надо нарисовать 3-ый график(поверхность фигуры) методами обычной GDI, т.е. обычными линиями и т.д. Как это делаеться? подскажите что почитать или может у кого есть исходники(желательно на с++)?
Что-то слышал про метод треугольника, но не знаю что это? Подскажите, посоветуйте. |
|||
|
||||
| achmed |
|
|||
|
Unregistered |
если ничего про это не знаешь то тяжело будет, почитать какую-нибудь книгу по машинной графике
|
|||
|
||||
| Peter |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 771 Регистрация: 28.7.2003 Где: Ставрополь Репутация: -1 Всего: 1 |
Да вообще-то я этот алгоритм сам придумывал. Это несложно, если аналитической и проективной геометрией владеешь. Под рукой нет. Может, через несколько дней программку закину (если не забуду).
Совет: открыть книжку по аналитической геометрии, изучить ее, а потом покрутить мозгульками. -------------------- всё, что делаете, делайте от души, как для Господа (Послание апостола Павла колоссянам, 3:23). |
|||
|
||||
| vahitov |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 71 Регистрация: 26.3.2004 Репутация: нет Всего: нет |
Скинь - пожалуйста. а то время особо нет что-то изучать. Надо бысто какой-то алгоритм освоить и подогнать под мою задачу.
|
|||
|
||||
| maxim1000 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 17 Всего: 110 |
сначала надо определиться, в каком виде хочется его рисовать:
1. можно наложить на него сетку: визулазиция неплохая и сделать просто 2. можно раскрасить так, как будто тело освещают, тогда действительно можно аппроксимировать поверхность набором треугольников и каждый из них раскрашивать отдельно Это сообщение отредактировал(а) maxim1000 - 9.4.2004, 11:27 -------------------- qqq |
|||
|
||||
| podval |
|
|||
![]() Где я? Кто я? ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3094 Регистрация: 25.3.2002 Где: СПб Репутация: 1 Всего: 62 |
Вот код, правда, немного древний, но суть понять можно.
|
|||
|
||||
| vahitov |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 71 Регистрация: 26.3.2004 Репутация: нет Всего: нет |
Конечно, алгоритм хороший и работающий. Но как расскрасить поверхность(слышал, что надо аппроксимировать треугольниками). Но как это делаеться?
Помогите!!!!!!!!!!!!!!!!!!!! |
|||
|
||||
| maxim1000 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 17 Всего: 110 |
что конкретно непонятно: как аппроксимировать поверхность треугольниками или как расскраситть отдельно взятый треугольник?
-------------------- qqq |
|||
|
||||
| vahitov |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 71 Регистрация: 26.3.2004 Репутация: нет Всего: нет |
maxim1000 ,
Как апроксимировать не понятно. А расскрашивать я думаю надо по какой-то координате. Если знаешь как делаеться - помоги. Плиззз. Иль поделись исходниками, если они есть. |
|||
|
||||
| maxim1000 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 17 Всего: 110 |
исходников у меня нет...
1. как аппроксимировать: пусть поверхность задается функцией от двух аргументов: z=f(x,y) делим плоскость на квадраты с фиксированной стороной, каждый из них - пополам получаем плоскость, разделенную на треугольники но нам нужны треугольники в трехмерном пространстве каждой точке каждого треугольника приписываем третью координату по очень простому правилу: z=f(x,y) получаем кучу треугольников 2. как отображать: для отображения треугольника нужно знать: его координаты (на экране), его цвет экранные координаты обычно получаются проекцией реальных координат на какую-то плоскость цвет можно определять по формуле color=max*cos(alpha) color - цвет, которым треугольник будет нарисован на экране max - цвет треугольника при максимальном освещении (если фигура одноцветная - просто константа) alpha - угол между нормалью к треугольнику и вектором направления света (меняя этот вектор можно будет освещать фигуру с разных сторон) -------------------- qqq |
|||
|
||||
| vahitov |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 71 Регистрация: 26.3.2004 Репутация: нет Всего: нет |
конечно ловчее дыло бы исходнии посмотреть, т.к. мне эта тема не сильно интересна - просто надо сделать. Ну за это тоже спасибо. Попробую над этим подумать.
|
|||
|
||||
| Peter |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 771 Регистрация: 28.7.2003 Где: Ставрополь Репутация: -1 Всего: 1 |
2vahitov: отправляю по e-mail, поскольку у меня все в rtf-ах.
-------------------- всё, что делаете, делайте от души, как для Господа (Послание апостола Павла колоссянам, 3:23). |
|||
|
||||
| vahitov |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 71 Регистрация: 26.3.2004 Репутация: нет Всего: нет |
To Peter, СПАСИБА.
|
|||
|
||||
| Peter |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 771 Регистрация: 28.7.2003 Где: Ставрополь Репутация: -1 Всего: 1 |
Пожалуйста, приходите еще. Кстати, тут же вроде бы недавно можно было файлы оставлять на форуме в качестве ответа. Куда это пропало? Или я ошибаюсь? -------------------- всё, что делаете, делайте от души, как для Господа (Послание апостола Павла колоссянам, 3:23). |
|||
|
||||
| vahitov |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 71 Регистрация: 26.3.2004 Репутация: нет Всего: нет |
To Peter.
Фиг знает. Надо у модераторов спрашивать |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |