Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Word
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Результаты опроса: Знаете ли вы другой способ рисования правильных многоугольников?
Да. 1 20.00%
Нет. 4 80.00%
Голосовавшие: 5. Вы ещё не голосовали в этом опросе

Ответ
 
Опции темы Поиск в этой теме
Старый 26.11.2009, 23:11   #1
Sasha_Smirnov
Особый статус
Участник клуба
 
Аватар для Sasha_Smirnov
 
Регистрация: 24.11.2008
Сообщений: 1,535
По умолчанию Правильный многоугольник (polygon) как корень из комплексного числа

Была такая программа у меня, лет 5 назад, но пришлось переделать из этой (TrophyRave.doc, а там Alt-F11).

15 минут ушло на переделку, 20 на отладку и часа 2 на всякие фичи (окраска, поворот), впоследствии убранные.

Странно, что тэг кода то срабатывает*, то нет — как вот там!
________________________________
* по этой же ссылке — «самописные» тэги от EducatedFool (VBA Developer) и viter.alex, но я-то о встроенном в интерфейс форума
Вложения
Тип файла: doc Polygon.doc (37.5 Кб, 25 просмотров)
Тип файла: rar Polygon.rar (17.9 Кб, 27 просмотров)

Последний раз редактировалось Sasha_Smirnov; 27.11.2009 в 22:53. Причина: сжал Polygon.doc методом http://programmersforum.ru/showthread.php?t=72403; приложил Polygon.docm (в архиве).
Sasha_Smirnov вне форума Ответить с цитированием
Старый 28.11.2009, 07:23   #2
Sasha_Smirnov
Особый статус
Участник клуба
 
Аватар для Sasha_Smirnov
 
Регистрация: 24.11.2008
Сообщений: 1,535
По умолчанию

Та-ак... Похоже, DOC-формат стал непопулярен.

Вот ниже иллюстрация моей работы с моей программой, а то без картинок... и пост не пост.
Изображения
Тип файла: jpg WordDrawings.jpg (28.0 Кб, 166 просмотров)
Sasha_Smirnov вне форума Ответить с цитированием
Старый 04.12.2009, 00:05   #3
Sasha_Smirnov
Особый статус
Участник клуба
 
Аватар для Sasha_Smirnov
 
Регистрация: 24.11.2008
Сообщений: 1,535
По умолчанию

Гораздо интереснее вот эта программа-рисовалка (выросшая из данной темы).

В приложенных документах запускается она через Alt-F8 или по Alt-Y.

Верна моя догадка про устаревающий формат .doc? (Хотя, так посмотреть, получается JPG самый «смотрибельный»!)
Изображения
Тип файла: jpg Magnitude.jpg (44.4 Кб, 142 просмотров)
Вложения
Тип файла: doc MakeUrchins.doc (41.5 Кб, 15 просмотров)
Тип файла: rar MakeUrchins.rar (18.2 Кб, 16 просмотров)

Последний раз редактировалось Sasha_Smirnov; 04.12.2009 в 23:00. Причина: вопрос.
Sasha_Smirnov вне форума Ответить с цитированием
Старый 14.12.2009, 05:15   #4
Sasha_Smirnov
Особый статус
Участник клуба
 
Аватар для Sasha_Smirnov
 
Регистрация: 24.11.2008
Сообщений: 1,535
По умолчанию Недоумение?

Извините за дополнительные вопросы, но:

1. А что это так туго с опросами: смотрели сотни (более 2-х!) интересующихся, а ответов (до закрытия) лишь 2?
2. И почему приложенные картинки — по числу просмотров — популярнее тех макросов, которыми каждый сам мог бы их нарисовать?

Если ответите — я тоже поделюсь соображениями на эту тему. Мне это легко.
Sasha_Smirnov вне форума Ответить с цитированием
Старый 15.12.2009, 05:56   #5
Sasha_Smirnov
Особый статус
Участник клуба
 
Аватар для Sasha_Smirnov
 
Регистрация: 24.11.2008
Сообщений: 1,535
По умолчанию Окрашиваемые центральносимметричные фигуры (ежи)

Код:
Sub GramPlus() 'Создана 15.12.2009 и рисует в документе «ёжиков», склонных к заливке!'
N = 35 'Вообще срабатывает лишь при нечётном N > 4.'
'А это место — «угадай-нарисуй»! Рисунок приложен.'
    With ActiveDocument.Shapes.BuildFreeform(msoEditingAuto, x(1), y(1))
        For k = 2 To N / (2 - N Mod 2)
        .AddNodes msoSegmentLine, msoEditingAuto, x(k), y(k)
        Next k
        .AddNodes msoSegmentLine, msoEditingAuto, x(1), y(1)    'замыкание контура'
        .ConvertToShape.Select
    End With
End Sub
Для чётного числа игл — тоже можно синтезировать «ежа», но там красоты особой нет, а код сложнее.
Изображения
Тип файла: jpg Eye-eye.jpg (41.4 Кб, 150 просмотров)

Последний раз редактировалось Sasha_Smirnov; 15.12.2009 в 18:00. Причина: загадка
Sasha_Smirnov вне форума Ответить с цитированием
Старый 17.12.2009, 20:39   #6
Sasha_Smirnov
Особый статус
Участник клуба
 
Аватар для Sasha_Smirnov
 
Регистрация: 24.11.2008
Сообщений: 1,535
По умолчанию Ах эта узловая линия!

