<?phpclass Z{function Z($x = "", $y = "", $kartezyen = 0, $radyan = 0 ){if( $radyan ){$this->radyan = $radyan;}list( $this->x, $this->y ) = $this->ayir(func_get_args());}function ayarla($radyan = 0){$this->radyan = $radyan;return $this->radyan;}function x(){return $this->x;}function y(){return $this->y;}function mod(){return hypot( $this->x, $this->y );}function arguman(){if( $this->radyan ){return rad2deg( atan( $this->y / $this->x ) );}else{return atan( $this->y / $this->x );}}function ekle(){list( $x, $y ) = $this->ayir(func_get_args());$this->x+= $x;$this->y+= $y;}function alt(){list( $x, $y ) = $this->ayir(func_get_args());$this->x-= $x;$this->y-= $y;}function cok(){list( $x, $y ) = $this->ayir(func_get_args());list( $mod, $arg ) = $this->polar( $x, $y );list( $this->x, $this->y ) = $this->kartezyen( $this->mod()*$mod, $this->arguman()+$arg );}function bol(){list( $x, $y ) = $this->ayir(func_get_args());list( $mod, $arg ) = $this->polar( $x, $y );list( $this->x, $this->y ) = $this->kartezyen( $this->mod()/$mod, $this->arguman()-$arg );}function ayir( $dizi ){list ($x, $y, $kartezyen, $radyan ) = $dizi;if( $x ){if( $y ){if( $kartezyen == 1 ){if( stristr( $y, "d" ) || ( ($radyan == 1) && (!stristr( $y, "d" )) ) ){$y = deg2rad( $y );}list( $x, $y ) = $this->kartezyen( $x, $y );}else{$x = $x;$y = $y;}}else{list( $x, $y ) = $this->ayir_no( $x );}}return array( @$x, @$y );}function ayir_no($veri){$veri = preg_replace("/\s*/","",$veri);if( preg_match("/(?i)[^erd\-+ij.,0-9]+/", $veri) ){return -1;}else{if( stristr( $veri, "e" ) ){preg_match("/(?i)([0-9]+)e-[ij]?([0-9rd]+)[ij]?/", $veri, $dizi);if( sizeof( $dizi ) ){if( veriiveri( $dizi[2], "d" ) ){$dizi[2] = deg2rad( $dizi[2] );}list( $re, $y ) = $this->kartezyen( $dizi[1], $dizi[2] );}}else{preg_match_all( "/(?i)([\-+]?[0-9.,ij]+)/", $veri, $dizi, PREG_SET_ORDER );if( sizeof( $dizi ) ){foreach( $dizi as $sayi ){if( preg_match( "/(?i)[ij]/", $sayi[1] ) ){$y += $sayi[1];}else{$re += $sayi[1];}}}}return array($re, $y);}}function kartezyen( $mod, $a ){return array( ( $mod*cos($a) ), ( $mod*sin($a) ) );}function polar( $re, $y ){return array( hypot( $re, $y ) , atan( ($y/$re) ) );}}print_r(new Z($x = "5", $y = "6", $kartezyen = 0, $radyan = 0 ));echo "<br>";print_r(new Z($x = "5", $y = "6", $kartezyen = 0, $radyan = 1 ));echo "<br>";print_r(new Z($x = "5", $y = "6", $kartezyen = 1, $radyan = 0 ));echo "<br>";print_r(new Z($x = "5", $y = "6", $kartezyen = 1, $radyan = 1 ));?>
Çıktısı
Z Object ( [y] => 6 [x] => 5 )Z Object ( [radyan] => 1 [y] => 6 [x] => 5 )Z Object ( [y] => -1.3970774909946 [x] => 4.8008514332518 )Z Object ( [radyan] => 1 [y] => 0.52264231633827 [x] => 4.9726094768414 )