Построить и визуализировать ход лучей - ?
Всего 35 сообщ.
|
Показаны 21 - 35
Re[Доктор Ктулху]:
это фсё ньютон 200 лет назад напесал. нада диаграму направлености скалярно промножить на диаграму расеения и фсё. нармальные пацаны по любому книжек нечитают ну канешна, нада там индекс поднимать и проч...
Re[Доктор Ктулху]:
от: Доктор Ктулху
Разница в том, что я отвечаю за свою квалификацию.
Вы уверены? Эх!

На форуме-то вас поправят. Это безобидно. Но зачем же это в книжку вставлять?
Re[nebrit]:
от:nebrit
Вы уверены? Эх!
На форуме-то вас поправят. Это безобидно. Но зачем же это в книжку вставлять?Подробнее
Что вас смущает? До меня вы не знали, что скорость света в веществе не константна и зависит от частоты?
Еще раз повторю, в книге не ставится цель изложить половину учебника физики. Если я здесь упомяну фазовую и групповую скорость, то мне придется излагать теории еще на пять страниц текста, а это не нужно.
Для формирования общего представления о процессе, достаточно того, что я написал. Да, приходится прибегать к некоторому упрощению, но это упрощение вынужденное и корректное.
Re[Доктор Ктулху]:
Re[Доктор Ктулху]:
Оптикад такие штуки делает на ура. В смысле симулирует различные оптические схемы. Правда и стОит не хило, но раньше по крайней мере были фрилансеры в сети....
Re[(NicolasARG) Николай Белокуров.]:
Автору требуется любая 2д "чертилка". Проще сказать, обыкновенный кульман.
Re[nebrit]:
от: nebrit
Автору требуется любая 2д "чертилка". Проще сказать, обыкновенный кульман.
Точнее, требуется чертилка или плагин к векторному редактору, которой можно скормить кривую безье, указать точку исхода лучей и угол "веера", а программа сама построит эти лучи до поверхности и отразит их от касательной в каждой точке падения лучей.
Re[Доктор Ктулху]:
Отразить - читай: отзеркалить. Отзеркалить относительно оси или плоскости. Сама программа не знает, относительно какой оси вам приспичило отзеркалить и требует эту ось указать. Сначала её надо нарисовать, а потом ткнуть в неё мышкой: "мол, вот от этой оси".
Сама программа не построит лучи до поверхности. Но позволить ввести команду: "продолжить до проекции" вашей поверхности.
Любая чертилка суть электронный кульман, на котором рисуют мышкой. И не более того. Думает и приказывает всегда чертёжник. Программа думать не умеет. Поэтому много из того, что хочется, делается "ручками", а не автоматически.
Ещё раз: вы строите в плоскости X0Y отрезок (луч, прямую). В этой же плоскости проекцию поверхности (отрезок, прямую). Из точки пересечения отражаемого объекта с проекцией плоскости строите нормаль. Вызываете команду "зеркало" с параметром "создать копию". Программа спрашивает: "укажите ось". Указываете. Получаете отзеркаленную копию вашего исходного луча. Так устроены абсолютно все чертёжные программы.

С Безье гемора больше. :D
Сама программа не построит лучи до поверхности. Но позволить ввести команду: "продолжить до проекции" вашей поверхности.
Любая чертилка суть электронный кульман, на котором рисуют мышкой. И не более того. Думает и приказывает всегда чертёжник. Программа думать не умеет. Поэтому много из того, что хочется, делается "ручками", а не автоматически.
Ещё раз: вы строите в плоскости X0Y отрезок (луч, прямую). В этой же плоскости проекцию поверхности (отрезок, прямую). Из точки пересечения отражаемого объекта с проекцией плоскости строите нормаль. Вызываете команду "зеркало" с параметром "создать копию". Программа спрашивает: "укажите ось". Указываете. Получаете отзеркаленную копию вашего исходного луча. Так устроены абсолютно все чертёжные программы.

