Страница 1 из 2

Задача с пирамидой

СообщениеДобавлено: 15 авг 2010 17:17
Skymaster
Задался вопросом - можно ли создать параметризованную пирамиду? Например, если изменить угол боковой грани, то изменяются все грани соответственно и меняется высота пирамиды. Это должен быть солид. Какие могут быть идеи?

(Был топик 6-ти летней давности на простую пирамиду, там нет ничего ценного)

Re: Задача с пирамидой

СообщениеДобавлено: 15 авг 2010 17:51
[PTM]
я думаю можно,толко данных маловато.форуму только года 3.
посмотри тут с сообщения

Re: Задача с пирамидой

СообщениеДобавлено: 15 авг 2010 19:16
Skymaster
Имел в виду, что раньше все тусовались на fsapr2000

А данные простые. Основание пирамиды любое - на 4-5-6 граней, это не важно. Боковой угол грани задается от точки в вершине.

Re: Задача с пирамидой

СообщениеДобавлено: 15 авг 2010 19:58
[PTM]
высота пирамиды от угла
h=SQRT(SQR(a/(2*tg(alpha/2)))-SQR(L1)),
где a-сторона пирамиды,
alpha-угол при вершине,
L1-нормаль из центра вписанной/описанной окружности к одной из сторон основания пирамиды,
SQR-функция возведения в квдрат
SQRT-функция извлечения квадратного корня
Pyramid_1.rar
(22.86 КБ) Скачиваний: 639


PS sorry v5R20

Re: Задача с пирамидой

СообщениеДобавлено: 15 авг 2010 22:07
Skymaster
У меня 19-я, файл не открывается...

Re: Задача с пирамидой

СообщениеДобавлено: 15 авг 2010 23:20
[PTM]

Re: Задача с пирамидой

СообщениеДобавлено: 16 авг 2010 12:33
Skymaster
Спасибо, интересное решение. Раньше я использовал совсем уж простые формулы :)

Re: Задача с пирамидой

СообщениеДобавлено: 16 авг 2010 18:06
[PTM]
карандаш,кусок бумаги и воспоминания о школьной геометрии:)

Re: Задача с пирамидой

СообщениеДобавлено: 17 авг 2010 18:11
Skymaster
С математикой я сильно не дружил, а из воспоминаний о школе остались только эмоции :)
С этим регбусом я разобрался по картинке, не без труда. Еще вопрос. Сейчас у нас основание пирамиды задано фиксированным = 300мм. Как задать его переменным, изменяя только угол грани (который пока 15 град)? Т.е. от этого будут меняться высота и сторона основания пирамиды.
Взаимодействие параметров еще не четко уложились в голове. Какая зависимость должна быть?

Re: Задача с пирамидой

СообщениеДобавлено: 17 авг 2010 18:13
[PTM]
задача сводится к двум... в основании правильный многоугольник и все остальные...
первая решаема вторая нет. формула будет проще

Re: Задача с пирамидой

СообщениеДобавлено: 17 авг 2010 20:22
[PTM]
PS проще не оказалось.
необходима нормальная постановка задачи:дано-найти.

Re: Задача с пирамидой

СообщениеДобавлено: 17 авг 2010 20:26
Skymaster
[PTM] писал(а):... и все остальные...

Остальные - кто? Многоугольники?
Ну пусть будет 6-ти угольник. На мой взгляд в схеме ничего не изменится - треугольник или 6-ти угольник.

Задача та же самая, их не две. В первом решенном случае у нас сторона основания была постоянной, а высота пирамиды переменной (из-за угла грани). Далее, это как луч фонарика из точечного источника света: угол конуса света может быть меньше или больше, а луч может упасть на ближнюю стенку или дальнюю, поэтому пятно света будет разным (основание пирамиды). Т.е. меняя угол света я получаю разную длину стороны основания пирамиды. Значит параметр длины основания пирамиды - переменный. Но что дальше с параметрами?

Re: Задача с пирамидой

СообщениеДобавлено: 17 авг 2010 20:35
Skymaster
Можно так, дано:
высота пирамиды 1000мм (изменяемая)
угол стороны грани от вершины 15 градусов (изменяемый)
сторона 6-ти гранника (основания пирамиды): результат

Re: Задача с пирамидой

СообщениеДобавлено: 18 авг 2010 11:45
zerganalizer
А еще вариант.

Дано: замкнутый произвольный (плоский) многоугольник, угол наклона выбранной грани, проекция точки вершины. Результат - пирамида. В виде солида UDF.

Работает так: тыкаем в любой замкнутый плоский многоугольник (в линию контура), от нее строится угол этой грани, тыкаем в любую точку - будет проекцией вершины на основание.

Легко. Но небесплатно. Все работает.

Re: Задача с пирамидой

СообщениеДобавлено: 18 авг 2010 14:06
Skymaster
[PTM] писал(а):высота пирамиды от угла
h=SQRT(SQR(a/(2*tg(alpha/2)))-SQR(L1)),
где a-сторона пирамиды,
alpha-угол при вершине,
L1-нормаль из центра вписанной/описанной окружности к одной из сторон основания пирамиды,
SQR-функция возведения в квдрат
SQRT-функция извлечения квадратного корня


