![]() |
Ответ: кубик рубика
Цитата:
|
Ответ: кубик рубика
Вероятно проблема с файлом rubik.3DS
Если убрать 26 кубиков, то видно что на нижней плоскости в середине один лишний кубик. Но главное центр кубика расположен на его нижней гране, поэтому даже в одном и том-же месте у кубика могут быть разные координаты, в зависимости от поворота |
Ответ: кубик рубика
Цитата:
спасибо, если честно я не понимаю откуда он взялся Цитата:
сейчас попробую исправить |
Ответ: кубик рубика
Вложений: 1
Поставил координаты от центра, удалил лишний кубик, но ничего не изменилось:dontknow:
|
Ответ: кубик рубика
Изменились только координаты всей группы кубиков. При загрузке ты отделяешь кубик от всей группы. Но центр каждого маленького кубика все равно в середине нижней грани после отсоединения. Поэтому ничего не изменилось.
|
Ответ: кубик рубика
Цитата:
ну хорошо пробую еще раз |
Ответ: кубик рубика
RBK, скажи пожалуйста, как ты определяешь, где находится центр у фигуры в Блитце, просто каждый раз выкладывать архив для проверки, я думаю это вам неприкольно.
|
Ответ: кубик рубика
Я из кусков твоей программы сделал тестовую программу в которой поочередно вращаются маленькие кубики.
Вот это исправление загрузит кубики правильно: Код:
Function FindAllKubes(mesh) |
Ответ: кубик рубика
Цитата:
|
Ответ: кубик рубика
Чтобы вращать весь куб или его часть нужен всего один пивот.
Код:
piv=CreatePivot();Создаем пивот для вращения |
Ответ: кубик рубика
Цитата:
просто я попробовал к piv присоединял пивоты центральные и все равно разваливается :4to: может все таки ошибка где-то в логике? или ты говорил, что использовал где то мой код, там работало, да?:crazy: |
Ответ: кубик рубика
Я только сейчас заметил что ты переписал функции во втором варианте.
Зачем все так усложнять? Значение MaxY, MaxX и другие нужно определить только раз, в самом начале, а потом использовать. Да присоединяй к piv центральные пивоты |
Ответ: кубик рубика
Цитата:
вся проблема в координатах: у кубиков (теперь уже у пивотов) после поворота больше чем на 270 градусов (во время четвертого поворота) появляются непонятные координаты, это глюк Блица?! (я решил проверить, взял просто кубик присоединил его к пивоту и повернул пивоту на 90 градусов, координаты кубика были (-5; 0; 5),а стали равны (5,96046е-007; 0; -4,76837Е-007) - ЧТО ЭТО?????? как с этим справиться? |
Ответ: кубик рубика
координаты глобальные берёшь?
|
Ответ: кубик рубика
Цитата:
Равенство двух чисел типа Float проверяют так: if Abs(A#-B#) < (величина возможного разброса) если условие выполняется числа A# и B# равны. |
Часовой пояс GMT +4, время: 10:42. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot