Телескопы покупают здесь


A A A A Автор Тема: ISAAC - программа расчёта телескопа Ньютона или очередной "велосипед"  (Прочитано 59376 раз)

0 Пользователей и 2 Гостей просматривают эту тему.

Оффлайн ekvi

  • *****
  • Сообщений: 6 724
  • Благодарностей: 375
    • Сообщения от ekvi
Боюсь, что Delphi с этим не справится. Тут нужен C#, ну или Flash, специально заточенный под векторную графику.
Когда Дельфи уходила на пенсию, далее перечисленные ещё собирались в школу...
Во всякой программе интересна функциональность и удобство, а "презентабельность, деинтерлейсинг, градиентная полупрозрачная заливка  и пр." - украшения.

Оффлайн INPanАвтор темы

  • *****
  • Сообщений: 8 696
  • Благодарностей: 196
  • Игорь Панкратов
    • Сообщения от INPan
Согласен с Вами,  Владимир Ильич, всё это украшательства,  которые ни в коем случае не отменяют функциональность. Ту самую функциональность, котрую я описывал. И, кстати, есть те,  кто со мной согласился.

Оффлайн Мистер Хомяк

  • *****
  • Сообщений: 2 542
  • Благодарностей: 193
    • Сообщения от Мистер Хомяк
Думаю,  что копировать интерфейс из экселевского ISAAC-а не стоит.
Объясню почему.  В первых версиях прогаммы я снабдил каждую переменную в блоке исходных данных подробным описанием и комментариями, которые оказались бесполезными. Интерфейс пугал своей информационной перегруженностью.
По этой причине я и убрал всё это из последней версии,  оставил только буквы переменных, смысл которых можно понять,  отыскав эти переменные на схеме.
Но и этого на мой взгляд не достаточно.
Всё равно слишком много входных параметров. Но это минимум,  без которого к сожалению не возможно построить тот чертёж, который строит ISAAC. А поэтому все эти параметры нужны. Но некоторые из них не всегда известны. Чтобы получить  чертёж,  нужно долго вникать в схему,  изучать все эти буковки и принимать решение,  какую же цифирь забить в ячейку. Всё это каменный век товарищи!
У вас отличное виденье. Я не стал продумывать работу приложения по-новому, но эти неудобства и переизбыток информации тоже видел. Параметры можно легко отделить блоками обязательные от необязательных, либо сделать вкладки для простого и подробного расчета. Имеющиеся некоторые подсказки встроил для теста их базы хранения в csv, а так все равно подрихтовать собирался. Заложил возможность смены языка. 
Цитата
Далее хватаем мышкой ДЗ и начинаем его двигать вдоль оси. При этом наблюдаем как поднимается/опускаются  фокальная плоскость,  удлиняется/укорачивается труба телескопа. При этом,  когда ДЗ приближается к ГЗ на столько, что невиньетированное поле становится равным нулю, то ДЗ приблизить к главному зеркалу становится невозможно. Диаметр входного отверстия трубы, который можно менять например щелкнув мышкой по трубе и вращая колесико,  сделать меньше диаметра ГЗ тоже должно быть невозможно.
амплитуда подвижек на общей схеме будет настолько мала, что это будет неудобно двигать. Развил эту вашу отличную идею "слайдерами", которые двигать очень удобно.
И при всех этих манипуляциях должна меняться схема и размеры над стрелочками. А когда грубая настройка закончена,  уточняем некоторые размеры,  щелкаем мышкой на выбранном размере и в диалоговом окне видим текущий размер и вводим точный размер. Полученный чертёж печатаем целиком или частично, в том виде,  в котором мы видим его в окне.
Вот так на мой взгляд должна работать программа.
стрелочки и общую картинку в масштабе тоже как-нибудь можно будет, как и если время появится. Не назвал бы это сложным оопом. Скорее, рутина. Только не особо понимаю желание все это распечатать - думаю достаточно просто указанных размеров на самом мониторе.

С удобным изменением некоторых параметров:
http://s01.yapfiles.ru/files/1413125/isaak.swf
Deepsky 110/770ED, Onyx 80EDF, SW EQ5, SW AZ-GTi
Celestron Outland LX 10x42

