|
3D-программирование Вопросы, касающиеся программирования 3D мира |
08.02.2009, 00:51
|
#1
|
Терабайт исходников
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений (для 6,051 пользователей)
|
задачка с ентитями
как бы сделать одну вещь?
есть главный ентити - чёрный. перед ним всегда висит красный ентити.
но! есть некая сфера, дальше которой красный ентити не должен заходить. хотя при этом должен находиться с той её стороны, с которой находится чёрный ентити.
как бы это сделать?)
только без коллизий и физик.
|
(Offline)
|
|
08.02.2009, 03:01
|
#2
|
Злобный Админ
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений (для 9,330 пользователей)
|
Ответ: задачка с ентитями
Выдыхай уже, и передавай косяк.
__________________
|
(Offline)
|
|
Эти 10 пользователя(ей) сказали Спасибо SBJoker за это полезное сообщение:
|
|
08.02.2009, 03:02
|
#3
|
Зануда с интернетом
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений (для 20,935 пользователей)
|
Ответ: задачка с ентитями
Реально: я так и не понял, что требуется (кроме того, что надо сделать без физики)
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
|
(Offline)
|
|
08.02.2009, 04:08
|
#4
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Ответ: задачка с ентитями
текст я не понял. попытка анализа картинок родила следующее решение.
1) берем красный ентити и суем его в центр сферы
2) поворачиваем его также, как черный ентити
3) двигаем его (MoveEntity) на радиус "некой" сферы и свой тоже.
4) profit.
прочитал текст. что то он не сходится с картинками совсем. противоречит ситауциям размещенными на главной диагонали.
предположим, правда в тексте. тогда делаем так:
1) смотрим, а не в сфере ли черный
2) если нет - то тупо стави перед ним красного
3) если да - то берем вектор A (разница позиции черного и центра сферы)
4) нормализируем его
5) умножаем на радиус
6) прибавляем к позиции центра сферы - получаем точку на сфере
7) где и должен быть красный
8 ) profit
решения предложены "наобум" так как из твоего поста совершенно не ясно чего тебе надо.
|
(Offline)
|
|
08.02.2009, 14:03
|
#5
|
Терабайт исходников
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений (для 6,051 пользователей)
|
Ответ: задачка с ентитями
да чето херовый я объяснитель
ну и к чёрту...по-другому решил сделать))
8 ) ?
9 ) PROFIT
|
(Offline)
|
|
08.02.2009, 14:16
|
#6
|
Легенда
Регистрация: 01.10.2006
Сообщений: 3,705
Написано 296 полезных сообщений (для 568 пользователей)
|
Ответ: задачка с ентитями
8 ) ???????
Семь вопросов должно быть.
|
(Offline)
|
|
08.02.2009, 14:58
|
#7
|
Элита
Регистрация: 16.01.2008
Сообщений: 1,800
Написано 958 полезных сообщений (для 3,833 пользователей)
|
Ответ: задачка с ентитями
Легко.Если прально понял тогда вот :
Graphics3D 800,600,32,2
SetBuffer BackBuffer()
Global main,cam,not_main,sph
c=CreateCube()
ScaleEntity c,40,1,40
PositionEntity c,0,-1,0
main=CreateCube()
EntityColor main,0,0,0
ScaleEntity main,2,2,2
PositionEntity main,10,2,0
not_main=CopyEntity(main)
PositionEntity not_main,23,2,0
EntityColor not_main,215,0,0
not_main_c=CreateCylinder(20,1,not_main)
ScaleEntity not_main_c,0.1,10,0.1
EntityColor not_main_c,34,124,153
RotateEntity not_main_c,90,0,0
PositionEntity not_main_c,0,0,10
cam=CreateCamera()
PositionEntity cam,0,45,-20
CameraClsColor cam,20,120,220
sph=CreateSphere()
ScaleEntity sph,8,8,8
PositionEntity sph,0,1,0
EntityColor sph,23,232,23
EntityAlpha sph,0.4
PointEntity not_main,main
PointEntity cam,sph
While Not KeyHit(1)
rest()
keycontroll()
UpdateWorld
RenderWorld
Flip
Wend
End
Function keycontroll()
If KeyDown(200) MoveEntity main,-0.5,0,0
If KeyDown(203) TurnEntity main,0,1,0
If KeyDown(205) TurnEntity main,0,-1,0
If KeyDown(208) MoveEntity main,0.5,0,0
End Function
Function rest()
PointEntity not_main,main
If EntityDistance(main,not_main)>20 MoveEntity not_main,0,0,1
If EntityDistance(not_main,sph)<10 MoveEntity not_main,0,0,-1
End Function
Плюс реализацию легко можно модернизировать,чтобы небыло разны нюансов...но вроде все и так уже роботает как на рисунках.И если уж точно:
есть главный ентити - чёрный. перед ним всегда висит красный ентити.
|
1. Зади него.Если смотреть рисунки.
2. Второй рисунок...ты там или с цветами стрелок напутал,или сам себе противоречиш.
Последний раз редактировалось Dzirt, 08.02.2009 в 15:31.
|
(Offline)
|
|
08.02.2009, 20:46
|
#8
|
Терабайт исходников
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений (для 6,051 пользователей)
|
Ответ: задачка с ентитями
или сам себе противоречиш.
|
да я всё напутал)
короче тему в треш
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Похожие темы
|
Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
Задачка... |
Atomikc |
Visual Basic |
10 |
09.11.2009 19:45 |
Удаление типа с ентитями! |
Baisangur |
3D-программирование |
9 |
22.03.2009 23:02 |
2 задачки |
mudriy |
Загадки |
14 |
26.11.2007 11:55 |
Задачка!!! |
Halk-DS |
2D-программирование |
60 |
29.01.2007 00:06 |
Задача |
SubZer0 |
Загадки |
8 |
30.07.2006 16:33 |
Часовой пояс GMT +4, время: 08:02.
|