Posts Tagged ‘PHP’

Php圆周取点算法

星期一, 五月 27th, 2013 16 views

本篇的重点其实是圆周取点算法,说是Php只是因为通过Php的进行编码而已,使用其他语言均可。

首先概述一下圆周取点算法的需求:以 O(Xo,Yo) 为圆心,d 为半径画一个圆,从圆心角0度开始,依次显示出在这个圆上直线间距为 t 的所有点的坐标。

如图:

在这个圆 O上所有直线间距为t的点的坐标为 P1、P2…Pn

接下来看算法:

①如上图,通过圆的简单定理可以知道在同一个圆上当两个扇形的弦长即 t 相等时,其圆心角也是相等的,因此本算法可以将 t 转换为圆心角度数再做计算:

SinO` = t / 2r
∠O` = arcsin(SinO`)
∠O = 2∠O`

此时即将弦长 t 转换成了对应的圆心角。

②接下来我们根据圆心角计算出对应的点的坐标,使用公式如下:

Xn = Xo + r * Cos(0°* (n-1))
Yn = Yo + r * Sin(0°* (n-1))

此时Pn(Xn,Yn)即是我们需要求出的圆上的点。
(更多…)

PHP常见BUG修复笔记(长期更新)

星期一, 三月 18th, 2013 14 views

 

1
2
3
4
5
错误提示:Fatal error: Call to undefined function session_register() in ...

错误原因: 版本错误 PHP4.2以上版本不需要用session_register()注册SESSION变量

修复方法: 去掉session_register()  直接用 $_SESSION["string"]=“string" 赋值

 

1
2
3
4
5
错误提示:Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by  in ...

错误原因: 由于在调用Session_Start()之前有输出导致,任何空字符都不被允许

修复方法:  将session_start();.......?>放到文件首,并且<? 前面不能有任何字符。记事本编写后可能会产生空字符,DW下注意去掉BOM即可。

 

1
2
3
4
5
错误现象:session无法跨页传递

错误原因: 除了网上常有的几种原因之外,有一种特别诡异,即编码问题照成上文的错误,虽然是警告,但同时影响了session的使用,如果经过几种尝试,仍旧无法解决,多半是编码错误。

修复方法: 编辑php的配置文件php.ini中的 default_charset = “utf-8″ 即使php支持当前脚本的默认语言

 

1
2
3
4
5
错误提示:Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in ...

错误原因:返回结果集中行的数目, 其中result是无效的。原因较多,需要逐一检查,语句,字段名,数据库表结构来确定。

修复方法:逐一排查,确认数据库有此表结构字段名,确定无语法错误,确定编码集统一。

未完待续

BeiTown

2013.03.18