Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!

Я не уверен, что описанная схема содержит что-либо новое в визуализации трубок, и не знаю, какие методы для их построения используются в настоящих «взрослых» графических системах — возможно, подобные, а возможно — в корне отличающиеся.Я (совершенно случайно) знаю — в корне отличаются, потому что используют кватернионы, а иногда даже дуальные кватернионы — чтобы заодно и скорость знать без дополнительных вычислений.
чтобы заодно и скорость знать без дополнительных вычислений
Я (совершенно случайно) знаю — в корне отличаются, потому что используют кватернионы, а иногда даже дуальные кватернионы
Скорость чего?Скорость изменения функции, производную то бишь. Также можно интерпретировать как как касательную в 3D-пространстве.
Вам это известно сразу обо всех системах, которые занимаются подобными построениями? Неужели в них во всех методы одинаковые?Ну в более простом случае можно матрицами обойтись. В любом случае, описывать кривые параметрически — это детский сад, на этом далеко не уедешь.
Скорость изменения функции, производную то бишь. Также можно интерпретировать как как касательную в 3D-пространстве
В любом случае, описывать кривые параметрически — это детский сад, на этом далеко не уедешь.
Хорошо было бы, чтобы вы указывали мне

«это детский сад», «это несерьезные графики», «это не взрослая математика», «каждый может такое написАть» и «я могу намного круче». Согласитесь, это как-то по-подростковому.Конечно соглашусь, что понты — это по-подростковому. Однако это не отменяет ничего из Вами перечисленного — графики действительно несерьёзные и любой программист действительно такое может написать, и подобных публикаций на хабре навалом, не только моих.
Предъявите их, пожалуйста, без этого все ваши суждения сильно смахивают на детский лепет и следствие вашего уязвленного самолюбия.Пусть будет детский лепет и уязвлённое самолюбие — мне не жалко) Как я уже говорил, моё приложение решает одно-единственное уравнение — волновое (в 2D), оно захардкожено и оптимизировано. Отражающие поверхности задаются либо мышкой, либо прямо в коде. Можно было засунуть сюда и импорт xml, и парсер формул — но у меня сейчас есть более приоритетные (и интересные) задачи.

Можно было засунуть сюда и импорт xml, и парсер формул — но у меня сейчас есть более приоритетные (и интересные) задачи.Звучит так, будто парсеры вы уже не раз писАли (я написАл только один, и было это 30 лет назад, ваш новый, тот, который вы напишите, когда закончатся интересные задачи, наверняка будет более быстрым при выполнении, это ж сколько лет прошло и как наука вперед шагнула!). Но до того, как будет готов ваш парсер — умоляю вас, не разбрасывайтесь заявлениями о несерьезных графиках и о том, как вы можете круче. Будет готов парсер — можно будет его обсудить, и вы сможете построить настоящие серьезные графики с кучей антиалиасинга. Я надеюсь, что смогу таки увидеть, как же надо программировать графику по-настоящему.

Мне комплексные числа не понадобилисьНаверно потому что Вам не доводилось считать полиномы Чебышева произвольного порядка.
какое внутренне представление для выражений вы используете?Дерево. А каждый узел у него — это объект унаследованного класса от IFunction с переопределённым методом Process(), который в зависимости от класса реализует конкретную функцию — sin(x), cos(x), add(x,y) и т.д. Считается рекурсивно. Хотя более правильно было бы преобразовать его в стек с обратной польской записью.
Наверно потому что Вам не доводилось считать полиномы Чебышева произвольного порядка.

Так а почему вы их за пределами (-1;1) не рисуете-то?