С Безье гемора больше. :D
Re[nebrit]:
от:nebrit
Отразить - читай: отзеркалить. Отзеркалить относительно оси или плоскости. Сама программа не знает, относительно какой оси вам приспичило отзеркалить и требует эту ось указать. Сначала её надо нарисовать, а потом ткнуть в неё мышкой: "мол, вот от этой оси".
Сама программа не построит лучи до поверхности. Но позволить ввести команду: "продолжить до проекции" вашей поверхности.
Любая чертилка суть электронный кульман, на котором рисуют мышкой. И не более того. Думает и приказывает всегда чертёжник. Программа думать не умеет. Поэтому много из того, что хочется, делается "ручками", а не автоматически.
Ещё раз: вы строите в плоскости X0Y отрезок (луч, прямую). В этой же плоскости проекцию поверхности (отрезок, прямую). Из точки пересечения отражаемого объекта с проекцией плоскости строите нормаль. Вызываете команду "зеркало" с параметром "создать копию". Программа спрашивает: "укажите ось". Указываете. Получаете отзеркаленную копию вашего исходного луча. Так устроены абсолютно все чертёжные программы.Подробнее
Ага.
А надо так. Есть в документе кривая безье S. Есть точка А. Даю команду строить луч L из точки А под углом X до того момента, пока координата его конца не совпадет с множеством координат, лежащих на кривой S. По достижению кривой S построить в этой точке (А2) перпендикуляр (нормаль) или касательную к кривой, определить угол луча L к нормали или касательной (X2), начать новый луч L2 из точки А2 под углом (360-X2). Повторить F раз с шагом N градусов.
Разве это нельзя автоматизировать каким-то простейшим скриптом, например, встроенным скриптовым языком иллюстратора?
Re[Доктор Ктулху]:
Для начала вашу Безье (сплайн) следует аппроксимировать в множество отрезков. Иначе ничего на получится.
Наверное, скрипт написать можно. Кто умеет. Но гуляя по чертёжному форуму, можно заметить, что чем сложнее скрипт, тем больше в нём ошибок. Такой скрипт "лечить" придётся ещё с полгодика. Не так всё просто, как может показаться на первый взгляд.
То что вы задумали, куда быстрее изобразить карандашиком на бумаге. По старинке.
Наверное, скрипт написать можно. Кто умеет. Но гуляя по чертёжному форуму, можно заметить, что чем сложнее скрипт, тем больше в нём ошибок. Такой скрипт "лечить" придётся ещё с полгодика. Не так всё просто, как может показаться на первый взгляд.
То что вы задумали, куда быстрее изобразить карандашиком на бумаге. По старинке.
Re[nebrit]:
от:nebrit
Для начала вашу Безье (сплайн) следует аппроксимировать в множество отрезков. Иначе ничего на получится.
Наверное, скрипт написать можно. Кто умеет. Но гуляя по чертёжному форуму, можно заметить, что чем сложнее скрипт, тем больше в нём ошибок. Такой скрипт "лечить" придётся ещё с полгодика. Не так всё просто, как может показаться на первый взгляд.
То что вы задумали, куда быстрее изобразить карандашиком на бумаге. По старинке.Подробнее
Да в принципе у меня всех кривых-то будет - дуга и S-образная кривая (допустим, SIN(x) в пределах). Так что можно обойтись и без аппроксимации, касательная к кривой функции считается простым уравнением.
Вы представляете, сколько времени придется рисовать в векторном редакторе веер из дюжины отрезков и их отражений, причем как-то надо еще обеспечить правильные углы. И таких картинок будет несколько десятков!
Re[Доктор Ктулху]:
Ни касательная, ни нормаль не строятся из точки касания или пересечения.
А вы собираетесь плясать именно от точки пересечения.
А вы собираетесь плясать именно от точки пересечения.
Re[nebrit]:
от: nebrit
Ни касательная, ни нормаль не строятся из точки касания или пересечения.
А вы собираетесь плясать именно от точки пересечения.
Однако касательная есть линейная функция, и ничто не мешает ее построить, зная функцию кривой. Далее, имея общее решение двух уравнений в точке А2, построить из нее луч, перпендикулярный линейной функции касательной.
Re[Доктор Ктулху]:
Какие ещё уравнения? Имеем установленную на наш ком "чертилку", монитор, мышь (или планшет). Всё! Уравнения пусть программисты решают. Наше дело "драйвинги" рисовать.
Re[Доктор Ктулху]:
^%$ тупо абсолютно, на мат лабе пишиш
[x,y] = solve('y=sin(x)','y=2*x+10')
первая это уровнение кривой, вторая уровнение луча
ответ!!!
x =
-4.5101866654924700843030605447297
y =
.9796266690150598313938789105406
распечатываеш точки в виде svg или ps скрипта чтоб импортировать как вектор фсё.
мышом елозют и башкой думают токо лохи, для этого есть комп\ютор
на кароче скрипт развлекайсо
песать его ровно в 9000 раз быстрее чем длится фся эта трепотня. такими фиговинами щас в 21 веке, уже 3 летние дети сайты офармляют.
SVG ыввод можна сматреть прямо в браузере или импортить в векторный редактор
символичные описания функции позволяют поцтавлять весьма хитрые поверхности но если она неоднозначная надо акуратнее. в 2 прохода по x и по y или в нужжном направлени производить производную.
[x,y] = solve('y=sin(x)','y=2*x+10')
первая это уровнение кривой, вторая уровнение луча
ответ!!!
x =
-4.5101866654924700843030605447297
y =
.9796266690150598313938789105406
распечатываеш точки в виде svg или ps скрипта чтоб импортировать как вектор фсё.
мышом елозют и башкой думают токо лохи, для этого есть комп\ютор
на кароче скрипт развлекайсо
песать его ровно в 9000 раз быстрее чем длится фся эта трепотня. такими фиговинами щас в 21 веке, уже 3 летние дети сайты офармляют.
SVG ыввод можна сматреть прямо в браузере или импортить в векторный редактор
символичные описания функции позволяют поцтавлять весьма хитрые поверхности но если она неоднозначная надо акуратнее. в 2 прохода по x и по y или в нужжном направлени производить производную.
