![]() |
Насколько я помню (а это было на первом курсе), для вычесления координат вектора нормали требуется перемножение двух матриц. Так вот я вычислял координату z, если она отрицательна — поверхность невидима (в зависимости от того, какая сторона является лицевой — был доп. параметр, отвечающий за это).
Вот эта строчка: Код:
vis = (o2.x*o2.depth-o1.x*o1.depth)*(o3.y*o3.depth-o1.y*o1.depth)-(o3.x*o3.depth-o1.x*o1.depth)*(o2.y*o2.depth-o1.y*o1.depth); |
Как боротся с этим?(сечение вылазит на стороны)
Project |
Ты думаешь, по внешнему виду можно понять, в чём косяк?
Ещё раз настоятельно рекомендую прочитать раздел по линейной алгебре. |
да уж, линейная алгебра - это самое оно для флешера
|
Цитата:
|
О матрицах преобразований (я уже всё забыл, поэтому точно не скажу).
|
Цитата:
|
надо почитать про вектора, матрицы, матричные уравнения, (в т.ч. про обратные матрицы), веркторную запись классических задач аналит.геометрии (проекция точки на отрезок, плоскость, расстояние между прямыми и др.) что-то еще в этом духе (я тоже за десять лет забыл, что там еще было :) )
|
Да-да, линейка тут не нужна, линал надо ковырять :)
|
BigDan, посмотрите здесь. http://27bobs.com/ Там лежит в свободном доступе библиотека Flash3D. Все написано в те времена, когда регистр букв не учитывался, простым и ясным языком прототипов, но работает вполне себе спокойно. Там как раз матрицы, шматрицы, кривые безье и прочие радости жизни. ( про регистр букв - это намек, надо будет одно слово переименовать чтоб все заработало ). Кстати, математику Todd Yard тоже не всю сам писал.
|
| Часовой пояс GMT +4, время: 21:56. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.