Задача: Определить координаты мыши в 3D пространстве и построить луч для трассировки.
Game [coder]
вторник, 19 апреля 2011 г.
среда, 6 апреля 2011 г.
Проверка пересечения 3D луча и 3D объектов
Пересечение 3D луча и 3D плоскости.
Теория:
Вычисляем скалярное произведение нормали плоскости с направлением луча (луч нормализован). Если произведение равно 0, то луч проходит перпендикулярно плоскости, следовательно пересечения нет. Плоскость задана каноническим уравнением вида:
nx * x + ny * y + nz * z + d = 0, где нормаль плоскости равна: plane.normal = (nx, ny, nz). Луч задан начальной точкой и вектором направления: ray.start = (xs, ys, zs) и ray.direction = (xd, yd, zd). Координаты точек луча будут вычисляться по формулам:
xp = xs + t * xd, yp = ys + t * yd, zp = zs + t * zd.
Найдем точку пересечения луча и плоскости, для этого подставим в уравнение плоскости координаты точек луча:
nx * (xs + t * xd) + ny * (ys + t * yd) + nz * (zs + t * zd) + d = 0
Выражая параметр t, мы найдем формулу для поиска точки пересечения. dotProduct - скалярное произведение.
t = - (dotProduct(plane.normal, ray.start) + plane.d) / dotProduct(plane.normal, ray.direction);
если t < 0, то луч не пересекает плоскость.
четверг, 13 января 2011 г.
Boost Build в MS VS 2010
Библиотеки которые требуют сборки:
- Boost.Filesystem
- Boost.GraphParallel
- Boost.IOStreams
- Boost.MPI
- Boost.ProgramOptions
- Boost.Python
- Boost.Regex
- Boost.Serialization
- Boost.Signals
- Boost.System
- Boost.Thread
- Boost.Wave
пятница, 7 января 2011 г.
Виджет ВКонтакте “Мне нравится” в Blogger
Этот пост посвящен тому, как добавить виджет ВКонтакте “Мне нравится” к постам в Blogger.
B итак первым шагом заходим на страницу ВКонтакте:
http://vkontakte.ru/developers.php?o=-1&p=Like
B итак первым шагом заходим на страницу ВКонтакте:
http://vkontakte.ru/developers.php?o=-1&p=Like
четверг, 6 января 2011 г.
AS 3.0 / HTTP / SOCKET часть 2
Статья написана в качестве примера. Более подробное описание методов и событий классов смотрите в справке.
Создание HTTP запроса:
Нужные нам пакеты:
1) Создать URLRequest
2) Создать URLLoader
Создание HTTP запроса:
Нужные нам пакеты:
import flash.events.Event;и так для создания HTTP запроса нам надо:
import flash.events.IOErrorEvent;
import flash.net.URLLoader;
import flash.net.URLLoaderDataFormat;
import flash.net.URLRequest;
import flash.net.URLVariables;
import flash.net.URLRequestMethod;
1) Создать URLRequest
2) Создать URLLoader
вторник, 4 января 2011 г.
AS 3.0 / HTTP / SOCKET
ActionSctript 3.0 имеет множество средств для осуществления передачи данных между FLASH-роликом и внешними данными это к примеру поддержка HTTP протокола и сокетов, рассмотрим этот процесс подробнее.
Для того что бы иметь возможность подключаться к удаленному серверу из FLASH – ролика существует такое понятие как файл политики crossdomain.xml.
Это специальный XML – файл, который содержит правила доступа к данным удаленного сервера.
Согласно документации от Adobe FLASH – плеер при подключении к HTTP по умолчанию ищет файл политики в корневом каталоге сервера, а при подключении к серверу на основе сокетов на 843 порту.
Для того что бы иметь возможность подключаться к удаленному серверу из FLASH – ролика существует такое понятие как файл политики crossdomain.xml.
Это специальный XML – файл, который содержит правила доступа к данным удаленного сервера.
Согласно документации от Adobe FLASH – плеер при подключении к HTTP по умолчанию ищет файл политики в корневом каталоге сервера, а при подключении к серверу на основе сокетов на 843 порту.
среда, 29 декабря 2010 г.
Первый нах.
Первое сообщение в новом блоге ^_^. Да да да это не первый блог, и во всех других блогах дальше первой записи так и не ушло :D Но мне же все таки нужно место где бы я описывал все мои мысли, заметки и другие соображения... Как сказал бы Гагарин "Поехали!".
Подписаться на:
Сообщения (Atom)