Кривая по закону

Автор beginner, 21.11.18, 12:50:46

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

beginner

Здравствуйте.

Необходимо построить параметрическую кривую с помощью функции "Кривая по закону". (прямоугольная система координат)

X=n*cosd(tau)-p*cosd(teta+alfa-gamma1)
Y=e+n*sind(tau)+p*sind(teta+alfa-gamma1)

gamma1 изменяется в пределах (0 ; 90)
параметры tau и teta являются функциями от gamma1. Всё остальное = const
Эти функции (tau и teta) имеют неприлично дикодлинную запись (символов 100 для tau и более 200-сот символов для teta), что затрудняет запись всей формулы сразу в одну строку (к тому же ячейка для записи X и Y крохотная).

Есть ли возможность внедрения внутренних переменных в саму команду "кривая по закону" ? (для упрощения записи общей формулы для X и Y).

Кроме того параметр tau вычисляется по одной формуле до определённого значения параметра gamma1, а при превышении значения - уже по другой.
Эту неприятность конечно можно решить - построить 2 кривые, одна из которых будет продолжением другой и у каждой будет своя формула (но это не красиво).

Быть может в новых версиях Компаса (в сравнении с 15-ой) что-то изменилось в отношении команды "кривая по закону" ?

ТрындецЪ

Вариант расчета координат точек для построения в Экселе с последующим импортом в КОМПАС не подходит?

beginner

В целом подходит (я про это думал). Но не стал пока это пробовать (к тому же в этом мне придётся разбираться, т.к. никогда этого не делал), т.к. хотел всё выполнить в файле Компаса... и столкнулся с трудностью.

Kirilius83

Цитата: ТрындецЪ от 21.11.18, 13:01:42
Вариант расчета координат точек для построения в Экселе с последующим импортом в КОМПАС не подходит?

это несерьезно))

6o6auko

Я делал так: считал в экселе, потом скидывал в текст, потом строил сплайн по точкам с подгрузкой таблицы из текстового файла. С экселем, почему-то, не вышло...

beginner

Мне этот вариант не подойдёт.
Кривая мне нужна для изучения движения некоторой точки. Мне нужно "видеть" кинематику.
В конечном итоге у меня будут две кривые, уравнения которых зависят от 10-13 параметров.
Очень не удобно каждый раз копировать координаты точек и вставлять. Нужна автоматизация :)

Наверное кто-нибудь задаст вопрос: "А зачем вообще такое делать в К.?". Согласен, это можно, например, в Excel'e сделать.
Но я хочу создать одну конструкцию, модельку которой потом выложу на форум. (ну форум то у нас "Компасовский", а не "Экселевский" ... :)

6o6auko

А "Вставить функцию из коллекции" и там прописать эти 200 символов?


Не забудьте галочку "Составление выражений"

beginner

Я, если честно, не понял как загнать формулу в коллекцию.

Но в принципе это равносильно тому, что я сейчас где-нибудь (хоть в Вроде) запишу свою огромную формулу, потом скопирую её и вставлю в поле X и Y.
Такая огромная формула тяжела для восприятия... а уж для редактирования/поиска ошибки вообще "труба"
видимо придётся мне эти формулы записать в развёрнутом виде.

6o6auko

Переменные сами выставляются... У меня получилось  :)

beginner


6o6auko

К сожалению, только так...

ТрындецЪ

В функцию можно подставить в качестве аргумента другую функцию.

beginner

21.11.18, 15:33:16 #12 Последнее редактирование: 21.11.18, 15:47:02 от beginner
так функция, вставленная в качестве аргумента, будет иметь лишь одно значение на всём интервале [0 ; 90]
Или я что-то не понял или в Вашей версии К. есть отличия от 15-ой.

Ещё вопрос: можно ли границы интервала связать с переменными?
что-то у меня не получается.

получилось

ТрындецЪ

21.11.18, 15:47:17 #13 Последнее редактирование: 21.11.18, 15:58:36 от ТрындецЪ
Цитата: beginner от 21.11.18, 15:33:16
так функция, вставленная в качестве аргумента, будет иметь лишь одно значение на всём интервале [0 ; 90]
Или я что-то не понял или в Вашей версии К. есть отличия от 15-ой
Например, если в функцию кривой по закону вставить tau(2)-t/2, то вложенная функция tau всегда будет рассчитана от константы "2", но если напишем  tau(t)-t/2, то значение функции tau будет меняться в зависимости от значения интервальной переменной t кривой по закону.

Upd:
Цитата: СправкаИмя аргумента функциональной переменной может совпадать с именем пользователь­ской переменной обычного вида. Например, документ может содержать переменную b и функциональную переменную a(b). Переменная и одноименный аргумент являются самостоятельными величинами, имеющими собственные, отличные друг от друга, значе­ния.

beginner

как Вы заставите К. одновременно перебирать все значения переменной tau(t) и значения переменной t.

Что-то я не понимаю...

ТрындецЪ

Цитата: beginner от 21.11.18, 16:04:22
как Вы заставите К. одновременно перебирать все значения переменной tau(t) и значения переменной t.
Функциональная переменная tau(t) не имеет своего интервала и постоянного значения.
Мы её вставляем в другую функциональную переменную (F(t)=tau(t)+5), для которой задан интервал. Когда КОМПАС высчитывает значения F(t), он берёт t из заданного интервала и подставляет в выражение tau(t)+5. Потом берёт другое значение t из интервала и снова подставляет в выражение.
Если бы мы написали имя функциональной переменной как tau(k), а выражение функциональной переменной F(t) оставили таким же (tau(t)+5), то всё бы работало точно так же, как в первом случае.
+ Благодарностей: 1

beginner

21.11.18, 16:30:53 #16 Последнее редактирование: 21.11.18, 16:46:18 от beginner
Можете файл с рабочим примером скинуть?
V15.2


Кажется я "допёр"... удалось записать функцию.
Если всё получится, то это будет просто великолепно !
А то я попробовал сейчас всё в одной формуле записать и не хватило терпения... она (формула) получается символов 250 ... и я её не дописал и "плюнул")

А где про это написано? Ткните пожалуйста в справку...

ТрындецЪ

Поищите в справке по запросу "функциональные переменные".

beginner

Как сделать, чтобы функции ссылались не на аргумент "t", который по умолчанию Компасом предлагается, а на другой?

Запускаю команду "Кривая по закону".
Меняю имя интервального параметра для оси X. Было "t" стало "g".
В окно "Выражение функции по X" вставляю функцию F(g). - появляется окно "Значения параметров".
В этом окне моя функция почему-то выглядит как F(t).
Почему?
Откуда параметр "t" если я его переименовал в "g" ?

ТрындецЪ

Кривая по закону создаёт свои интервальные переменные и задавать интервалы нужно именно в них.
Если нужно, чтобы значения  Х и У брались из разных интервалов, тогда нужно задать разное имя арументам этих функций (на скрине это g и a ).