Оффлайн ekvi

  • *****
  • Сообщений: 6 724
  • Благодарностей: 375
    • Сообщения от ekvi
идею "слайдерами", которые двигать очень удобно.
Движки со шкалой вместо текстовых редакторов - будет самое то. А справа - график виньетирования (в приложении - математика на паскале).

Оффлайн Мистер Хомяк

  • *****
  • Сообщений: 2 542
  • Благодарностей: 193
    • Сообщения от Мистер Хомяк
Можно и то, и то оставить. График думал в пустоту снизу справа вставить. Математика мне понадобится, спасибо.
Deepsky 110/770ED, Onyx 80EDF, SW EQ5, SW AZ-GTi
Celestron Outland LX 10x42

Оффлайн INPanАвтор темы

  • *****
  • Сообщений: 8 696
  • Благодарностей: 196
  • Игорь Панкратов
    • Сообщения от INPan
...С удобным изменением некоторых параметров:
http://s01.yapfiles.ru/files/1413125/isaak.swf
Во-о, уже лучше! Начинаю давать математику. Готовлю схему, формулы и пояснения.

Оффлайн INPanАвтор темы

  • *****
  • Сообщений: 8 696
  • Благодарностей: 196
  • Игорь Панкратов
    • Сообщения от INPan
Итак, вот схема, которую я буду изменять  и дополнять по мере развития проекта.
Эта схема только для наглядности и понимания того, какие ещё формулы понадобятся.

Оффлайн INPanАвтор темы

  • *****
  • Сообщений: 8 696
  • Благодарностей: 196
  • Игорь Панкратов
    • Сообщения от INPan
За основу берём следующее.
За точку отсчёта самой схемы принимаем точку O - вершину главного зеркала. Относительно этой точки строим весь чертёж. Изменяя положение точки O получаем возможность перемещать чертёж по экрану.
Строим ход отражённых лучей. Это Два сплайна MM1N1N и M1M2N2N1. Эти сплайны  с градиентной заливкой и полупрозрачные.

Оффлайн INPanАвтор темы

  • *****
  • Сообщений: 8 696
  • Благодарностей: 196
  • Игорь Панкратов
    • Сообщения от INPan
Для того, чтобы получить относительные координаты всех точек этих двух многоугольников нам понадобятся входные параметры и размер большой оси диагонального зеркала.
Входные параметры это:
F - фокусное расстояние ГЗ
D - диаметр ГЗ
d - диаметр невиньетированного поля зрения
H - вынос фокальной плоскости
a - большая ось ДЗ

Боль ось ДЗ состоит из двух полуосей a1 и a2. Они нам нужны для того, чтобы определить точку оффсета O1

Оффлайн INPanАвтор темы

  • *****
  • Сообщений: 8 696
  • Благодарностей: 196
  • Игорь Панкратов
    • Сообщения от INPan
Изначально ISAAC считал a1 и a2 вот по этим, выведенным мной формулам

Оффлайн INPanАвтор темы

  • *****
  • Сообщений: 8 696
  • Благодарностей: 196
  • Игорь Панкратов
    • Сообщения от INPan
Но, с математикой у меня туго, и мой домашний математик INPan младший посмотрел на эти "уродливые этажерки" и упростил всё это и получил вот такие вот формулы. Их можно повесить в рамочку на стенку. :)
 

Оффлайн INPanАвтор темы

  • *****
  • Сообщений: 8 696
  • Благодарностей: 196
  • Игорь Панкратов
    • Сообщения от INPan
А можно получить и общую формулу но при этом будет не известна точка оффсета, а это не допустимо

Оффлайн INPanАвтор темы

  • *****
  • Сообщений: 8 696
  • Благодарностей: 196
  • Игорь Панкратов
    • Сообщения от INPan
А также благодаря усилиям участников форума (за что им огромное спасибо) удалось вытащить из моих формул за знак равенства диаметр невинного поля d
Эта формула тоже очень понадобится.

Оффлайн Мистер Хомяк

  • *****
  • Сообщений: 2 542
  • Благодарностей: 193
    • Сообщения от Мистер Хомяк
