2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




На страницу 1, 2  След.
 
 отображение точки с осями x y z на экране
Сообщение06.07.2017, 12:50 
Здравствуйте, у меня проблема, ни как не могу составит 2 уравнения (пока ни 1 из них) для вычислений осей x и y для отображения точки на плоскости, имеющей 3 оси координат, камера (наблюдателя, экран, ...) у которого есть оси вращения x y z, + и наличие размера дисплея. Большая часть материала либо направлена эксплуатацию встроенных модулей в языки програмирования, или же имеет мало понятный 9ти класнику вид, по причине чего пришёл на форум, где не мало подомного материала видел в своих поисках, и решил спросить на прямую.

 
 
 
 Re: отображение точки с осями x y z на экране
Сообщение06.07.2017, 14:26 
Аватара пользователя
illua в сообщении #1231841 писал(а):
на плоскости, имеющей 3 оси координат
Ух!!! Послушайте, девятиклассник, Вы на уроках математики графики функций на плоскости строили? Сколько там было осей координат?

 
 
 
 Re: отображение точки с осями x y z на экране
Сообщение06.07.2017, 14:37 
illua в сообщении #1231841 писал(а):
Большая часть материала либо направлена эксплуатацию встроенных модулей в языки програмирования, или же имеет мало понятный 9ти класнику вид
Я так понимаю, вы решили научиться программировать 3D-графику? Вам надо изучить небольшой кусочек линейной алгебры (преподается на первом курсе в вузах обычно), это вполне доступно девятикласснику, знающему математику хотя бы на "4" (имхо). После чего весь малопонятный вид перестанет быть проблемой. Там, собственно, всего то и надо знать, что такое вектор, матрица, и какие возможны операции с ними.
Используемый повсеместно для расчетов 3D матаппарат настолько прост и удобен, что просто не имеет никакого смысла изобретать что-то еще, а выученная линейная алгебра и сама по себе пригодится.

(Оффтоп)

А еще поработайте над проблемой формулирования мыслей. Ваши объяснения довольно путанные.

 
 
 
 Re: отображение точки с осями x y z на экране
Сообщение06.07.2017, 17:02 
rockclimber спасибо, приму к сведению
Someone не понял суть, так не надо придераться: точки, имеющей 3 оси координат; отображать на плоскости

 
 
 
 Re: отображение точки с осями x y z на экране
Сообщение06.07.2017, 17:22 
illua
А в какой проекции, хотя бы, вы хотите отображать?

Если в центральной (ну типа как телефон фотает), то вот вам формулы: http://sernam.ru/book_graph3d.php?id=10

 
 
 
 Re: отображение точки с осями x y z на экране
Сообщение06.07.2017, 18:19 
Someone в сообщении #1231859 писал(а):
illua в сообщении #1231841 писал(а):
на плоскости, имеющей 3 оси координат
Ух!!! Послушайте, девятиклассник, Вы на уроках математики графики функций на плоскости строили? Сколько там было осей координат?

дед когда ты уже перестанешь на форуме всякую чушь писать,тебе уже за 65, либо на пенсию надо либо пора умирать(не дай бог конечно),перестаньте чушь всякую писать пожалуйста,а то выловлю вас

 
 
 
 Re: отображение точки с осями x y z на экране
Сообщение06.07.2017, 18:24 
 !  Albert61, бан на неделю за неуважительное отношение к собеседнику и угрозы

 
 
 
 Re: отображение точки с осями x y z на экране
Сообщение06.07.2017, 19:25 
wrest я эту статью уже видел, нет, это не то, мне надо что то в этом роде:https://drive.google.com/file/d/0B0RF8VUHHOOWbUo1Q1daQVhzeTQ/view?usp=sharing

 
 
 
 Re: отображение точки с осями x y z на экране
Сообщение06.07.2017, 20:24 
illua
Ну так потрудитесь внятно изложить. Пока непонятно чего вы хотите.

 
 
 
 Re: отображение точки с осями x y z на экране
