Псевдо-3D c помощью Drawing2D.Matrix

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

aave
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 17
Зарегистрирован: 08.08.2012 (Ср) 8:37

Псевдо-3D c помощью Drawing2D.Matrix

Сообщение aave » 24.11.2012 (Сб) 20:26

Добрый вечер всем!
У меня в программе рисуется географическая карта, вид сверху, с помощью GraphicPath. Для придания реалистичности (псевдо-3D) хочу придать ей наклон, который можно было бы изменять, а также изменять угол обзора вправо-влево, т.е. чтобы было что-то похожее на изометрическую проекцию. Насколько я знаю, это можно реализовать с помощью класса Drawing2D.Matrix. Но никак не могу добиться того, что нужно. Приведите пример, пожалуйста, как наклонить карту скажем на 45 градусов и на 45 градусов повернуть вокруг вертикальной оси? Или в каком направлении искать, если я взял ложный след? Рисунок ниже поясняет, что примерно я хотел бы получить в результате.
Вложения
rect_rot.jpg
Поворот изображения
rect_rot.jpg (29.04 Кб) Просмотров: 2064
Буду рад видеть вас в моём блоге SolTau.ru, посвящённом технике и технологиям!

Admiralisimys
Постоялец
Постоялец
 
Сообщения: 318
Зарегистрирован: 01.06.2009 (Пн) 10:26

Re: Псевдо-3D c помощью Drawing2D.Matrix

Сообщение Admiralisimys » 24.11.2012 (Сб) 21:30

aave ftp://ftp.charlespetzold.com/ProgWinVB/ ... Transform/
MatrixTransform.png
MatrixTransform.png (12.24 Кб) Просмотров: 2059


Matrix - это общий случай для частных случаев глобального преобразования (функции TranslateTransform, RotateTransform, ScaleTransform ...).

aave
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 17
Зарегистрирован: 08.08.2012 (Ср) 8:37

Re: Псевдо-3D c помощью Drawing2D.Matrix

Сообщение aave » 25.11.2012 (Вс) 14:19

Admiralisimys писал(а):aave ftp://ftp.charlespetzold.com/ProgWinVB/ ... Transform/
Matrix - это общий случай для частных случаев глобального преобразования (функции TranslateTransform, RotateTransform, ScaleTransform ...).


Это не совсем то, здесь ведь присутствует только один поворот, но отсутствует перспектива, т.е. это не изометрическая проекция. Нет иллюзии глубины, просто перевёрнутый домик.
Буду рад видеть вас в моём блоге SolTau.ru, посвящённом технике и технологиям!

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Re: Псевдо-3D c помощью Drawing2D.Matrix

Сообщение Mikle » 26.11.2012 (Пн) 10:51

aave писал(а):присутствует только один поворот, но отсутствует перспектива, т.е. это не изометрическая проекция

В изометрической проекции и не должно быть перспективы, там есть вращение и масштабированное, разное вдоль разных осей.

aave
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 17
Зарегистрирован: 08.08.2012 (Ср) 8:37

Re: Псевдо-3D c помощью Drawing2D.Matrix

Сообщение aave » 26.11.2012 (Пн) 11:15

Mikle писал(а):В изометрической проекции и не должно быть перспективы, там есть вращение и масштабированное, разное вдоль разных осей.

О, спасибо! Я в этом направлении и начал действовать. Значит, не ошибся :D
Буду рад видеть вас в моём блоге SolTau.ru, посвящённом технике и технологиям!


Вернуться в Visual Basic .NET

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2

    TopList