Вся эта математика уже в проекте. В том числе просчет выноса(H) относительно размера диагоналки и поля. Иначе подвижка ползунка малой оси диагоналки не умела бы менять положение двух верхних. Относительно графики точное описание реализации в проекте излишне - все равно это будет писаться относительно местных реалий в коде.
Мне достаточно идеи и математики. На текущем этапе осталось встроить расчет виньетирования.
Вот когда доберусь до всего этого точно не знаю.
Deepsky 110/770ED, Onyx 80EDF, SW EQ5, SW AZ-GTi
Celestron Outland LX 10x42

Оффлайн GraY25

  • *****
  • Сообщений: 5 963
  • Благодарностей: 1018
  • Дифракционный_беспредел [____ Сергей Иванов ____]
    • Сообщения от GraY25
Подскажите кто-нибудь, почему при уменьшении параметра d (линейный размер поля), я получаю увеличение виньетирования в расчёте, а не наоборот?
• С14 HD [0.96] + HS F/1.9 @ CGE Pro
• С8 HD   [0.93] + HS F/2.1 @ ZWO AM5
• TS 152/900, WO 98FLT
Sun Hα  MoonAstroSeeing Bot

Оффлайн INPanАвтор темы

  • *****
  • Сообщений: 8 696
  • Благодарностей: 196
  • Игорь Панкратов
    • Сообщения от INPan
Подскажите кто-нибудь, почему при уменьшении параметра d (линейный размер поля), я получаю увеличение виньетирования в расчёте, а не наоборот?
Тааакс, странно, ща поглядим...  :-[

Оффлайн INPanАвтор темы

  • *****
  • Сообщений: 8 696
  • Благодарностей: 196
  • Игорь Панкратов
    • Сообщения от INPan
А-а, ну ни чего странного, сам затупил! :)
Дело в том, что в ISAAC-е размеры диагоналки привязаны к диаметру невинного поля. Обратите внимание, при уменьшении d уменьшается и малая ось ДЗ. При этом dmax (диаметр полевой диафрагмы равнозрачкового окуляра) остаётся неизменным, отсюда и растёт виньетирование.
Это происходит даже тогда, когда Вы задали параметры готового комплекта оптики (справа от основного блока даннных). Они задаются для того, чтобы в самом начале проекта была возможность посчитать d, имея готовые зеркала, а дальше уже рулите данными в основном блоке, но при этом естественно будут меняться размеры ДЗ, ведь d зависит от b и наоборот.
« Последнее редактирование: 08 Дек 2016 [05:47:50] от INPan »

Оффлайн Мистер Хомяк

  • *****
  • Сообщений: 2 542
  • Благодарностей: 193
    • Сообщения от Мистер Хомяк
Давно меня не было и работу на некотором этапе пришлось оставить. Когда и если вообще продолжу неясно, а костяк приложения между тем сильно доработан. На первой вкладке чертеж перерисовывается относительно, чтобы выглядеть наглядно. На второй рисуется абсолютно реальный чертеж с выбором масштаба и сохранением его в виде файла. Даже профиль гз реально параболический. Осторожно по кнопке save png не всегда будет сохраняться и может тупить - слишком огромный генерится файл. Не перегибайте с масштабом. За итоговую точность чертежа не ручаюсь - "на бумаге" не проверял. Какие-либо предложения доработок увы неуместны - было бы время не забросил бы.

Вот ссылочка на то, что было сделано http://www.yapfiles.ru/files/1612691/isaak.swf
У меня флешка отображается почему-то только после захода и рефреша.
Deepsky 110/770ED, Onyx 80EDF, SW EQ5, SW AZ-GTi
Celestron Outland LX 10x42

Оффлайн INPanАвтор темы

  • *****
  • Сообщений: 8 696
  • Благодарностей: 196
  • Игорь Панкратов
    • Сообщения от INPan
Вот это дело! Отлично! Только чертёжик бы развернуть по гризонтали.

Оффлайн INPanАвтор темы

  • *****
  • Сообщений: 8 696
  • Благодарностей: 196
  • Игорь Панкратов
    • Сообщения от INPan
И ещё вопрос, а что с диаметром трубы? Он считается?