В Poligon.doc(m) возможно также рисование более «живых» фигур. Через изменение узлов. См. приложенный рисунок.

(Приложил Mine.png — а он преобразовался в Mine.jpg. Странно это.)
Изображения
Тип файла: jpg Mine.jpg (33.0 Кб, 128 просмотров)

Последний раз редактировалось Sasha_Smirnov; 17.12.2009 в 20:44.
Sasha_Smirnov вне форума Ответить с цитированием
Старый 19.12.2009, 00:38   #7
Sasha_Smirnov
Особый статус
Участник клуба
 
Аватар для Sasha_Smirnov
 
Регистрация: 24.11.2008
Сообщений: 1,535
По умолчанию

И, как и 5 лет назад, формула многоугольника выдала сюрприз (см. рисунки).

Но это больше относится к той моей теме. А коды там приведены.
Изображения
Тип файла: jpg Пепельница.jpg (96.0 Кб, 142 просмотров)
Тип файла: jpg MySun.jpg (99.0 Кб, 141 просмотров)
Тип файла: jpg Granat.jpg (98.3 Кб, 136 просмотров)

Последний раз редактировалось Sasha_Smirnov; 20.12.2009 в 00:36. Причина: 3-й рис.
Sasha_Smirnov вне форума Ответить с цитированием
Старый 17.05.2011, 00:39   #8
Sasha_Smirnov
Особый статус
Участник клуба
 
Аватар для Sasha_Smirnov
 
Регистрация: 24.11.2008
Сообщений: 1,535
По умолчанию Геральдисту на заметку

А вот это уже без сюрприза — сознательно.

По правой кнопке можно менять цвет заливки, вырубать узлы (Ctrl-щелчок) и всё такое.

Кнопки, созданные в Word 97, свою функциональность утратили (при пересылке по сети). Потом починю.

Би-би-си... bb-code изображения:
Изображения
Тип файла: jpg Бездействие-кнопок.jpg (58.2 Кб, 123 просмотров)
Вложения
Тип файла: doc Liquored_Moon.doc (113.5 Кб, 21 просмотров)

Последний раз редактировалось Sasha_Smirnov; 17.05.2011 в 23:26. Причина: скромность.
Sasha_Smirnov вне форума Ответить с цитированием
Старый 11.06.2011, 05:55   #9
Sasha_Smirnov
Особый статус
Участник клуба
 
Аватар для Sasha_Smirnov
 
Регистрация: 24.11.2008
Сообщений: 1,535
По умолчанию Рисовальщик в действии

Вот здесь работает: по клавише F6 либо по кнопке на вкладке Надстройки.
Вложения
Тип файла: doc раскидай.doc (56.5 Кб, 28 просмотров)

Последний раз редактировалось Sasha_Smirnov; 12.06.2011 в 05:12. Причина: нет.
Sasha_Smirnov вне форума Ответить с цитированием
Старый 20.07.2011, 12:35   #10
Sasha_Smirnov
Особый статус
Участник клуба
 
Аватар для Sasha_Smirnov
 
Регистрация: 24.11.2008
Сообщений: 1,535
По умолчанию Паркет или косичка одним росчерком пера

Ну и паркет тоже своего рода многоугольник. Вот что пока наваял.
Код:
Sub DrawParquetry() ' Макрос записан 20.07.2011 User
Const RoX = 32, RoY = 32        'масштабы по осям
Const ShiftX = 0, ShiftY = 0    'сдвиг "косички" от начала координат (в пунктах)
Dim n  As Long: n = 8           'количество паркетин
Dim Nn As Long                  'индекс узла
n = n * 3                       'количество узловых точек рисунка

ReDim x(0 To n) As Single: ReDim y(0 To n) As Single

x(0) = ShiftX: y(0) = ShiftY

For Nn = 1 To n
    x(Nn) = ShiftX + ((Nn Mod 6) \ 2 + ((Nn Mod 6) \ 4) + Nn \ 6) * RoX
    y(Nn) = ShiftY + (((Nn + 3) \ 2) Mod 3 + (Nn - 1) \ 6) * RoY
Next Nn

With ActiveDocument.Shapes.BuildFreeform(msoEditingAuto, x(0), y(0))
        
    For Nn = 1 To n
    .AddNodes msoSegmentLine, msoEditingAuto, x(Nn), y(Nn)
    Next Nn

    .ConvertToShape.Select
End With

'    Selection.ShapeRange.Fill.Visible = msoTrue
'    'заливка контура краской (здесь: сиренево-лиловой, если я не дальтоник)
'    Selection.ShapeRange.Fill.ForeColor.RGB = RGB(255, 0, 255)
ThisDocument.UndoClear                  'очистка списка возвратов (что по CTRL-Z)
End Sub
Изображения
Тип файла: jpg Parquetry.doc.jpg (28.0 Кб, 118 просмотров)
Sasha_Smirnov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
описание комплексного числа!!! Medik07 Помощь студентам 0 02.11.2009 22:21
Как вычислит корень из числа? Paul_AG Общие вопросы C/C++ 6 04.04.2009 14:47
Изобразить на экране правильный многоугольник, стороны которого окрашены в разные цвета, совершающий внут Sashka Помощь студентам 3 31.01.2008 12:02
как найти корень из числа $Дмитрий Общие вопросы Delphi 7 26.04.2007 13:40