Математика в программировании
| |
Strateg | Дата: Четверг, 10 Марта 2011, 12:38 | Сообщение # 1 |
заслуженный участник
Сейчас нет на сайте
| Всем, доброе время суток. Вот хотел спросить у вас, какая математика используется в программировании? Так как хочу основательно заняться программированием, а математику не очень знаю!!! Если можно то поподробнее!
DiamonD - мой сайт...
|
|
| |
ezhickovich | Дата: Четверг, 10 Марта 2011, 13:03 | Сообщение # 2 |
[Великий и могучий хозяинъ]
Сейчас нет на сайте
| Мне кажется, что само часто встречаются задачи дискретной математики, по крайней мере у меня так...
Я: О великий повелитель этой ничтожной вселенной - сокращённо ЁЖ!
|
|
| |
Undead | Дата: Четверг, 10 Марта 2011, 13:05 | Сообщение # 3 |
NeoAxis User
Сейчас нет на сайте
| Сначало школьный курс алгебры и геометрии освой, затем переходи к вышке. Программирование и математика неразрывно связаны, так что без знаний хотя бы школьного курса далеко не уйдёшь.
Вcем зла.
|
|
| |
KpoJIuk | Дата: Четверг, 10 Марта 2011, 13:47 | Сообщение # 4 |
In C++ We Trust
Сейчас нет на сайте
| если собираешься заняться программированием игр, то точно понадобится геометрия (тригонометрия), и при том в огромных количествах. начиная с самой начальной - школьной и заканчивая... а вот сверху она не ограничена, чем больше знаешь, тем тебе же лучше. а вообще все зависит от поставленной задачи, но программировать без знания школьного курса просто невозможно, что уже и сказал Undead
|
|
| |
ezhickovich | Дата: Четверг, 10 Марта 2011, 13:55 | Сообщение # 5 |
[Великий и могучий хозяинъ]
Сейчас нет на сайте
| Да и просто школьного курса может оказаться мало...
Я: О великий повелитель этой ничтожной вселенной - сокращённо ЁЖ!
|
|
| |
Flameberge | Дата: Четверг, 10 Марта 2011, 14:04 | Сообщение # 6 |
заслуженный участник
Сейчас нет на сайте
| имхо нужно знание дискретной математики кое-что из школьного материала. в 99% случаев достаточно понимание всего остального (например не надо уметь высчитывать в голове интеграл (coth^(2ex^tan(pi)) (pi/17))/sin (pi/8) чтобы это сделать в программе. достаточно понимать что оно такое и через какие функции ей надо пройти. высокий матан имхо не нужен. для игр это тоже зависит от направления, например для ИИ и поведения(Behavior) тригонометрия мало важна, как и для сетевиков(делающих серверную часть) а для тех кто возится с физикой, рендером и остальными красивыми штучками нужно!!1
|
|
| |
KpoJIuk | Дата: Четверг, 10 Марта 2011, 14:04 | Сообщение # 7 |
In C++ We Trust
Сейчас нет на сайте
| ezhickovich, не просто может оказаться, а обязательно окажется
|
|
| |
noTformaT | Дата: Четверг, 10 Марта 2011, 14:05 | Сообщение # 8 |
Ukrainian independent game developer
Сейчас нет на сайте
| Quote (Strateg) Вот хотел спросить у вас, какая математика используется в программировании? арифметика, элементарная алгебра элементарная геометрия: планиметрия и стереометрия теория элементарных функций и элементы анализа Ну и немного разделов дискретки, основы Больше тебе ничего не понадобится
@noTformaT
|
|
| |
ТяжолыйМолот | Дата: Четверг, 10 Марта 2011, 14:35 | Сообщение # 9 |
Создатель Fly-portala
Сейчас нет на сайте
| Strateg, ты хоть школу закончил?
|
|
| |
Stas96 | Дата: Четверг, 10 Марта 2011, 17:02 | Сообщение # 10 |
Programmer and Game Designer
Сейчас нет на сайте
| Strateg, Математика - практически везде нужна.Она развевает мозги,заставляет логически думать и т.д. А в программировании, она очень сильно нужна,без нее ты дальше "Hello World" не уйдешь..... Мне кажется, школьного курса будет достаточно...
Сообщение отредактировал Stas96 - Четверг, 10 Марта 2011, 18:28 |
|
| |
Strateg | Дата: Четверг, 10 Марта 2011, 18:31 | Сообщение # 11 |
заслуженный участник
Сейчас нет на сайте
| ТяжолыйМолот, Самым умным не надо быть, и острить тоже не стоит! Задан конкретный вопрос. Не знаешь что сказать? ни говори ни чего!
DiamonD - мой сайт...
|
|
| |
Женек | Дата: Пятница, 11 Марта 2011, 09:18 | Сообщение # 12 |
частый гость
Сейчас нет на сайте
| Quote (ezhickovich) дискретной математики не фига себе какими мы тут страшными словами бросаемся
|
|
| |
Hale_32bit | Дата: Пятница, 11 Марта 2011, 09:34 | Сообщение # 13 |
частый гость
Сейчас нет на сайте
| Шкоьный курс (математика и геометрия) + Линейная алгебра. Линейная алгебра - очень часто пригождается.
|
|
| |
LunarPixel | Дата: Пятница, 11 Марта 2011, 09:50 | Сообщение # 14 |
старожил
Сейчас нет на сайте
| Честно вам скажу... работаю программистом уже несколько лет... математика (а точнее математический анализ) пригодился всего один раз.. а так, всё что изучал не использовал вообще Имею в виду что то глобальное... Само собой, что хотя бы школьный курс необходим обязательно... А так всё что я изучал, когда учился, это: - Высшая математика - Алгебра - Теория вероятности и мат. статистика - Геометрия на плоскости и в пространстве - Дискретная математика - Математическая логика - Математический анализ Было ещё где то три предмета... но не помню уже название
Сообщение отредактировал LunarPixel - Пятница, 11 Марта 2011, 09:52 |
|
| |
noTformaT | Дата: Пятница, 11 Марта 2011, 11:03 | Сообщение # 15 |
Ukrainian independent game developer
Сейчас нет на сайте
| Quote (LunarPixel) Честно вам скажу... работаю программистом уже несколько лет... математика (а точнее математический анализ) пригодился всего один раз 100% быдло кодер, или работаешь непонятно над чем (пишешь хелло ворлды, только там нет математики) Я тоже работаю программистом, но математику я использую практически каждый день, начиная от написания твинеров, различный временных и графических и геометрических эффектов для своей игры, и написанием сложных вычислений на работе, про дискретку и геометрию я молчу, без них в игре никак
@noTformaT
Сообщение отредактировал noTformaT - Пятница, 11 Марта 2011, 11:05 |
|
| |
Matou | Дата: Пятница, 11 Марта 2011, 11:31 | Сообщение # 16 |
Исходный коТ
Сейчас нет на сайте
| Quote (LunarPixel) Честно вам скажу... работаю программистом уже несколько лет... математика (а точнее математический анализ) пригодился всего один раз.. а так, всё что изучал не использовал вообще Графику хоть раз программировал?
Сообщение отредактировал Matou - Пятница, 11 Марта 2011, 11:32 |
|
| |
Archido | Дата: Пятница, 11 Марта 2011, 11:49 | Сообщение # 17 |
Сэнсэй
Сейчас нет на сайте
| Наверное от задач зависит. Где-то практически не нужно(БД, скажем), где-то нужно прилично (геймдев наш родной). 1) В геймдеве костяк составляют - геометрия (плоскости, расстояния, пересечения, etc) и линейная алгебра (вектора, матрицы, и все что с ними связано). 2) Чуть менее значимее - дескретная (множества, графы\деревья, частично "автоматы", etc) и вычислительная математики (интерполяция, сплайны, итерационные методы вычисления), сюда же можно приплести комбинаторику. 3) Матан, очень горячо любим всеми студентами (диффуры в основном). Но опять таки есть зависимость от требуемой работы, но как правило первый пункт обязан быть всегда. Как-то часто в последнее время на форумах всплывают темы про "ненадобность метаматики программисту", поэтому чуток опишу, что и где любят использовать. Про (1) смысла большого нет говорить, ибо очевидно (положение в пространстве, проекции, определения столкновений, frustum culling, и еще 100500 примеров). (2) Дискретка - часто AI (поиск пути в графе, конечные автоматы, etc), это в основном. Деревья\графы конечно (и еще некоторые вещи), много где используются, но там прослеживается большая связь со "структурами и алгоритмами", где тонны этих алгоритмов основаны на дискретке, но не являются ее в чистом виде. Т.е их (алгоритмы) вполне можно юзать и без знания дискретной математики. (2) Выч. мат - в основном методы интерполяции. "Блендинг" анимаций например, когда одна анимация плавно "перетекает" в другую, самая настоящая интерполяция. Так же при работе с сетью, через определенный интервал приходят координаты объекта, и на основе некоторых данных (скорость, направление, прошедшая траектория) требуется плавно переместить объект из одной точки в другую. (3) Матан не так часто используется, в основном при моделировании (физика(с нуля, без движков), графические "эффекты"). Например, очень популярная весч - "Уравнения Навье — Стокса" ("система дифференциальных уравнений в частных производных"), применяется при моделировании жидкости (эффект "текучести"). И т.д. Это можно сказать единицы примеров, то что сейча в голову пришло . Программирование графики в чистом виде - это тонны математики и алгоритмов и никак иначе.
C++ - он особенный. С помощью него можно не только выстрелить себе в ногу, но и повеситься в пустой комнате:)
|
|
| |
noTformaT | Дата: Пятница, 11 Марта 2011, 11:52 | Сообщение # 18 |
Ukrainian independent game developer
Сейчас нет на сайте
| Quote (Archido) Где-то практически не нужно(БД, скажем) кеширование данных и работа с кластерами не требует математики?
@noTformaT
|
|
| |
Matou | Дата: Пятница, 11 Марта 2011, 12:01 | Сообщение # 19 |
Исходный коТ
Сейчас нет на сайте
| А вот мне еще интересно вдруг-внезапно стало, допустим я хочу смоделировать какую-нить простую физ-модельку вроде этой Мне какбэ известны масса тележки ее начальная скорость, а так же массы шариков и коэффициенты упругости и затухания в нитях(ну это пружинки какбэ просто лень вырисовывать). Ну плюс еще известны первоначальные положения шариков и длины нитей. В общем все известно осталось смоделировать все это и отобразить на экране. Ну это какбэ введение, теперь суть. Чтобы составить систему диффиренциальных уравнений мне нужно знать теормех да и то не шибко сильно. Чтобы эту систему уравнений решить мне нужно знать один из способов ее решения на компьютере (численных методов) коих много конечно, но там есть и очень простые. Чтобы отобразить все на экране надо знать один из графических API и то по основам. Ну и еще чтобы все-таки анимашка была надо с таймером поковыряться. В общем прочитал пару инструкций, вбил код и вуаля. А теперь вопрос, зачем мне знать математику?
Сообщение отредактировал Matou - Пятница, 11 Марта 2011, 12:19 |
|
| |
Archido | Дата: Пятница, 11 Марта 2011, 12:06 | Сообщение # 20 |
Сэнсэй
Сейчас нет на сайте
| Quote (noTformaT) кеширование данных и работа с кластерами не требует математики? Минимально, при чем там больше связи с шаблонными алгоритмами, которые быстро нагугливаются и подстраиваются "под себя", чтобы "норм работало". Большинство так и поступит, да и наверное правильно сделает P.S. И в первом своем посте я написал практически (!), а не "вообще" не используется. Разные вещи однако.
C++ - он особенный. С помощью него можно не только выстрелить себе в ногу, но и повеситься в пустой комнате:)
|
|
| |
|