Я говорил о полиномах произвольной степени, когда эта самая степень передаётся в качестве параметра, и вычисляемых посредством формулы cos(n·arccos(x))Так не пользуйтесь этой формулой. Я же набросал вместе с графиком универсальную схему для вычисления значений полиномов, повторю, думаю, что нормальные системы пользуются чем-то подобным. Это уже не говоря о временных затратах на вычисление, для прямых и обратных тригонометрических функций они должны быть немаленькими.
Про схему Горнера спасибо я знаю — вот только ошибку вычисления она увеличивает, а не уменьшает.Удивился этому факту, сам не проверял, решил поискать, нашел это
Резюмируя сказанное, замечу, что вычисление одного или нескольких значений полинома бесспорно нужно проводить с использованием схемы Горнера.Ну, может и правда нужно вычислять значения полиномов при помощи возведения в степень и сложения. Не знаю…
Но вы можете и имеете право поставить мне минус в карму.Ха-ха-ха, я таким не занимаюсь, это можно применить только к тем, что поддерживает агрессию против других стран.
Извиняться не вижу причин, к тому же вы и сами особую учтивость продемонстрировать не смоглиЧеловек, очень громко заявляющий: «Я крут, а вы все ничтожны» (согласитесь, именно такой посыл содержали ваши первые комментарии), конечно же, должен быть готов к тому, что его попытаются убедить в обратном. В процессе дискуссии выяснилось, что у вас имеются некоторые пробелы в знаниях и умениях, поэтому ничего зазорного нет в том, чтобы написать: «Я был неправ, я не настолько крут, как мне казалось, а вы, мои оппоненты, не настолько ничтожны».
А вот у меня в комментах был один плюсик, а потом исчез, неужели вы постарались?Пусть это будет интрига — голосование потому и анонимное.
Человек, очень громко заявляющий: «Я крут, а вы все ничтожны» (согласитесь, именно такой посыл содержали ваши первые комментарии), конечно же, должен быть готов к тому, что его попытаются убедить в обратном. В процессе дискуссии выяснилось, что у вас имеются некоторые пробелы в знаниях и уменияхА я помню всё прямо наоборот — только не обладаю достаточным самомнением для того, чтобы требовать извинений.
Пусть это будет интрига — голосование потому и анонимное.Двойное ха-ха-ха! Уж нарушу правила и поставлю смайл ;-)
А я помню всё прямо наоборот — только не обладаю достаточным самомнением для того, чтобы требовать извинений.Знаете, мой университетский преподаватель приводил такой пример использования слова «наоборот»: «На этой картине изображено море, а на той — наоборот, собака». Ваш «наоборот» какого-то такого свойства
давно уже есть у меня свой парсер, и даже комплексные числа поддерживает.Так это же превосходно! Значит, вы засунете его туда, куда собирались, относительно быстро, а я скоро смогу поучится правильному программированию графиков!


Программисты из Wolfram-a и MathCad-a тоже так считают почему-то.
Ну а я так-то именно программированием на жизнь зарабатываю, если чё.



Анимация, правда, доступна только в приложении — потому что 20 лет назад никакого интернета у меня не было для их публикации.? Вы хотите сказать, что картинка нарисована не только что?
j:=0,2*pi,20;
Cosh(2000) конечно же вызовет переполнение, потому что выходит за пределы double.Ну, мне, как человеку, который писал нечто подобное, хоть и вызывающее у вас кучу нареканий, интересно, как ваша программа реагирует на переполнения.
Я не совсем понимаю, к чему эти вопросы.Вопросы эти к тому, что ваша неумная безапелляционность, ваш менторский тон и ваши претензии на обладание истиной в последней инстанции вызывают немедленное желание очень подробно познакомиться с вашим программистским творчеством. В нём есть что-то полезное и интересное, но и мусор присутствует тоже, как, впрочем, у всех. Это можно спокойно обсуждать, а можно реагировать в вашей манере. Повторю, не я начал дискуссию в стиле «вы все дураки»
Наоборот, я позиционирую себя как не-математик, и с математиками себя никак не ассоциирую
Вот тогда это будет математика по-взрослому — которая заодно и покажет, зачем придумали дуальные кватернионы.

Ну наверное затем, что программисты должны решать реальные задачи, а не цитировать авторов отдельно взятых дифференциальных уравнений
Но это тоже довольно банально — интереснее, что там будет на более высоких размерностяхНовые размерности как добавлять будете — неужели прямо в код?
Как-то вы замысловато изъясняетесь, и не поймешь сразу, что имеется в виду.Ну ок, давайте перефразирую. Дифференциальные уравнения — безусловно интересная тема а я в ней полный профан. Однако для инженера более важно уметь их составлять, а не решать, и уж тем более не зазубривать наизусть именованные решения — потому что в современном мире существуют системы компьютерной алгебры, которые справляются с этим намного лучше отдельно взятого человека. Равно как и с дифференцированием/интегрированием и упрощением, хотя для последнего, конечно, ручная доработка напильником всё ещё требуется.
Я уже упоминал о самой вашей интересной публикации — какой в ней практический смысл? Но она таки интересная!Спасибо за лестный отзыв — но для меня на самом деле всё наоборот, она наиболее банальная из всех, и писать по этой причине было тяжело. Я взялся за неё только потому, что меня достало засилье статей о магическом тождестве Эйлера, а также полное непонимание у масс того, что с этими самыми комплексными числами можно делать. Даже признанный математиками Пафнутий Чебышев не смог свои полиномы и механизмы в комплексном виде описать — что уж там про простых смертных говорить. И практический смысл есть вполне — дизайн ценных бумаг или стилизации под них.
Новые размерности как добавлять будете — неужели прямо в код?Ну а как иначе-то? Единственное, что я не стал бы октонионы и седенионы как отдельные классы писать — а сразу бы процедура Кэли-Диксона реализовал бы (ну или хотя бы попробовал).
Трубки, шланги, кабели и провода — не наскучат программисту никогда