За последние 24 часа нас посетили 17919 программистов и 1745 роботов. Сейчас ищут 1076 программистов ...

Кто умнее пятиклассника?

Тема в разделе "Прочее", создана пользователем topas, 8 фев 2010.

  1. topas

    topas Активный пользователь

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36
    Здравствуйте уважаемое сообщество!

    Я учусь в пятом классе и интересуюсь программированием. Что конкретно мне интересно? Интересно создать простую графическую игру, чтобы можно было показать друзьям и одноклассникам и сказать "Это сделал я!".

    На данный момент имею плоскую игру и "вид сверху", но хочется создать подобие 3d: повернуть всю поверхность на мониторе. Я знаю что такое синусы и косинусы, и могу с лёгкостью, применяя навыки полученные на уроках геометрии, повернуть любую точку относительно другой. Но в пространстве вычисления получаются уж очень объёмными :(

    Знаю что для поворота на плоскости и в пространстве можно использовать какие-то "матрицы поворота", что они упрощают математическую модель и идеально подходят при программировании.

    Стоит ли мне, пятикласснику, учить что такое "матрицы" и какие операции с ними доступны. Как никак это уже не школа а элементы высшей математики?
     
  2. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    омг, сколько человек пользуются этим аккаунтом??
     
  3. iliavlad

    iliavlad Активный пользователь

    С нами с:
    24 янв 2009
    Сообщения:
    1.689
    Симпатии:
    4
    деепричастные обороты в пятом классе? и геометрия???
     
  4. Simpliest

    Simpliest Активный пользователь

    С нами с:
    24 сен 2009
    Сообщения:
    4.511
    Симпатии:
    2
    Адрес:
    Донецк
    Значит так, рассказываю алгоритм.

    Берешь правую руку, опускаешь ее на торец монитора справа от тебя.
    Берешь левую руку, опускаешь ее на торец монитора слева от тебя.
    Теперь сжимаешь руки крепко и поворачиваешь всю поверхность на мониторе в нужную сторону.

    Вуаля.
     
  5. topas

    topas Активный пользователь

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36
    Simpliest

    Вопрос по существу: имеет ли смысл изучать матрицы в школе? (тем кто увлекается программированием)

    Моё мнение такое:
    1. матрицы - это простая математическая модель
    2. без матриц в компьютерной графике делать нечего

    Многие начинают программировать с графических приложений, многим не нравится учиться программированию в консольном режиме: это скучно.

    Конечно, если по-науке, то начинать следует с алгоритмов, архитектуры процессора и.т.п. И это не интересно! Поэтому те люди, которые тянутся к знаниям ещё в школе и самостоятельно, пытаются делать то, что им интересно: например игры, почему нет?

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

    А вы что думаете?


    iliavlad, [vs]
    Вы почкованием размножаетесь? :)
     
  6. Simpliest

    Simpliest Активный пользователь

    С нами с:
    24 сен 2009
    Сообщения:
    4.511
    Симпатии:
    2
    Адрес:
    Донецк
    В плане некоторых методов - однозначно.
    Например тот же метод Гаусса можно с легкостью изучать тогда же когда и системы уравнений (6-7й класс). Просто как некое правило для вычисления.

    А вот общую теорию... там есть некоторые неподъемные вещи.

    И это не зависит от того увлекается человек программирование или нет.
    У меня к примеру, дочка проходит со мной некоторые основы цитологии и биохимии на сказках :) Просто потому что ей это интересно.
     
  7. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    имеет.

    вообще учится имеет смысл.
    =)
     
  8. topas

    topas Активный пользователь

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36
    Бесспорно!

    Но ведь есть объективные причины не включения матриц в школьный курс? я вижу всего две, предположительные причины:
    1. Нет применения
    2. Требуют базовых знаний из других областей, не входящих в школьный курс

    Поэтому вопрос состоит не в том, учиться или не учиться, а изучать ли сейчас матрицы? А чему учиться можно найти всегда, было бы желание
     
  9. Elkaz

    Elkaz Старожил
    Команда форума Модератор

    С нами с:
    26 июн 2006
    Сообщения:
    3.373
    Симпатии:
    0
    Адрес:
    Баку, Азербайджан
    И с порно :)
     
  10. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    есть желание изучать матрицы? изучай.

    перестань искать дядю, который скажет тебе - изучай-то, изучай-се. ты сам определяешь что тебе изучать и сам несешь ответственность за свои поступки, решения, действия и жизнь.

    в любом случае помимо любой обязательной программы есть свободное время.

    я, в свое время, когда учился в школе, в 8-ом классе, когда о программировании говорили шепотом и программистов почитали за "нечто", сидел ночами дома, читал книжки по алгоритмам, структурам данных и т.д. и конспектировал их, записывая все в школьные зеленые тетрадки в клеточку.

    потом, это все начало приносить плоды, но я делал это сам, мне было жутко интересно, любопытно.

    не должно быть насилия. должно быть любопытство.
     
  11. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    я бы порекомендовал изучать себя - гораздо более интересное и полезное занятие и гораздо ближе к программированию, чем многим кажется.

    человек вообще программируемая матрица...
    =)
     
  12. topas

    topas Активный пользователь

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36
    да и это время заполняется разными увлечениями, в том числе и программированием

    Если человек никогда не сталкивался с компьютерной графикой, то вряд ли он сможет найти быстро то, что ему нужно. На мой взгляд матрицы поворота как раз и относятся к этому "что-то".

    Очень трудно искать то не знаю чего. Намного проще искать что-то конкретное.
     
  13. Simpliest

    Simpliest Активный пользователь

    С нами с:
    24 сен 2009
    Сообщения:
    4.511
    Симпатии:
    2
    Адрес:
    Донецк
    Проще то, к чему привык.

    Не приучай себя к легкому.
     
  14. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    найди себя и поверь, ВСЕ СРАЗУ ВСТАНЕТ НА МЕСТО.

    =)
     
  15. topas

    topas Активный пользователь

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36
    я не знаю что может быть сложнее


    UPD:
    Всем
    Позиция ваша ясна, "спасибо" - "не за что"
     
  16. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    это на самом деле единственная задача, которую стоит решать.
     
  17. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    - доктор! Почему меня все игнорируют?
    - следующий...
     
  18. topas

    topas Активный пользователь

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36
    440Hz
    я понял к чему вы, сам знаю :)
     
  19. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    А может проще нарисовать текстуры в изометрии?
     
  20. antonn

    antonn Активный пользователь

    С нами с:
    10 июн 2007
    Сообщения:
    2.996
    Симпатии:
    0
    [vs]
    ага, с шагом в 0,1 радиана =)
    хотя для быстрого 2д вывода я часто так и делаю, но память жрет немеряно

    topas
    ты как то странно стебешься, пятый класс какой-то.. :)
    в 3д графике обычно используют матрицы 4*4, в которых задается поворот, перенос и масштабирование. Для поворота точки в пространстве с помощью "синусов-косинусов" обычно поворачивают по координатам, потом перемещают. В "матричном подходе" можно перемножить матрицы переноса и поворота и произвести одно умножение вектора на матрицу :)
    хотя мне часто проще пользоваться старыми добрыми секансами, если расчетов не много.
    Тут, кстати, не подойдет метод "изучать матрицы", математические операции над ними не очень сложны. Другое дело реализация их в программе и методы работы с ними в конкретном коде.
    Плюс ко всему этому все это дело накрывает большая жопень под названием 3д рендер - в DX или OGL можно зарыться на гораздо больший срок, чем понимание матриц.
     
  21. antonn

    antonn Активный пользователь

    С нами с:
    10 июн 2007
    Сообщения:
    2.996
    Симпатии:
    0
    есть такая поговорка - "каждый начинающий программист должен написать свой блокнот, сапера или плеер" :)
    это только у пхп'ешников все скучно, почти каждый пишет свою СМS или блог =)
    начини с чего нибудь попроще, той же игры, но в 2Д с рендером под DX или ОГЛ, с фичами типа масштабирования, постэффектами, шейдеры пощупай. 3Д это не только усложненный расчет графики, это и сложная (относительно 2Д) математическая модель (одни коллизии чего стоят)
     
  22. Да ну, он мне простеньким показался... =)
     
  23. предлагаю Blitz ! Мой любимый язык в графическом прошлом )
     
  24. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    Ога. А я в пятом классе рисовал геометрические фигуры на спектруме в бейсике, и считал, что это круто :`(
     
  25. antonn

    antonn Активный пользователь

    С нами с:
    10 июн 2007
    Сообщения:
    2.996
    Симпатии:
    0
    У меня в пятом классе еще небыло бейсика, а уж мечтать о самостоятельном 3Д с матрицами.. =)
    Был дум, да и то там без матриц все рисуется