Сообщение06.07.2017, 20:53 
illua
Вам на самом деле надо не это, а что-то типа такого: http://www.helloworld.ru/texts/comp/gam ... les/23.htm
Проецирование рассматривается в разделе 2.5: http://www.helloworld.ru/texts/comp/gam ... les/25.htm

 
 
 
 Re: отображение точки с осями x y z на экране
Сообщение06.07.2017, 21:53 
прочитал, по эксперементировал, понял: мне ещё рано

 
 
 
 Re: отображение точки с осями x y z на экране
Сообщение07.07.2017, 00:50 
Ну как раз ту простую ситуацию, когда камера смотрит вдоль одной оси и сидит на ней же, а экран параллелен двум другим осям, в 9 классе осилить более чем реально. Для простоты можно поставить камеру вообще в начало координат, а экран отодвинуть от него на единицу. После этого находите прямую, соединяющую камеру и интересующую точку, и пересекаете её с экраном. Координатами же на экране можно вполне считать те координаты его точек, которые меняются (а третья у нас равна 1 по соглашению). Эти координаты находятся по поразительно простым формулам. Сразу же легко можно отсекать точки, находящиеся за камерой, потому что они отличаются просто знаком одной из координат (той, которая 1 у экрана). Вот и всё с перспективной/центральной/называйте как хотите проекцией, для первой итерации достаточно — повороты и прочие штуки с этим совершенно никак не связаны, и формулы для них при большом желании можно переоткрыть, ничего не читая. Правда, некоторые полезные оптимизации и представления переоткрыть трудно.

 
 
 
 Re: отображение точки с осями x y z на экране
Сообщение07.07.2017, 01:00 
illua в сообщении #1231940 писал(а):
прочитал, по эксперементировал, понял: мне ещё рано
Начните с чего-нибудь попроще. Хотя бы с простого рисования графиков функций на плоскости. До учебного года еще два месяца, если программировать нравится, то к сентябрю уже можно неплохо продвинуться. Тем более что интернет завален материалами на любой вкус, цвет и запах. Это все же не 15 - 20 лет назад, когда интернет только-только изобрели, форумов было - по пальцам одной руки пересчитать, литература исключительно на бумаге, а до появления stackoverflow оставалось еще лет пять :mrgreen:

 
 
 
 Re: отображение точки с осями x y z на экране
Сообщение07.07.2017, 01:15 
Кстати, действительно, штука попроще. Забудем центральную проекцию и начнём с аффинной (никакой перспективы, любые параллельные прямые переходят в параллельные), можно вообще читерствовать: задаём на плоскости векторы $\vec\imath',\vec\jmath',\vec k'$ и точку $O'$, в которые должны спроецироваться орты системы координат и её начало (но не будем думать о камерах, экранах и направлениях проекции! Просто выберем их так, как кажется интересным или «натурально выглядящим»), и пошли рисовать на этой плоскости всякие $O + x\vec\imath' + y\vec\jmath' + z\vec k'$ (прибавление вектора к точке — её перенос на этот вектор; в координатах это обычное сложение соответствующих координат). Это можно принять на веру, можно немного подумать и убедиться, а можно, конечно, строго доказать линейной алгеброй. Как раз для рисования графиков функций двух аргументов неплохо сгодится.

 
 
 
 Re: отображение точки с осями x y z на экране
Сообщение07.07.2017, 09:05 
arseniiv в сообщении #1231961 писал(а):
в которые должны спроецироваться орты системы координат
ТС в девятом классе, что вы его пугаете :wink:
arseniiv в сообщении #1231961 писал(а):
прибавление вектора к точке — её перенос на этот вектор; в координатах это обычное сложение соответствующих координат
А вот это он должен уже знать, емнип.

 
 
 [ Сообщений: 18 ]  На страницу 1, 2  След.


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group