вторник, 19 апреля 2011 г.

Координаты курсора в 3D

Задача: Определить координаты мыши в 3D пространстве и построить луч для трассировки.

среда, 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

четверг, 6 января 2011 г.

AS 3.0 / HTTP / SOCKET часть 2

Статья написана в качестве примера. Более подробное описание методов и событий классов смотрите в справке.

Создание HTTP запроса:


Нужные нам пакеты:
import flash.events.Event;
import flash.events.IOErrorEvent;
import flash.net.URLLoader;
import flash.net.URLLoaderDataFormat;
import flash.net.URLRequest;
import flash.net.URLVariables;
import flash.net.URLRequestMethod;
и так для создания HTTP запроса нам надо:
1) Создать URLRequest
2) Создать URLLoader

вторник, 4 января 2011 г.

AS 3.0 / HTTP / SOCKET

ActionSctript 3.0 имеет множество средств для осуществления передачи данных между FLASH-роликом и внешними данными это к примеру поддержка HTTP протокола и сокетов, рассмотрим этот процесс подробнее.
Для того что бы иметь возможность подключаться к удаленному серверу из FLASH – ролика существует такое понятие как файл политики crossdomain.xml.
Это специальный XML – файл, который содержит правила доступа к данным удаленного сервера.
Согласно документации от Adobe FLASH – плеер при подключении к HTTP по умолчанию ищет файл политики в корневом каталоге сервера, а при подключении к серверу на основе сокетов на 843 порту.