Перейти к публикации

Прямоугольная спираль


streamdown

Рекомендованные сообщения

но может стоит больше времени работе уделять, чем пятачкам?

Одно другому не мешает. Надо ж где-то общаться, если на работе один. Никакого развития. ))

Насчет моей невнимательности - это ведь твое ИМХО, так?

Ну какое тут имхо? Подозрения на намек "на пару минут" не было бы, если бы то предложение было замечено. Как-то ты даже не фразы отдельные замечаешь из текста, а отдельные слова и на них комменты шлешь. Впрочем, для подколов (стиль твоего общения) самый раз )). Ладно, если вспомню полный алгоритм, напишу. А пока удачи.

Ссылка на сообщение
Поделиться на других сайтах


Ладно, если вспомню полный алгоритм, напишу. А пока удачи.

Спасибо! И тебе удачи в составлении этого:

post-35096-0-90701500-1396868978.jpg

Ссылка на сообщение
Поделиться на других сайтах
Спасибо! И тебе удачи в составлении этого:

 Что-то скудное окно для формул. Что такое t1 и t2? Коэффициенты, значения, выражения? Что туда допускается вставлять? Правильно ли я понимаю, что при достижении точки t2 для следующего расчета эта точка становится t1?

 

PS Для ясности - как будут выглядеть строчки для функции f(x)=y*y (парабола т.е.)?

Ссылка на сообщение
Поделиться на других сайтах
Что такое t1 и t2?

Параметрическая функция, определяемая y(t) и x(t), где t изменяется от t1 до t2.

 

Для ясности - как будут выглядеть строчки для функции f(x)=y*y (парабола т.е.)?

Если поставить переключатель в положение "Explicit", то y(x) = x^2 (или x*x), где х изменяется от х1 до х2.

Если в положении Parametric, то x(t)=t, y(t)=t^2.

Ссылка на сообщение
Поделиться на других сайтах

Блин, вспомнил, что задача непростая, оказывается. :biggrin:  В свое время, когда учился, была Олимпиада по программированию. Пока соревновались 2 часа, успел только одну задачу решить. Придя домой, прикинул алгоритм и на 5 остальных за полчаса. Там как раз среди них была задача похожая. За полчаса уже тут не вспомнил. Формулы откладываются на потом. Можно, конечно, упрощенные формулы по точкам на 4 вершины, но это немного не то:

дано - Y0 и X0; длина первого отрезка - l и шаг спирали t.

X1=X0+l; Y1=Y0

X2=X0+l; Y2=Y0+l+t

X3=X0-t; Y3=Y0+l+t

Далее

X(4*i)=X0-t*i; Y(4*i)=Y0-t*i

X(4*i+1)=X1+t*i; Y(4*i+1)=Y1-t*i

X(4*i+2)=X2+t*i; Y(4*i+2)=Y2+t*i

X(4*i+3)=X3-t*i; Y(4*i+3)=Y3+t*i

где i - номер витка спирали (первый принимаем за нулевой)

 

Тут можно ещё упростить, но уже работа зовет )) Звиняйте, ежли кого разочаровал...

6f060328f076363e936259bb2648651a.png

 

Жаль, для солида метод не катит(

2c527ea6f2aff4a1e3893342cf32159e.png

 

Bully_test.rar

Ссылка на сообщение
Поделиться на других сайтах
VB-скрипт может родиться.
 

это я запросто))) формулы только скажите. А то вон у @kristeen спиралька не туда пошла  :smile:

Ссылка на сообщение
Поделиться на других сайтах

это я запросто))) формулы только скажите.

 

Знать бы возможности SW API насчет динамической генерации линий и их измерения, тогда можно переложить алгоритм кузнечика, любимого Павлухой. Намётки кое-какие имеются.

0_b4189_298d8c96_XL.gif

IGES:Spiral.rar

Допустим, есть линия в скетче. Можно получить координаты начала-конца?

Ссылка на сообщение
Поделиться на других сайтах

Динамическая это как?

