[ create a new paste ] login | about

Link: http://codepad.org/GuRbdtVf    [ raw code | output | fork ]

PHP, pasted on Mar 8:
function filter($init, $final, $center)
{
	if((($final['a']['x']-$init['x'])($center['y']-$init['y'])-($final['a']['y'])($center['x']-$init['x'])))
		return $final['a'];
	else
		return $final['b']
}


function getNextPoint($init, $center, $distance, $slope)
{
	$final['a']['x'] = $init['x']+$distance/sqrt(1+$slope*$slope);
	$final['a']['y'] = $init['y']+($slope*$distance)/sqrt(1+$slope*$slope);
	
	$final['b']['x'] = $init['x']-$distance/sqrt(1+$slope*$slope);
	$final['b']['y'] = $init['y']-($slope*$distance)/sqrt(1+$slope*$slope);
	
	$point = filter($final, $center);
	
	echo "X: $point['x'] Y:$point['Y']";
}

function polygon($vertices=5, $centerX=10, $centerY=10, $radius=5)
{
	
	$internalangle = ($vertices-2)*180/$vertices;
	
	$slope = tan($internalangle/2);	
	
	$init['x'] = 10;
	$init['y'] = 10;
	
	getNextPoint($init, $init, 5, $slope);

}

polygon();


Output:

function filter($init, $final, $center)
{
	if((($final['a']['x']-$init['x'])($center['y']-$init['y'])-($final['a']['y'])($center['x']-$init['x'])))
		return $final['a'];
	else
		return $final['b']
}


function getNextPoint($init, $center, $distance, $slope)
{
	$final['a']['x'] = $init['x']+$distance/sqrt(1+$slope*$slope);
	$final['a']['y'] = $init['y']+($slope*$distance)/sqrt(1+$slope*$slope);
	
	$final['b']['x'] = $init['x']-$distance/sqrt(1+$slope*$slope);
	$final['b']['y'] = $init['y']-($slope*$distance)/sqrt(1+$slope*$slope);
	
	$point = filter($final, $center);
	
	echo "X: $point['x'] Y:$point['Y']";
}

function polygon($vertices=5, $centerX=10, $centerY=10, $radius=5)
{
	
	$internalangle = ($vertices-2)*180/$vertices;
	
	$slope = tan($internalangle/2);	
	
	$init['x'] = 10;
	$init['y'] = 10;
	
	getNextPoint($init, $init, 5, $slope);

}

polygon();


Create a new paste based on this one


Comments: