Code archives/3D Graphics - Maths/DeltaRoll

This code has been declared by its author to be Public Domain code.

Download source code

DeltaRoll by Stevie G2007
Returns the roll angle between two entities
Graphics3D 640,480,16,1

Global Camera = CreateCamera() : PositionEntity Camera, 0, 0, -30
Global Ship = CreateCone(): ScaleMesh Ship, 1, 2, 1 : EntityColor Ship, 0,0,255
Global Target = CreateCube() : EntityColor Target,255,0,0

Repeat

	If KeyHit( 57 )
		PositionEntity target, Rand(-20,20 ), Rand(-20,20 ), 10
	EndIf
	
	DR# = DELTAroll( Ship, Target )	
	TurnEntity ship, 0, 0, DR * .01
	
	RenderWorld()

	Text 0,0,DR
	
	Flip

Until KeyDown(1)

;=================================================================================
;=================================================================================
;=================================================================================

Function DELTAroll#( Source , Target )

	TFormPoint 0,0,0 , Target, Source
	Return VectorYaw ( TFormedX() , 0 , TFormedY() )

End Function

Comments

Santiworld2008
:) in 3D only need 2 or 3 angles?

i make missiles, and use deltayaw & deltapitch..

is the same concept, no?


Stevie G2008
It is the same concept as deltayaw. I only wrote it cos someone asked me to but it's useful if your doing a 2d in 3d game using just the x + y axis instead of x + z axis. I use it myself for this purpose.


Code Archives Forum