Автор: Lapp 22.01.2011 0:38
Цитата(ODVk @ 21.01.2011 19:19)
Пожалуйста, помогите нарисовать линзу, но чтобы радиус вводил пользователь (не получается соединить две дуги и чтобы они равны были по высоте, если радиусы разные(может быть я вообще не с того начал?;)))
в конечном счёте буду расчитывать ход лучей через объективы)
Я не понимаю. Две дуги, совпадающие на концах (да?),
равные по высоте, но
разных радиусов?
Боюсь, такого не может быть..
Или я что-то не так понял? рисунок от руки помог бы весьма..
Автор: TarasBer 22.01.2011 1:30
Эти дуги имеют разные угловые величины, а ты в коде пишешь им одинаковые (от 120 до 240).
Автор: TarasBer 22.01.2011 1:39
В общем для двояковыпуклой линзы для радиусов r1 и r2
координаты центров будут
x1 := Width div 2 + sqrt(sqr(r1)-sqr®) и
x2 := Width div 2 - sqrt(sqr(r2)-sqr®)
а углы будут +-arctg(R/x1) и 180+- arctg(R/x2);
Автор: TarasBer 22.01.2011 1:49
Для вогнуто-выпуклой так:
То же самое, но для x2 вместо минуса ставь плюс.
И для второго угла убери 180.
Для двояковогнутой надо координаты центра сдвинуть: Width div 2 - r1 и Width div 2 + r2 (тогда обе дуги коснутся в центре, чтот не касались - ещё подвинь).
Автор: мисс_граффити 24.01.2011 13:14
ODVk, и зачем ты это сделал?
Автор: -TarasBer- 24.01.2011 14:42
Опять небось боится, чтобы его училка запалила.
Пора сроки редактирования ужать.
Автор: volvo 24.01.2011 15:25
Куда уж ужимать-то? Раньше было 43200 минут = 30 суток. Сейчас ужали до 5760 = 4 суток. Что, запрещать после пары-тройки часов?
Автор: Lapp 25.01.2011 1:23
Цитата(volvo @ 24.01.2011 11:25)
Раньше было 43200 минут = 30 суток. Сейчас ужали до 5760 = 4 суток. Что, запрещать после пары-тройки часов?
Думаю, что да. Фактически, достаточно и одного часа на исправление замеченных ошибок. Остальное пусть исправляют словами "там-то читать то-то". Пока предлагаю сжать до 30 часов
И выпрашивать "ну исправь название!" ни к чему. Исправлять за них (если не лень) или удалять.
Такое мое мнение.
Добавлено через 2 мин. Кстати, именно поэтому я теперь чаще цитирую мессадж целиком.