Могу хоть линией счкетча, хоть opengl.


 

 

Можно получить координаты начала-конца?

 

начала, конца, вектора, матрицы трансформаций (она же поворотов) - всё что душе угодно)))

Ссылка на сообщение
Поделиться на других сайтах
начала, конца, вектора, матрицы трансформаций (она же поворотов) - всё что душе угодно)))

Тогда надо взять линию, найти нужный кончик, повернуть на 90° относительно этого кончика, и смасштабировать относительно его же. Ну и цикл этого хозяйства. Понимаю, что сказать легче, чем сделать..... Но ты же программер :tongue:

Ссылка на сообщение
Поделиться на других сайтах
Но ты же программер
 

Нихт, я конструктор!

Всё это "хозяйство" можно обернуть поиском точек с помощью кода? Так же проще будет, чем вращать, масштабировать и т.п.

Ссылка на сообщение
Поделиться на других сайтах
Нихт, я конструктор!

Ну в API же шаришь? Или :no_1:?

 

Всё это "хозяйство" можно обернуть поиском точек с помощью кода? Так же проще будет, чем вращать, масштабировать и т.п.

Какой поиск имеется в виду?

В примере 0_b4189_298d8c96_XS.gif делал через повороты-масштабы. Поэтому ничего другого предложить не могу. :no:

Ссылка на сообщение
Поделиться на других сайтах

@@Dna, ааааа... я понял как вы все всё это строили  :biggrin:

@@kristeen почему z изменяется? (в прикрепленном файле)

 

Ссылка на сообщение
Поделиться на других сайтах
kristeen почему z изменяется? (в прикрепленном файле)

Если не задавать инкремент по z, то спираль будет в одной плоскости, а солид отказывается строить самопересекающиеся кривые. Так что задал инкремент, чтобы обойти это и посмотреть, что получиться. Если бы в СВ можно было управлять порядком полинома для кривой по точкам.. все бы

сработало, как в маткаде)

Ссылка на сообщение
Поделиться на других сайтах
Ладно, если вспомню полный алгоритм, напишу.
Так... Отчитаюсь, что формулы так и не нашел. Вполне может быть, что задачу по программированию я тогда решил, как и @@kristeen, через циклы. Прошу прощения тогда, что ввел всех в заблуждение.
Ссылка на сообщение
Поделиться на других сайтах
  • 3 недели спустя...

Давненько было несколько тем про спирали разного рода. Помнится выкладывался mathcad-овский "генератор спиралей". Уже и ненашел даже ;) где. 

Но с тех пор, как в СВ появилась "кривая по уравнению" все стало гораздо проще.

post-22528-0-10858000-1399288727.jpg

Ссылка на сообщение
Поделиться на других сайтах
Но с тех пор, как в СВ появилась "кривая по уравнению" все стало гораздо проще.

АААА!!! Люди!!! Хватайте этого колдуна и в костёр его!!! В костёр!!!

:biggrin:

Одним глазком на это многоэтажное чудо, плиз! Или всё гениальное - просто?

Ссылка на сообщение
Поделиться на других сайтах

cooler.jpg

Строил спираль, вытягивал поверхность по спирали, строил квадрат, вытягивал поверхность. Обе поверхности пересекались. Далее эскиз по линии пересечения тел. По этому эскизу операция "вытянуть по траектории".

Ссылка на сообщение
Поделиться на других сайтах
Строил спираль, вытягивал поверхность по спирали, строил квадрат, вытягивал поверхность. Обе поверхности пересекались. Далее эскиз по линии пересечения тел. По этому эскизу операция "вытянуть по траектории".

См. сообщение #5  :smile:

Ссылка на сообщение
Поделиться на других сайтах

 

Строил спираль, вытягивал поверхность по спирали, строил квадрат, вытягивал поверхность. Обе поверхности пересекались. Далее эскиз по линии пересечения тел. По этому эскизу операция "вытянуть по траектории".

См. сообщение #5  :smile:

 

Понял. Не в тему. За то похвастался работой )

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.




×
×
  • Создать...