Форум
» Назад на решение задач по физике и термеху
Регистрация | Профиль | Войти | Забытый пароль | Присутствующие | Справка | Поиск

» Добро пожаловать, Гость: Войти | Регистрация
    Форум
    Математика
        модель 3D сцены для кругового движения
Отметить все сообщения как прочитанные   [ Помощь ]
» Добро пожаловать на форум "Математика" «

Переход к теме
<< Назад Вперед >>
Одна страница
Модераторы: Roman Osipov, RKI, attention, paradise
  

mahsus



Новичок

Цель: создать простую 3D-сцену, которой можно управлять двумя углами beta и gamma.
Есть плоскость, проходящая через начало координат. Эта плоскость наклонена к плоскости xy под углом beta.
Если провести в этой плоскости перпендикуляр к прямой пересечения нашей плоскости с плоскостью xy, который проходит через начало координат, то угол между этим перпендикуляром и его проекцией на плоскость xy будет beta, а угол между проекцией перпендикуляра и осью x будет gamma. Т.е. по сути угол beta - это угол поворота плоскости относительно начала координат, а угол gamma - это угол поворота плоскости в плоскости xy относительно оси x.
Таким образом есть плоскость, которую можно описать в полярных координатах растоянием до любой точки на плоскости и двумя углами alfa и beta.
Если взять сферу радиуса R, центр которой лежит в начале координат, то можно найти пересечение нашей плоскости и сферы. Это будет окружность, которая наклонена к плоскости xy и этот наклон описывается двумя углами beta и gamma.
Эти угла задаются при прорисовке сцены.
Фактически нужно получить проекцию окружности на плоскость xy. это будет некий эллипс.
Есть угол alfa, который будем динамически изменяться для определения положения точки на окружности (в плоскости xy относительно оси x), например, приращением угла в 3 градуса.
Таким образом нужно получить уравнение проекции окружности на плоскость xy как x(R,alfa,beta,gamma) и y(R,alfa,beta,gamma), как в полярных координатах, чтобы можно было отображать на экране координаты x и y, изменять динамически угол alfa, а вращать сцену двумя углами beta и gamma.
Пробовал решать таким путем:

уравнение сферы:
x^2+y^2+z^2=R
и прямая, проходящая через начало координат:
Ax+By+Cz+D=0, D = 0
т.е.
Ax+By+Cz=0
находим пересечение этих поверхностей и убираем ось z для получения проекции на ось xy:
получаем путем подстановок:
x^2*(C^2+A^2) + 2*A*x*B*y + y^2(C^2+B^2) - R^2*C^2 = 0
из этого уравнения выражаем x через y и наоборот, подставляя вместо x и y такие выражения:
x = R*cos(beta)*cos(gamma)
y = R*cos(beta)*sin(gamma)
подстановка коэффициентов A,B,C:
A = tg(sigma) = z/y
B = tg(tetta) = z/x
C = tg(alfa), что известно.
Так как нам нужна проекция, то z = 0
Получаем:
x^2*tg(alfa)^2 + y^2*tg(alfa)^2 - R^2*tg(alfa)^2 = 0
после подстановки x и y получаем такие расчетные формулы:
x = R*tg(alfa)*sqrt(1-cos(beta)^2*sin(gamma)^2)
y = R*tg(alfa)*sqrt(1-cos(beta)^2*cos(gamma)^2)
Ну естественно по этим формулам по эллипсу ничего не движется, а движется по прямой под углом 45 градусов.
Помогите найти ошибку в расчетах.
Если направление координально не правильное, подскажите пожалуйста направление к решению задания.
Заранее благодарен.


Всего сообщений: 1 | Присоединился: апрель 2008 | Отправлено: 24 апр. 2008 0:11 | IP

Отправка ответа:
Имя пользователя   Вы зарегистрировались?
Пароль   Забыли пароль?
Сообщение

Использование HTML запрещено

Использование IkonCode разрешено

Смайлики разрешены

Опции отправки

Добавить подпись?
Получать ответы по e-mail?
Разрешить смайлики в этом сообщении?
Просмотреть сообщение перед отправкой? Да   Нет
 

Переход к теме
<< Назад Вперед >>
Одна страница

Форум работает на скрипте © Ikonboard.com