eddy_em: (Default)
[personal profile] eddy_em
Итак, воодушевленный этой темой на ЛОРе и вдохновленный пользователем DR_SL, я продолжаю свои эксперименты с фрикадом. На сей раз я решил подправить для себя скрипты DR_SL'а для рисования линз.

Для того, чтобы линзы строились по оптическим правилам (т.е. знаки радиусов поверхностей были верными), да и вообще чтобы упростить немного алгоритм DR_SL'а, я с полтора часа просидел, рисуя различные варианты на листе бумаги. Еще довольно сложным было работать с чуждым мне языком python. При помощи многочисленных мануалов по фрикаду (скриптование, куда пихать файлы, немного сниппетов и т.п.) и гугола, я таки сделал это!
Помимо рисования одиночной линзы я добавил код для рисования набора линз. В результате вот такой вот код, введенный в консоль питона freecad'а:

import Lens
a=[[8,6,1,6,3], [10,-15,2.5,8,5], [-16,10,0.5,6,7], [-8,-6,0.5,4,3], [3,3,0.2,2,1], [0,0,0.1,1,0.1], [0,3,.3,1]]
Lens.makeLensBench(a)
b=[[-10,8,0.1,6], [8,16,0.5,6], [16,-9,1,6]]
Lens.makeLensBench(b,App.Vector(0,10,0))
Позволяет получить вот такую картинку:
Еще добавлю видео с этими линзами, а также еще одно видео, на котором видно, почему «лучше день потерять, зато потом за полчаса долететь».
Сам код можно посмотреть здесь. а здесь - взять mercurial'ом свежий репозиторий.
Если автор оригинала не возражает, код под лицензией WTFPL!

Date: 2012-06-15 02:02 pm (UTC)
From: [identity profile] Сергей Хотеев (from livejournal.com)
Супер , а Zemax не засудит за линзочку на желтом фоне)))

Date: 2012-06-15 03:26 pm (UTC)
From: [identity profile] eddy-em.livejournal.com
А Zemax так и не умеет рисовать. У него пострашнее получается.

Если добавить еще трассировку и импорт из земакса, можно будет вполне симпатично оптические схемы для презентаций (и не только) рисовать.
Ну и еще проблема - из земакса трудно сделать чертеж для изготовления оптики, он выдает каркасную страшную модель. А здесь все очень даже отлично.

April 2025

S M T W T F S
  1 23 45
67 89101112
13141516171819
20212223242526
27282930   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated May. 22nd, 2025 06:42 am
Powered by Dreamwidth Studios