![]() |
Расстановка точек по сфере
Народ подскажите алгоритм расстановки спрайтов (или квадов) в случайном порядке на поверхности сферы и "лицом" направленные в центр сферы... (с математикой, алгеброй, геометрией я в очень плохих отношениях) помогите плиз....
|
Re: Расстановка точек по сфере
[highlight=blitzbasic]
R#=30 x#=0 y#=0 z#=0 ;========= Graphics3D 800,600 SetBuffer BackBuffer() camera=CreateCamera() PositionEntity camera,x,y,z sphere=CreateSphere() FlipMesh sphere EntityAlpha sphere,0.6 ScaleEntity sphere,R#,R#,R# PositionEntity sphere,x,y,z u#=80 ;============ Local pivot=CreatePivot() Local pivot2=CreatePivot() PositionEntity pivot,EntityX(sphere,1),EntityY(sphere,1),EntityZ( sphere,1) EntityParent pivot2,pivot PositionEntity pivot2,0,0,R For II=1 To 500 Local sp=CreateSprite() EntityColor sp,255,0,0 TurnEntity pivot,Rnd(0,360),Rnd(0,360),0 PositionEntity sp,EntityX(pivot2,1),EntityY(pivot2,1),EntityZ(piv ot2,1) Next ;============ While Not KeyHit(1) TurnEntity camera,MouseYSpeed(),-MouseXSpeed(),0 MoveMouse GraphicsWidth()*0.5,GraphicsHeight()*0.5 If Abs(EntityPitch#(camera))>u# RotateEntity camera,u#*Sgn(EntityPitch#(camera)),0,0 RenderWorld() Flip Wend End [/highlight] |
Re: Расстановка точек по сфере
работает но немного не так...
подобное я сделал но другим путем... если камеру вращать не вправо или влево а вверх или вниз видно как спрайты как бы подкручиваются.... если использовать режим SpriteViewMode sp,2 то уже не то... не все спрайты повернуты к центру сферы... надо чтобы лицом к центру сферы независимо от положения камеры |
Re: Расстановка точек по сфере
Расширенный режим ответа не работает, напишу без тегов
PositionEntity sprite,x,y,z RotateEntity sprite,Rnd(-90,90),Rnd(0,360),0 MoveEntity sprite,0,0,radius |
Re: Расстановка точек по сфере
2tormoz:
+1 единственное, что не всегда удобно использовать в случаях, где нежелательно вращать entity. А для данного случая - самое то. |
Re: Расстановка точек по сфере
Цитата:
to tormoz - спасибо.... способ простой,как раз то что надо.... |
Часовой пояс GMT +4, время: 01:13. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot