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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.03.2011, 15:50   #11
GWolf
Пользователь
 
Регистрация: 16.10.2008
Сообщений: 22
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
я понимаю Вашу задачу.
и даже могу ее сделать, но...
я обычно делаю то, что мне показалось интересным и захотелось сделать (на украине говорят "мав час та нахнення") или то, за что платят деньги.
вот... было время и вдохновение и для Вас показал альтернативный взгляд на решение проблемы, который тут же продемонстрировал свои слабые стороны.

прицепил еще одну картинку для 6 городов Украины. абсолютно наглядный маршрут. под него бы еще подложить контур карты украины... и вообще конфетка.
Спасибо Вам (Щиро дякую!) ув. IgorGO!
Ваша идея нелишена смысла и думаю будет востребована. Но, для решения моей задачи, она не подходит. Буду "копать" дальше.
Вот нарыл такой коммент:
Цитата:
У окружности координаты любой точки относительно ее центра вычисляются из соотношения R²=X²+Y², где R радиус окружности. С точки зрения программирования достаточно нарисовать 1/8 часть окружности, а симметрия закончит дело. В языках программирования С, Basic, Pascal существует специальная функция CIRCLE, которая строит окружность либо, вычисляя синус, либо, двигаясь по оси X вычисляет на каждом шаге Y по формуле:
Y=SQRT(R²-X²)
В ассемблере для вычисления квадратного корня или синуса пришлось бы использовать обращение к сопроцессору, а такая программа работает достаточно долго.
Как реализовать более быстрый метод рисования окружностей используя только целочисленную арифметику, ведь на экране можно выводить точку только туда, где нахо-дится люминофор, а не между люминофорами?
Пусть центр окружности находится в точке (0, 0) Y=R=100 и X=0 по формуле Y² = R²-X². По мере движения по оси X выясняем, когда необходимо уменьшить Y. Это нужно сделать если отклонение от Y будет больше 0,5 величины люминофора, т.е. больше долж-на засвечиваться соседняя точка. Вычисляем квадрат отклонения: (Y-0,5)²=Y² -Y+0,25. Выражение Y² -Y вычисляется в целых числах, а 0,25 игнорируем. Если разность R²-X² больше чем Y²-Y необходимо уменьшить Y на единицу и опять пересчитать ту величину, когда необходимо будет снова изменить Y и так в цикле. Выводим N точек, где N вычис-ляется из значения L=2*3,14*R. Так как надо нарисовать 1/8 окружности N=L/8=3,14*R/4 ≈157*R/200.
Правда для VBA 1/8 не актуальна, мне кажется. Но смысл понятен.
GWolf вне форума Ответить с цитированием
Старый 25.03.2011, 16:46   #12
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

полагаю основная Ваше беда - Вы не пытаетесь решать задачу, Вы пытаетесь найти решение в инете.
у меня все с точностью до наоборот.
смотрите справа, за красной колонкой, Ваш схематический маршрут. расстояния пропорциональны реальным.
успехов!
Вложения
Тип файла: rar Книга628.rar (19.0 Кб, 26 просмотров)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 25.03.2011, 18:26   #13
nilem
Форумчанин
 
Регистрация: 25.04.2010
Сообщений: 616
По умолчанию

Как понял, нужны просто шейпы на окружности. Так?
Вложения
Тип файла: zip road.zip (23.6 Кб, 12 просмотров)
nilem вне форума Ответить с цитированием
Старый 27.03.2011, 18:16   #14
nilem
Форумчанин
 
Регистрация: 25.04.2010
Сообщений: 616
По умолчанию

... и еще со стрелочками.
Вложения
Тип файла: zip road2.zip (22.8 Кб, 17 просмотров)
nilem вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск маршрута в графе. vedro-compota Общие вопросы по программированию, компьютерный форум 4 16.04.2013 09:23
как найти длину маршрута не больше заданного числа? lisa007x Помощь студентам 0 02.10.2010 14:22
поиск маршрута в лабиринте. Delphi 7 savraska Помощь студентам 2 16.05.2010 14:29
Поиск минимального маршрута, ошибка в коде Paul Hindenburg Общие вопросы C/C++ 2 31.05.2009 19:57
Нахождение оптимального маршрута rednax Помощь студентам 6 08.06.2007 19:21