Построить и визуализировать ход лучей - ?

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

Вы уверены? Эх!


На форуме-то вас поправят. Это безобидно. Но зачем же это в книжку вставлять?
Re[nebrit]:
Цитата:

от:nebrit
Вы уверены? Эх!


На форуме-то вас поправят. Это безобидно. Но зачем же это в книжку вставлять?

Подробнее


Что вас смущает? До меня вы не знали, что скорость света в веществе не константна и зависит от частоты?

Еще раз повторю, в книге не ставится цель изложить половину учебника физики. Если я здесь упомяну фазовую и групповую скорость, то мне придется излагать теории еще на пять страниц текста, а это не нужно.
Для формирования общего представления о процессе, достаточно того, что я написал. Да, приходится прибегать к некоторому упрощению, но это упрощение вынужденное и корректное.
Re[Доктор Ктулху]:
Оптикад такие штуки делает на ура. В смысле симулирует различные оптические схемы. Правда и стОит не хило, но раньше по крайней мере были фрилансеры в сети....
Re[(NicolasARG) Николай Белокуров.]:
Автору требуется любая 2д "чертилка". Проще сказать, обыкновенный кульман.
Re[nebrit]:
Цитата:
от: nebrit
Автору требуется любая 2д "чертилка". Проще сказать, обыкновенный кульман.


Точнее, требуется чертилка или плагин к векторному редактору, которой можно скормить кривую безье, указать точку исхода лучей и угол "веера", а программа сама построит эти лучи до поверхности и отразит их от касательной в каждой точке падения лучей.
Re[Доктор Ктулху]:
Отразить - читай: отзеркалить. Отзеркалить относительно оси или плоскости. Сама программа не знает, относительно какой оси вам приспичило отзеркалить и требует эту ось указать. Сначала её надо нарисовать, а потом ткнуть в неё мышкой: "мол, вот от этой оси".
Сама программа не построит лучи до поверхности. Но позволить ввести команду: "продолжить до проекции" вашей поверхности.
Любая чертилка суть электронный кульман, на котором рисуют мышкой. И не более того. Думает и приказывает всегда чертёжник. Программа думать не умеет. Поэтому много из того, что хочется, делается "ручками", а не автоматически.

Ещё раз: вы строите в плоскости 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 или в нужжном направлени производить производную.
Вы не авторизованы

Пожалуйста, авторизуйтесь, чтоб иметь доступ к полному функционалу сайта

Обратная связь

Здесь вы можете оставить свои контактные данные, чтобы мы могли связаться с вами.