Страницы: 1
RSS
Как переместить фигуру по дуге (окружности)
 
Ребят, всем привет!

Как мне построить овал не по конкретной координате x,y, а с указанием градуса, относительно некой фигуры?
Т.е., предположим у меня есть окружность (разбил на сектора для наглядности). Я знаю центр окружности и её высоту. Теперь мне надо построить овал над этой окружностью, но под определённым градусом. См. фото:

извиняюсь за фото, здесь нарисован вручную синий овал под 10°. Как нарисовать овал программно под 20°, 30°,... и т. д.?
 
вы не уточнили где и что за овал?
график, автофигура, на форме рисунок...
 
привет!

высота окружности называется радиус

уважаемый Жирный Тони,
с помощью инструмента запись макроса получен след. код:
Код
Sub М2()
    ActiveSheet.Shapes.AddShape(msoShapeOval, 9, 53.25, 291, 121.5).Select
    Selection.ShapeRange.Rotation = 30
End Sub
я знаю, что мешает танцевать, а что Вам мешало получить ровно тот же код?
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Dima S, автофигура (msoShapeOval).
Ігор Гончаренко, вы синюю окружность видите на фото (над четвёркой)?
Так вот мне надо эту окружность повернуть не вокруг собственной оси, а относительно центра другой фигуры, видите 0 в левой нижнем углу? Это центр большой окружности (с секторами которая):

синяя окружность повёрнута относительно не своей оси координат. В результате, она смещается вокруг внешнего диаметра большой окружности с секторами.
Окружность с секторами остаётся неподвижной.
 
Цитата
Жирный Тони написал:
повернуть не вокруг собственной оси, а относительно центра другой фигуры
Хоть в общем случае вы и правы - это вращение относительно заданного центра. Но лучше оперировать - переместить, по другому задать фигуре новые координаты, так как в рамках методов Shape - вращение - это поворот относительно центра исходного обрамляющего фигуру прямоугольника.
 
Геометрия: по радиусу и углу между двумя радиусами вычислить длину третьей стороны...
 
нарисуйте коло, в нужном месте поставьте свою "окружность", сгруппируйте и вращайте группу на сколько нужно.
Изменено: Dima S - 03.10.2018 15:03:39
 
Народ, гляньте примерчик я прикрепил. Не выходит шарику двигаться по окружности. Уже несколько вариантов перепробовал. В том числе, уравнение переноса точки на угол. Двигается как-то скачкообразно, но не по окружности. Чего-то не хватает.
 
Жирный Тони, неужели нет возможности просто поискать ответ
вот например
http://www.gamedev.ru/code/forum/?id=17624  
По вопросам из тем форума, личку не читаю.
 
БМВ, не обижайтесь мой юный друг. Всё хорошо. Спасибо всем, решилось.
 
Цитата
Жирный Тони написал:
мой юный друг.
Гы, Гы, Гы
По вопросам из тем форума, личку не читаю.
 
Насчёт вращений: во вложении вариации ZVI ))
 
Жирный Тони, на всякий случай Развернуть треугольник относительно вершины
 
Название не очень. Как смотрите, если поменяю на "Как переместить фигуру по дуге (окружности)?
 
Юрий М, да ради Бога, возможно кому-то смена названия поможет выйти на решение.
 
вот, возможно кого-то заинтересует решение
 
название темы:
движение тела по круговой траектории
что подталкивает писать такое???
Цитата
Жирный Тони написал:
мне надо построить овал над этой окружностью, но под определённым градусом
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Цитата
Жирный Тони написал: Как нарисовать фигуру с градусным отклонением?
Отклонение (-2 градуса)  :)
Скрытый текст
Изменено: RAN - 04.10.2018 11:01:39
 
Андрей, фигура неприменима, к сожалению - у нее отклонение 90 градусов от нормального положения :)
 
Цитата
Юрий М написал:
Насчёт вращений: во вложении вариации ZVI ))
А разбор построения есть?
В жизни нет ничего невозможного! Есть только недостаток знаний и умений.
 
Цитата
Александр написал:
А разбор построения есть?
А что там разбирать? https://ru.wikipedia.org/wiki/%D0%9C%D0%B0%D1%82%D1%80%D0%B8%D1%86%D0%B0_%D0%BF%D­0%BE%D0%B2%D0%BE%D1...
По вопросам из тем форума, личку не читаю.
 
БМВ, а ну да, че за глупые вопросы задаю - все логично, простая математика :))
В жизни нет ничего невозможного! Есть только недостаток знаний и умений.
 
а так разве не проще?
Изменено: Dima S - 04.10.2018 19:08:20
 
Dima S, даже не открывая  и думая что это по №7 и схожему с №13. Безусловно проще для данного случая. Разве что при изменении центра и оси вращения может оказаться что математический пересчет проще.
По вопросам из тем форума, личку не читаю.
 
Цитата
БМВ написал:
даже не открывая
:( вы бы хоть посмотрели, там самолетик летает))
что я зря старался?)
 
Dima S, Аниматор- Авиатор вы наш :-) На телефоне он у меня не взлетел :-)
Изменено: БМВ - 04.10.2018 19:52:30
По вопросам из тем форума, личку не читаю.
 
Цитата
там самолетик летает)
Для наглядности перед вращением выделить объект.
Страницы: 1
Наверх