Position Problems
Blitz3D Forums/Blitz3D Beginners Area/Position Problems
| ||
I have two objects in space which have there own collisions and move in there z axis but i need to position a third object between the other two dead centre this is the main ship is there any easy way to find the exact point i should place it |
| ||
X# = ( entityx(object1,1) + entityx( object2,1)) * . 5 Y# = ( entityy(object1,1) + entityy( object2,1 )) * . 5 Z# = ( entityz(object1,1) + entityz( object2,1 )) * . 5 positionentity Object3, x, y, z |
| ||
Thanks m8t thats what i needed if only i had as many ideas as mental blocks i would be a millionare,forgot all me mode mean and range maths :) |
| ||
You could also use the player as a pivot. like player=loadmesh(millionare.b3d) object1=loadmesh(range,player) object2=loadmesh(maths,player) positionentity object1,0,0,1 positionentity object2,0,0,-1 or somthin |
| ||
this is the realy basic kind of mesh i need work with Graphics3D 1024,768,32,1 AntiAlias 1 Dim Vertbox(8) Dim Vert1x#(721) Dim Vert2x#(721) Dim Vert3x#(721) Dim Vert4x#(721) Dim Vert5x#(721) Dim Vert6x#(721) Dim Vert7x#(721) Dim Vert8x#(721) Dim Vert1y#(721) Dim Vert2y#(721) Dim Vert3y#(721) Dim Vert4y#(721) Dim Vert5y#(721) Dim Vert6y#(721) Dim Vert7y#(721) Dim Vert8y#(721) Dim Vert1z#(721) Dim Vert2z#(721) Dim Vert3z#(721) Dim Vert4z#(721) Dim Vert5z#(721) Dim Vert6z#(721) Dim Vert7z#(721) Dim Vert8z#(721) Global Ship,balll,ballr,ballf,ballb,ballpiv,temp1,temp2,dist# Global box,x,y,z,track,camera Global boxpivot,brush1,player,ball,ballpiv1,ballpiv2 brush1=CreateBrush(25,70,200) BrushBlend brush1,4 x=10 y=10 z=10 camera=CreateCamera() light=CreateLight() Create_Vertbox Create_vertdata Create_vert_mesh createship SetBuffer BackBuffer() While Not KeyHit(1) updatecam UpdateWorld RenderWorld Text 100,100,"trirendered+"+TrisRendered() Flip 0 Wend End Function Create_Vertbox() Vertbox(1)=CreateCube() PositionEntity Vertbox(1),0,0,-1 Vertbox(2)=CreateCube() PositionEntity Vertbox(2),0,1,-4 Vertbox(3)=CreateCube() PositionEntity Vertbox(3),0,3,-6 Vertbox(4)=CreateCube() PositionEntity Vertbox(4),0,6,-7 Vertbox(5)=CreateCube() PositionEntity Vertbox(5),0,0,1 Vertbox(6)=CreateCube() PositionEntity Vertbox(6),0,1,4 Vertbox(7)=CreateCube() PositionEntity Vertbox(7),0,3,6 Vertbox(8)=CreateCube() PositionEntity Vertbox(8),0,6,7 Boxpivot=CreatePivot() PositionEntity boxpivot,0,0,15 TurnEntity boxpivot,0,90,0 For times=1 To 8 EntityParent Vertbox(times),boxpivot Next End Function Function alignbox() End Function Function create_vertdata() For a=1 To 361 collect_vertdata(a) If a<46 Then TurnEntity boxpivot,0,-1,0,1 If a>45 And a<91 Then TurnEntity boxpivot,1,-1,0,1 If a>90 And a<136 Then TurnEntity boxpivot,-1,1,0,1 If a>135 And a<181 Then TurnEntity boxpivot,0,-1,0,1 MoveEntity boxpivot,0,0,4 Next End Function Function collect_vertdata(a) Vert1x(a)=EntityX(vertbox(1),1) Vert1y(a)=EntityY(vertbox(1),1) Vert1z(a)=EntityZ(vertbox(1),1) Vert2x(a)=EntityX(vertbox(2),1) Vert2y(a)=EntityY(vertbox(2),1) Vert2z(a)=EntityZ(vertbox(2),1) Vert3x(a)=EntityX(vertbox(3),1) Vert3y(a)=EntityY(vertbox(3),1) Vert3z(a)=EntityZ(vertbox(3),1) Vert4x(a)=EntityX(vertbox(4),1) Vert4y(a)=EntityY(vertbox(4),1) Vert4z(a)=EntityZ(vertbox(4),1) Vert5x(a)=EntityX(vertbox(5),1) Vert5y(a)=EntityY(vertbox(5),1) Vert5z(a)=EntityZ(vertbox(5),1) Vert6x(a)=EntityX(vertbox(6),1) Vert6y(a)=EntityY(vertbox(6),1) Vert6z(a)=EntityZ(vertbox(6),1) Vert7x(a)=EntityX(vertbox(7),1) Vert7y(a)=EntityY(vertbox(7),1) Vert7z(a)=EntityZ(vertbox(7),1) Vert8x(a)=EntityX(vertbox(8),1) Vert8y(a)=EntityY(vertbox(8),1) Vert8z(a)=EntityZ(vertbox(8),1) End Function Function Create_vert_mesh() track=CreateMesh() For a=1 To 360 surf=CreateSurface(track,brush1) v0=AddVertex(surf,Vert1x(a),Vert1y(a),Vert1z(a),1,1) v1=AddVertex(surf,Vert2x(a),Vert2y(a),Vert2z(a),1,0) v2=AddVertex(surf,Vert3x(a),Vert3y(a),Vert3z(a),1,1) v3=AddVertex(surf,Vert4x(a),Vert4y(a),Vert4z(a),1,0) v4=AddVertex(surf,Vert5x(a),Vert5y(a),Vert5z(a),1,0) v5=AddVertex(surf,Vert6x(a),Vert6y(a),Vert6z(a),1,1) v6=AddVertex(surf,Vert7x(a),Vert7y(a),Vert7z(a),1,0) v7=AddVertex(surf,Vert8x(a),Vert8y(a),Vert8z(a),1,1) v8=AddVertex(surf,Vert1x(a+1),Vert1y(a+1),Vert1z(a+1),0,1) v9=AddVertex(surf,Vert2x(a+1),Vert2y(a+1),Vert2z(a+1),0,0) v10=AddVertex(surf,Vert3x(a+1),Vert3y(a+1),Vert3z(a+1),0,1) v11=AddVertex(surf,Vert4x(a+1),Vert4y(a+1),Vert4z(a+1),0,0) v12=AddVertex(surf,Vert5x(a+1),Vert5y(a+1),Vert5z(a+1),0,0) v13=AddVertex(surf,Vert6x(a+1),Vert6y(a+1),Vert6z(a+1),0,1) v14=AddVertex(surf,Vert7x(a+1),Vert7y(a+1),Vert7z(a+1),0,0) v15=AddVertex(surf,Vert8x(a+1),Vert8y(a+1),Vert8z(a+1),0,1) t0=AddTriangle(surf,v8,v9,v0) t1=AddTriangle(surf,v9,v1,v0) t2=AddTriangle(surf,v9,v10,v1) t3=AddTriangle(surf,v10,v2,v1) t4=AddTriangle(surf,v10,v11,v2) t5=AddTriangle(surf,v11,v3,v2) t6=AddTriangle(surf,v8,v0,v4) t7=AddTriangle(surf,v12,v8,v4) t8=AddTriangle(surf,v12,v4,v5) t9=AddTriangle(surf,v13,v12,v5) t10=AddTriangle(surf,v13,v5,v6) t11=AddTriangle(surf,v14,v13,v6) t12=AddTriangle(surf,v14,v6,v7) t13=AddTriangle(surf,v15,v14,v7) Next UpdateNormals track PositionEntity track,0,-12,20 FlipMesh track For times=1 To 8 FreeEntity vertbox(times) Next End Function Function updatecam() PickedX() If MouseDown(1) Then MoveEntity ship,-.01,0,0 If MouseDown(2) Then MoveEntity ship,.01,0,0 If KeyDown(44) Then TurnEntity ship,0,.1,0 If KeyDown(45) Then TurnEntity ship,0,-.1,0 MoveEntity Ship,0,0,0.01 PositionEntity camera,EntityX(ship,1),EntityY(ship,1),EntityZ(ship,1) RotateEntity camera,EntityPitch(ship,1),EntityYaw(ship,1),EntityRoll(ship,1) MoveEntity camera,0,6,-10 PointEntity camera,ship End Function Function CreateShip() Ship=CreateSphere(2) ballf=CreateSphere(2) ballb=CreateSphere(2) balll=CreateSphere(2) ballr=CreateSphere(2) ballpiv=CreatePivot() PositionEntity Ship,0,-9,21,1 PositionEntity ballf,0,-9,23,1 PositionEntity ballb,0,-9,19,1 PositionEntity balll,-2,-9,21,1 PositionEntity ballr,2,-9,21,1 PositionEntity ballpiv,0,-9,21,1 RotateEntity ballr,0,90,0,1 RotateEntity balll,0,90,0,1 RotateEntity ballf,0,90,0,1 RotateEntity ballb,0,90,0,1 EntityParent ballpiv,Ship EntityParent ballf,ballpiv EntityParent ballb,ballpiv EntityParent balll,ballpiv EntityParent ballr,ballpiv TurnEntity ship,0,90,0,1 EntityPickMode track,2 End Function |