2009-06-10 4 views
1

Предположим, что у нас есть полумесячный 3D-объект и хотим его отразить в C# 2008 Express. То есть, мы хотим иметь его симетическую часть в соответствии с центральной линией объекта.Как зеркально отразить объект 3D-сетки?

Не могли бы вы помочь мне в этом.

Заранее спасибо.

ответ

1

Вы можете попытаться масштабировать его отрицательно на одну ось, что должно по существу переворачивать его.

Итак, если его масштаб равен (1, 1, 1), измените его на (-1, 1, 1).

1

хммм ... вот алгоритм я хотел бы использовать:

  1. Найти точку на сетке, что вы хотели бы, чтобы задуматься о. Назовите это p0.
  2. Переведите объект так, чтобы p0 лежал в начале координат (0,0,0).
  3. Теперь поверните объект на 180 градусов относительно начала координат вдоль нужной плоскости вращения.
  4. Перевести обратно на p0.

Это должно дать вам отражение объекта о линии, которую вы хотите повернуть.

+0

Вы не можете получить зеркало только вращением, эти два объекта физически различны. – cloudhead

+0

Вы правы, ему нужно будет использовать отрицательный масштаб. – CookieOfFortune

+0

Хммм ... но как бы вы это сделали с произвольным самолетом? – CookieOfFortune