forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   задачка с ентитями (http://forum.boolean.name/showthread.php?t=7798)

Mr_F_ 08.02.2009 00:51

задачка с ентитями
 
Вложений: 1
как бы сделать одну вещь?

есть главный ентити - чёрный. перед ним всегда висит красный ентити.
но! есть некая сфера, дальше которой красный ентити не должен заходить. хотя при этом должен находиться с той её стороны, с которой находится чёрный ентити.
как бы это сделать?)
только без коллизий и физик.

SBJoker 08.02.2009 03:01

Ответ: задачка с ентитями
 
Выдыхай уже, и передавай косяк.

impersonalis 08.02.2009 03:02

Ответ: задачка с ентитями
 
Реально: я так и не понял, что требуется (кроме того, что надо сделать без физики)

HolyDel 08.02.2009 04:08

Ответ: задачка с ентитями
 
текст я не понял. попытка анализа картинок родила следующее решение.

1) берем красный ентити и суем его в центр сферы
2) поворачиваем его также, как черный ентити
3) двигаем его (MoveEntity) на радиус "некой" сферы и свой тоже.
4) profit.

прочитал текст. что то он не сходится с картинками совсем. противоречит ситауциям размещенными на главной диагонали.
предположим, правда в тексте. тогда делаем так:
1) смотрим, а не в сфере ли черный
2) если нет - то тупо стави перед ним красного
3) если да - то берем вектор A (разница позиции черного и центра сферы)
4) нормализируем его
5) умножаем на радиус
6) прибавляем к позиции центра сферы - получаем точку на сфере
7) где и должен быть красный
8 ) profit

решения предложены "наобум" так как из твоего поста совершенно не ясно чего тебе надо.

Mr_F_ 08.02.2009 14:03

Ответ: задачка с ентитями
 
да чето херовый я объяснитель :-D
ну и к чёрту...по-другому решил сделать))

Цитата:

8 ) profit
8 ) ?
9 ) PROFIT

johnk 08.02.2009 14:16

Ответ: задачка с ентитями
 
8 ) ???????
Семь вопросов должно быть.

Dzirt 08.02.2009 14:58

Ответ: задачка с ентитями
 
Легко.Если прально понял тогда вот :

Код:

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. Второй рисунок...ты там или с цветами стрелок напутал,или сам себе противоречиш.

Mr_F_ 08.02.2009 20:46

Ответ: задачка с ентитями
 
Цитата:

или сам себе противоречиш.
да я всё напутал)
короче тему в треш


Часовой пояс GMT +4, время: 03:45.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot