如何使用php绘制在图片上的正余弦曲线
以前用actionscript写动态绘制三角函数曲线,其实php输出三角函数曲线也很简单。
代码如下:
<?php
define("MAX_WIDTH_PIXEL", 600);
define("MAX_HEIGHT_PIXEL", 240);
//发送标头信息
header("Content-type: image/gif");
//建立图像
$img = imageCreate(MAX_WIDTH_PIXEL, MAX_HEIGHT_PIXEL);
//设定颜色
$bgcolor = imageColorAllocate($img, 0xff, 0xe9, 0xe9);
$red = imageColorAllocate($img, 255, 0, 0);
$blue = imageColorAllocate($img, 0, 0, 255);
$brown = imageColorAllocate($img, 100, 0, 0);
$black = imageColorAllocate($img, 0, 0, 0);
$width = MAX_WIDTH_PIXEL/2; //宽度
$height = MAX_HEIGHT_PIXEL/2; //高度
//建立坐标轴
imageLine($img, $width, 0, $width, MAX_HEIGHT_PIXEL, $black);//y轴
imageLine($img, 0, $height, MAX_WIDTH_PIXEL, $height, $black);//x轴
//通过循环来实现函数图形的描绘
for($i=0; $i<=MAX_WIDTH_PIXEL; $i++)
{
$y1 = 100 * sin($i/100 * M_PI);
imageSetPixel($img, $i, $height+$y1, $blue);
$y2 = 100 * sin($i/300 * M_PI);
imageSetPixel($img, $i, $height+$y2, $red);
$y3 = 100 * sin($i/300 * M_PI);
imageSetPixel($img, $i, $height-$y3, $brown);
}
//显示图形
imageGif($img);
//释放资源
imageDestroy($img);
/*==隐逸鸟==*/
?>
相关推荐
-
PHP大转盘中奖概率算法实例
本文实例讲述了PHP大转盘中奖概率算法的实现方法,分享给大家供大家参考.具体如下: 大转盘是最近很多线上网动中一个比较有意思的东西了,下面我们就来看看这个大转盘中奖概率算法与例子,希望对各位有所帮助. 这是一个APP客户端有大转盘抽奖算法,具体如何抽奖当然在我们服务端实现了.下面和大家简单分享一下实现代码: 复制代码 代码如下: header("Content-type: text/html; charset=utf-8"); $prize_arr = array( '0' =>
-
关于PHP的相似度计算函数:levenshtein的使用介绍
使用说明先看手册上 levenshtein() 函数的说明: levenshtein() 函数返回两个字符串之间的 Levenshtein 距离. Levenshtein 距离,又称编辑距离,指的是两个字符串之间,由一个转换成另一个所需的最少编辑操作次数.许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符. 例如把 kitten 转换为 sitting: sitten (k→s)sittin (e→i)sitting (→g)levenshtein() 函数给每个操作(替换
-
php计算两个整数的最大公约数常用算法小结
本文实例讲述了php计算两个整数的最大公约数常用算法.分享给大家供大家参考.具体如下: 复制代码 代码如下: <?php //计时,返回秒 function microtime_float () { list( $usec , $sec ) = explode ( " " , microtime ()); return ((float) $usec + (float) $sec ); } /////////////////////////////////
-
PHP改进计算字符串相似度的函数similar_text()、levenshtein()
similar_text()中文汉字版 复制代码 代码如下: <?php //拆分字符串 function split_str($str) { preg_match_all("/./u", $str, $arr); return $arr[0]; } //相似度检测 function similar_text_cn($str1, $str2) { $arr_1
-
php编写的抽奖程序中奖概率算法
们先完成后台PHP的流程,PHP的主要工作是负责配置奖项及对应的中奖概率,当前端页面点击翻动某个方块时会想后台PHP发送ajax请求,那么后台PHP根据配置的概率,通过概率算法给出中奖结果,同时将未中奖的奖项信息一并以JSON数据格式发送给前端页面. 先来看概率计算函数 function get_rand($proArr) { $result = ''; //概率数组的总概率精度 $proSum = array_sum($proArr); //概率数组循环 foreach ($proArr as
-
php 大数据量及海量数据处理算法总结
下面的方法是我对海量数据的处理方法进行了一个一般性的总结,当然这些方法可能并不能完全覆盖所有的问题,但是这样的一些方法也基本可以处理绝大多数遇到的问题.下面的一些问题基本直接来源于公司的面试笔试题目,方法不一定最优,如果你有更好的处理方法,欢迎与我讨论. 1.Bloom filter 适用范围:可以用来实现数据字典,进行数据的判重,或者集合求交集 基本原理及要点: 对于原理来说很简单,位数组+k个独立hash函数.将hash函数对应的值的位数组置1,查找时如果发现所有hash函数对应位都是1说明
-
使用PHP similar text计算两个字符串相似度
在网站开发中,我们经常使用php similar text 计算两个字符串相似度; 1,similar_text的用法 如果我想计算"ly89cn"和"ly89"的相似程度,有两种表示方法 复制代码 代码如下: echo similar_text('ly89cn', 'ly89'); 这样输出4,因为他们有4个字符相等 复制代码 代码如下: similar_text('ly89cn', 'ly89', $percent); echo $percent; 这样输出80
-
php数字游戏 计算24算法
算法思路:把每一个数字看做一个独立的数学表达式,表达式之间加上标点符号组合成新表达式,一共组合4次,表达式之间的所有组合可以通过递归来实现. 代码如下: 复制代码 代码如下: <?php /** * A 24 maker * @version 1.0.0 * @author laruence<laruence at yahoo.com.cn> * @copyright (c) 2009 http://www.laruence.com */ class TwentyFourCal { pu
-
PHP实现的简易版图片相似度比较
由于相似图片搜索的php实现的 API 不怎么符合我的用途,所以我重新定义 API 的架构,改写成比较简单的函数方式,虽然还是用对象的方式包装. 复制代码 代码如下: <?php /** * 图片相似度比较 * * @version $Id: ImageHash.php 4429 2012-04-17 13:20:31Z jax $ * @author jax.hu * * <code> * //Sample_1 * $aHas
-
PHP中计算字符串相似度的函数代码
similar_text - 计算两个字符串的相似度 int similar_text ( string $first , string $second [, float &$percent ] ) $first 必需.规定要比较的第一个字符串. $second 必需.规定要比较的第二个字符串. $percent 可选.规定供存储百分比相似度的变量名. 两个字符串的相似程度计算依据 Oliver [1993] 的描述进行.注意该实现没有使用 Oliver 虚拟码中的堆栈,但是却进行了递归调用,这
-
PHP数据分析引擎计算余弦相似度算法示例
本文实例讲述了PHP数据分析引擎计算余弦相似度算法.分享给大家供大家参考,具体如下: 关于余弦相似度的相关介绍可参考百度百科:余弦相似度 <?php /** * 数据分析引擎 * 分析向量的元素 必须和基准向量的元素一致,取最大个数,分析向量不足元素以0填补. * 求出分析向量与基准向量的余弦值 * @author yu.guo@okhqb.com */ /** * 获得向量的模 * @param unknown_type $array 传入分析数据的基准点的N维向量.|eg:array(1,1
-
php查询相似度最高的字符串的方法
本文实例讲述了php查询相似度最高的字符串的方法.分享给大家供大家参考.具体如下: 根据传入的字符串和数组,返回数组中相似度最高的字符串 1. PHP代码如下: function closest_word($input, $words) { $shortest = -1; foreach ($words as $word) { $lev = levenshtein($input, $word); if ($lev == 0) { $closest = $word; $shortest = 0;
随机推荐
- Extjs学习笔记之四 工具栏和菜单
- Vue.js组件使用开发实例教程
- 微信小程序 本地存储及登录页面处理实例详解
- 反序显示输入内容批处理
- MapReduce中ArrayWritable 使用指南
- Java利用反射如何查找使用指定注解的类详解
- python实现定时播放mp3
- 兼容IE与Firefox的js 复制代码
- php类声明和php类使用方法示例分享
- Android仿QQ消息提示实现弹出式对话框
- javascript学习基础笔记之DOM对象操作
- 使用jquery组件qrcode生成二维码及应用指南
- JavaScript中的Math.LOG2E属性使用详解
- 最新病毒变种sxs.exe及xeklsk.exe(柯南病毒)查杀方法
- 使用Xdebug调试和优化PHP程序之[1]
- Android 仿微信图像拍摄和选择界面功能(代码分享)
- java 导入Excel思路及代码示例
- Android用MVP实现一个简单的类淘宝订单页面的示例
- node.js博客项目开发手记
- python3.6 +tkinter GUI编程 实现界面化的文本处理工具(推荐)