Как сделать дугу в visio
Как сделать дугу в visio
Опытный
Профиль
Группа: Участник
Сообщений: 251
Регистрация: 10.12.2006
Репутация: нет
Всего: нет
В Visio дуга задаётся следующими параметрами (ниже прикреплён рисунок):
Отношение большого диаметра эллипса к малому.
Т.е. у нас имеются:
1) 3 точки дуги (начальная P1, конечная P2 и точка (A;B) на дуге).
2) Угол наклона большого диаметра/полуоси эллипса, частью которого является дуга.
3) Отношение большого диаметра/полуоси эллипса к малому
У нас известна точка (A;B), через которую проходит прямая (control_1, control_2) и угол наклона этой прямой. Поскольку обе точки control_1 и control_2 равноудалены от точки (A;B), то достаточно найти это расстояние.
Т.е. задача формулируется следующим образом:
Найти это расстояние, зная отношение большого диаметра эллипса (частью которого является дуга) к малому.
Известно также, что при приближении этого расстояния к 0 (точки control_1 и control_2 совмещаем с точкой (A;B)) отношение диаметров эллипса приближается к 1, т.е. получаем окружность.
Присоединённый файл ( Кол-во скачиваний: 22 ) cp1.jpg 7,88 Kb
Опытный
Профиль
Группа: Участник
Сообщений: 251
Регистрация: 10.12.2006
Репутация: нет
Всего: нет
Опытный
Профиль
Группа: Участник
Сообщений: 251
Регистрация: 10.12.2006
Репутация: нет
Всего: нет
Эксперт
Профиль
Группа: Комодератор
Сообщений: 3334
Регистрация: 11.1.2003
Где: Киев
Репутация: 33
Всего: 110
Опытный
Профиль
Группа: Участник
Сообщений: 251
Регистрация: 10.12.2006
Репутация: нет
Всего: нет
Цитата |
у кривой Безье координаты изменяются полиномиально так что с помощью неё невозможно нарисовать дугу эллипса |
Уже ближе.
Тогда задача заключается в следующем:
Т.е. у нас имеются:
1) 3 точки дуги (начальная P1, конечная P2 и точка (A;B) на дуге).
2) Угол наклона большого диаметра/полуоси эллипса, частью которого является дуга.
3) Отношение большого диаметра/полуоси эллипса к малому
Нужно найти «обычные» параметры дуги:
1) Прямоугольник, в который вписан эллипс.
2) Начальный и конечный углы эллипса.
3) Угол наклона эллипса к горизонтали.
Придётся лезть в математику по уши.
Эксперт
Профиль
Группа: Комодератор
Сообщений: 3334
Регистрация: 11.1.2003
Где: Киев
Репутация: 33
Всего: 110
на, например, так:
1. поворачиваем на известный угол так, чтобы большая полуось эллипса была горизонтальна
2. сжимаем по горизонтали так, чтобы большая полуось стала равна малой, получаем окружность
3. по трём точкам строим окружность
4. делаем преобразования в обратную сторону, получаем эллипс с известными характеристиками
Цитата(CyraxZ @ 2.5.2007, 21:22 |
Угол наклона большого диаметра/полуоси эллипса, частью которого является дуга |
Опытный
Профиль
Группа: Участник
Сообщений: 251
Регистрация: 10.12.2006
Репутация: нет
Всего: нет
Идея отличная.
Но т.к. мне нужна дуга с типичными параметрами (прямоугольник, 2 угла), то на этапе построения окружности всё равно придётся вычислять эти параметры дуги, ограниченной тремя точками. В любом случае с окружностью это сделать гораздо проще.
Собственно, угол наклона эллипса и есть угол наклона главной полуоси.
Эксперт
Профиль
Группа: Комодератор
Сообщений: 3334
Регистрация: 11.1.2003
Где: Киев
Репутация: 33
Всего: 110
Опытный
Профиль
Группа: Участник
Сообщений: 251
Регистрация: 10.12.2006
Репутация: нет
Всего: нет
Нужны параметры не лучей, а параметры искомой дуги (в число которых и входят эти 2 угла). Параметры круглой дуги вычислить несложно.
В Framework’е имеется метод DrawArc(. ), который принимает прямоугольник (в который вписан эллипс, частью которого является выводимая дуга) и два угла, ограничивающих сегмент эллипса (дугу).
(в WinAPI вместо углов передаются точки лучей)
На этот метод я и ориентируюсь.
Эксперт
Профиль
Группа: Комодератор
Сообщений: 3334
Регистрация: 11.1.2003
Где: Киев
Репутация: 33
Всего: 110
Опытный
Профиль
Группа: Участник
Сообщений: 251
Регистрация: 10.12.2006
Репутация: нет
Всего: нет
В общем-то проблема пока решена (теоретически).
Практикой буду заниматься на работе. в понедельник. (а там всё может быть..)
Форум «Алгоритмы» предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.
[ Время генерации скрипта: 0.1254 ] [ Использовано запросов: 20 ] [ GZIP включён ] Инструменты рисования в MS VisioВ редакторе схем MS Visio хватает предустановленных наборов блоков для составления схем любой сложности. Однако иногда возникает потребность в том, чтобы изобразить на листе то-то этакое и тогда на помощь приходят… инструменты рисования. Учитывая тот факт, что MS Visio вообще-то для рисования не предназначен, выбор инструментов весьма ограничен, да и их возможности урезаны по сравнению со стандартными автофигурами (нет возможности связи их с помощью соединительных линий), но в некоторых случаях, без них не обойтись. Инструменты рисования в MS Visio Рисуем в MS VisioИнструменты рисования в MS Visio доступны на вкладке “Главная” в группе “Сервис”. К нашим услугам шесть типов инструментов. Один и тот же эллипс – но справа в “классической” форме, а слева – нарисованный с удерживанием Shift Прямоугольник и Эллипс позволяют быстро чертить одноименные фигуры. Выберите соответствующий инструмент, щелкните на лист левой кнопкой мыши, зажмите левую кнопку и протяните до требуемого размера. Если при этом удерживать “Shift” на клавиатуре, фигура получится равной по ширине и высоте, то есть вместо эллипса и прямоугольника у нас получится круг и квадрат. Варианты кривых и прямых линий нарисованных в MS Visio Инструменты Линия и Кривая позволяют быстро соединить две точки прямой линией или дугой. Выберите инструмент и щелкните мышью в начальной точке, зажмите левую клавишу мыши и, не отпуская ее, проведите линию. Если выбран инструмент Кривая, то изгиб получающейся дуги будет задан автоматически. А это хаотическое безумие – следствие применение “ломаной линии” в MS Visio Инструменты Ломаная и Карандаш служат для построения линий сложной формы. Работают они по тому же принципу, что описан выше. Особенности применения инструментов рисования в MS VisioЕсли элипс и прямоугольник создают по-умолчанию замкнутые фигуры, то все остальные инструменты группы рисования, создают по умолчанию элементы заливка которых невозможна. Тем не менее, при помощи инструментов Ломаная и Карандаш вы можете построить объект с замкнутым контуром: нужно лишь, чтобы начальная и конечная точка этого объекта совпадали. Сложная “клякса” нарисованная инструментом “ломаная линия” с закрытым контуром и заливкой. Обратите внимание на маркеры – кружки на контуре Форму сложных линий, нарисованных при помощи инструментов Ломаная и Карандаш можно изменять уже после того как рисование завершено. Выделив объект мышью, вы увидите на его линиях набор маркеров – небольших кружков. Щелкните на любом Маркере, чтобы выделить его, и переместите при помощи мыши. Перемещая маркер, соединяющий два отрезка, вы можете сместить вершину линии. Маркеры, расположенные на серединах отрезков, доступны только при работе с инструментом Карандаш. Перемещая такой маркер, вы сможете преобразовать прямой отрезок в участок окружности и наоборот. Уроки по работе с Microsoft Visio. Второе занятиеВ этом уроке продолжим рассматривать работу с фигурами схемы. Изучим параметры фигур, способы связывания фигур друг с другом в схеме, размещения относительно друг друга и страницы, а также работа с группами фигур. Стандартные фигурыФигуры, которые могут использоваться при построении большинства схем, расположены в категории Общие, к ним относятся: блоки (см. Рис. 2.1); простые фигуры (см. Рис. 2.2); рельефные блоки (см. Рис. 2.3); трехмерные блоки (см. Рис. 2.4). Категория Дополнительные решения Visio включает в себя наборы фигур, содержащие заголовки, графические примитивы, декоративные элементы, значки, размеры, соединительные линии и др. Пользовательские фигурыПользовательские фигуры создаются при помощи инструментов: прямоугольник; эллипс; линия; полилиния; дуга; карандаш (см.Рис. 2.5). Инструменты находятся на вкладке Главная в группе Сервис. Для рисования пользовательской фигуры выберите нужный инструмент, прижмите левую клавишу мыши на схеме в начале рисования фигуры и, не отпуская мышь, протащите фигуру до конца рисования. Задание 1Рис. 2.6. Простые фигуры 4. Используя инструмент Линия, постройте на схеме параллелограмм (см. Рис. 2.7). Изменение размера, поворот, перемещение, управление поведением фигурыДля изменения размера выполните следующие нижеследующие действия. Для поворота фигуры выполните следующие действия. Для перемещения фигуры выполните следующие действия. Прижмите левую клавишу мыши на фигуре и, не отпуская мышь, перетащите фигуру в нужное место. Отпустите мышь. Выделите фигуру (щелкните по ней левой клавишей мыши) и сдвиньте, используя стрелки управления курсором на клавиатуре. Для управления поведением фигуры используются управляющие маркеры (желтые маркеры в форме ромба). В зависимости от фигуры управляющие маркеры могут настраивать положение линии, форму стрелки или соединяться с другими фигурами. Чтобы узнать, что делает конкретный управляющий маркер, укажите на этот маркер мышью и прочтите всплывающую подсказку (см. Рис. 2.11). Задание 2Параметры страницы, масштаб, линейка, сетка, направляющиеПараметры страницыПараметры страницы, такие как размер, автоподбор размера и ориентация, задаются на вкладке Конструктор в группе Параметры страницы. Для настройки параметров, не отраженных в данной группе, щелкните кнопку Параметры страницы в правом нижнем углу группы (см. Рис. 2.13). Эта кнопка открывает окно настроек «Параметры страницы«. Масштаб страницыМасштаб отображения страницы определяется на вкладке Вид в группе Масштаб. Также масштаб можно изменить при помощи ползунка Масштаб в правом нижнем углу окна Visio и окна Панорама и масштаб, которое подключается и отключается кнопкой Панорама и масштаб (см. Рис. 2.14). Линейка и сеткаДля более удобного размещения фигур на схеме можно использовать линейку и сетку. Чтобы подключить эти объекты на вкладке Вид в группе Показать поставьте соответствующие флажки. Для настройки параметров откройте окно Линейка и сетка, щелкнув одноименную кнопку в правом нижнем углу группы (см. Рис. 2.15). НаправляющиеНаправляющие представляют собой вспомогательные линии, не выводимые на печать и предназначенные для удобного размещения фигур на схеме. Направляющие линии могут быть горизонтальными и вертикальными, также можно выполнить поворот любой из этих линий аналогично повороту фигур. Для создания горизонтальной (вертикальной) направляющей прижмите левую клавишу мыши на горизонтальной (вертикальной) линейке и перетащите мышь, а вместе с ней и направляющую, в нужное положение на странице. Для отображения направляющих на странице на вкладке Вид в группе Показать поставьте флажок Направляющие. Для скрытия направляющих — снимите поставленный флажок. Для удаления направляющей выделите ее и щелкните клавишу [Delete] на клавиатуре. Задание 3Сохраните схему под именем Передача информации. Использование подсказки «Автосоединение» для соединения фигурПодключение подсказки АвтосоединениеПодсказка Автосоединение помогает добавлять, соединять, выравнивать и размещать фигуры. Для ее подключения на вкладке Вид в группе Визуальные подсказки поставьте флажок Автосоединение. Автоматическое соединение двух фигур4. Переместите указатель мыши на одну из стрелок автосоединения и отпустите мышь. Добавление фигуры при помощи мини-панели фигурСоединение фигур, уже размещенных на страницеЗадание 4 (окончание работы со схемой Передача информации)Двумерные фигуры имеют точки соединения, обозначаемые синими крестиками (см. Рис. 2.23). Точки соединения позволяют упростить процесс соединения различных фигур. Число точек соединения, которые имеет фигура, зависит от самой фигуры, но может быть изменено пользователем. По умолчанию они располагаются в узловых точках фигуры: вершинах, центрах сторон, геометрическом центре, местах наиболее частого соединения с другими фигурами. Всегда можно добавить или удалить точку соединения, а также изменить ее положение. Добавление точки соединенияПеремещение точки соединенияУдаление точки соединенияВ Microsoft Visio 2010 используются три типа точек соединения: Для изменения типа точки соединения необходимо выбрать берите инструмент Точка соединения Задание 5Работа с группамиГруппа в Microsoft Visio — это две или более фигур, которые работают как одно целое. Вместо того чтобы перемещать или изменять размер каждой фигуры, можно перетащить или изменить целую группу. Несмотря на то, что фигуры в группе работают как одна фигура, есть возможность работать с ними по отдельности, хотя отдельные фигуры группы защищены от некоторых видов изменений, например, удаления, отдельного от остальных фигур перемещения и др. Для создания группы выполните следующие действия: Для добавления дополнительного объекта в группу выполните действия: Удаление объекта из группы: Для отмены группировки фигур выполните действия: Задание 6Измените схему, созданную при выполнении задания 5. Поиск фигур для диаграммЧтобы быстро найти фигуру, установленную на локальном компьютере, выполните действия: Чтобы быстро найти фигуру в Интернете, выполните действия:
|