Попробовал построить на основе 6-ти угольного основания - мешается L1. Какая здесь формула? Где можно найти сборник формул по этим расчетам?

Re: Задача с пирамидой

СообщениеДобавлено: 18 авг 2010 15:32
zerganalizer
Чем не нравится мое решение? Самая универсальная пирамида, жрет любые немыслимые формы основания. Для правильного n-угольника углы равны заданному углу, точка проекции вершины пирамиды в центре описанной/вписанной окружности. Рисуете нужное основание и ставите фичу. Можно даже запараметризовать круговым массивом основание, сделав выбор числа граней через параметр. Нет проблем.

Re: Задача с пирамидой

СообщениеДобавлено: 18 авг 2010 15:51
Skymaster
Можно просто формулу? Где: высота пирамиды 1000мм (изменяемая)
угол стороны грани от вершины 15 градусов (изменяемый)
сторона 6-ти гранника (основания пирамиды): результат

Нужна правильная пирамида, типа 6-ти гранника.

Re: Задача с пирамидой

СообщениеДобавлено: 18 авг 2010 16:18
zerganalizer
Указываете точку вставки и плоскость вставки основания (по умолчанию xy, можно авто, по имени, можно указать). В параметрах: радиус описанной окружности основания, число сторон, угол грани от xy.

Можно и по заданию выполнить. :)

P.S. Выполнил и перезалил файл во вложении. Там теперь обе версии UDF пирамиды.

Re: Задача с пирамидой

СообщениеДобавлено: 18 авг 2010 21:50
Skymaster
Cпасиб, однако. На картинке смотрится красиво. К сожалению у меня 19-я, нельзя ли файл жамкнуть утилитой DownwardCompatibility?

- Где можно почитать про UDF? Отстал я что-то... (Поиск по хелпу не работает, чего-то в IE не хватает)
- Можно ли одновременно установить 19-ю и 20-ю? Припоминаю, это я где-то видел в одной конторе. Здесь такая тема уже обсуждалась?

Re: Задача с пирамидой

СообщениеДобавлено: 19 авг 2010 08:36
ExtraRight
Skymaster писал(а):Cпасиб, однако. На картинке смотрится красиво. К сожалению у меня 19-я, нельзя ли файл жамкнуть утилитой DownwardCompatibility?


Эта утилита передаёт в более раннюю версию вроде только голый солид со связью на первоначальный.

Skymaster писал(а):- Где можно почитать про UDF? Отстал я что-то... (Поиск по хелпу не работает, чего-то в IE не хватает)


Поищите в хелпе User Defined Feature

Skymaster писал(а):- Можно ли одновременно установить 19-ю и 20-ю? Припоминаю, это я где-то видел в одной конторе. Здесь такая тема уже обсуждалась?

Можно и легко, поэтому и не обсуждалась. Только рекомендую назначить для них разные папки CATSettings в файлах окружения.

Re: Задача с пирамидой

СообщениеДобавлено: 19 авг 2010 09:17
zerganalizer
У меня стояли на прошлом буке 18-я, 19-я и V6r2009. Кстати, установив 20-ку на комп с настроенной 19-й, получил все настройки, макросы-кнопки и конфиги автоматом с 19-й.

Остальное ExtraRight написал. Про UDF есть в хелпах по партдизайну, GSD и где-то еще попадалось.

Кстати, фичу делать в 19-ке было бы в разы сложнее и она тормозила бы в разы сильнее. Хотя, возможно, нашлись бы методики для замены фич ISD...

Re: Задача с пирамидой

СообщениеДобавлено: 19 авг 2010 14:01
[PTM]
piramid2.rar
(21.52 КБ) Скачиваний: 642


основание любой прав. многоугольник,число сторон задается параметром n.
также задается высота AO и угол alpha при вершине грани.
остальное считается автоматом.
PS v5R20,реализовать можно и для 19, но у меня она не стоит

Re: Задача с пирамидой

СообщениеДобавлено: 19 авг 2010 23:21
zerganalizer
Равностороннюю в любом релизе легко сделать, а универсальную - гораздо сложнее. Или просто не придумал простого пути. Но увы, 19-го установленного нет, спецом ставить не хочется.

Re: Задача с пирамидой

СообщениеДобавлено: 19 авг 2010 23:30
[PTM]
учитывая,что задан угол на грани и высота решение может быть только для пирамид, основанием которых служит правильный многоугольник...в остальных случаях сомневаюсь:)

Re: Задача с пирамидой

СообщениеДобавлено: 20 авг 2010 14:06
Skymaster
20-ку поставил паралельно, посмотрел решения. На UDF - просто супер, хоть работает как черный ящик. Это сделано на одной формуле? Просто интересно. А у Евгения (мистера PTM), сделано очень хитро. Спасибо всем.