PHP绘制3D图形 之 自定义图形及矢量图.doc_第1页
PHP绘制3D图形 之 自定义图形及矢量图.doc_第2页
PHP绘制3D图形 之 自定义图形及矢量图.doc_第3页
PHP绘制3D图形 之 自定义图形及矢量图.doc_第4页
PHP绘制3D图形 之 自定义图形及矢量图.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

上一篇进行了一些简单3D图形实例,本篇介绍自定义及矢量图实例。首先绘制一个三尖角星体,分别由“前面”,“后面”和三个“侧面”组成。自定义多边形代码:setColor(new Image_3D_Color(255, 255, 255);/创建光源$light1 = $image-createLight(light,array(-50, -50, -50);$light1-setColor(new Image_3D_Color(100, 250, 100);$light2 = $image-createLight(light,array(50, -50, 0);$light2-setColor(new Image_3D_Color(100, 100, 250);$light3 = $image-createLight(light,array(50, 50, 0);$light3-setColor(new Image_3D_Color(50, 0, 100);/创建多边形数组$polygons = array();/前面点坐标$polygons = array( array(0, -120, 0), array(-18, -12, 0), array(-86, 48, 0), array(0, 18, 0), array(86, 48, 0), array(18, -12, 0) );/后面点坐标$polygons = array( array(0, -120, 60), array(-18, -12, 60), array(-86, 48, 60), array(0, 18, 60), array(86, 48, 60), array(18, -12, 60) );/三侧面点坐标$polygons = array( array(0, -120, 0), array(-18, -12, 0), array(-86, 48, 0), array(-86, 48, 60), array(-18, -12, 60),array(0, -120, 60) );$polygons = array( array(-86, 48, 0), array(0, 18, 0), array(86, 48, 0), array(86, 48, 60), array(0, 18, 60), array(-86, 48, 60) );$polygons = array( array(86, 48, 0), array(18, -12, 0), array(0, -120, 0), array(0, -120, 60), array(18, -12, 60),array(86, 48, 60) );/绘制3D图像foreach ($polygons as $poly) $points = array(); foreach ($poly as $set) $points = new Image_3D_Point($set0, $set1, $set2); $p = $image-createObject(polygon, $points); $p-setColor(new Image_3D_Color(255, 255, 255);$image-transform($image-createMatrix(Rotation, array(-10, -25, -15);$image-createRenderer(perspectively);$image-createDriver(gd);$image-render(300, 300, anim.png);echo ;?效果图:矢量图 可缩放的矢量图形(Scalable Vector Graphics,SVG)文件格式是组成2D图像的矢量XML文件。 在2001年,W3C对该格式进行了标准化,但其在Web方面的使用因为浏览器显示SVG文件的牵制而不很流行。 目前,最好的选择是Firefox它有内置的SVG支持,或具有Adobe SVG插件的IE。下面通过一个实例生成SVG文件。代码:setColor(new Image_3D_Color(255, 255, 255);for ($x=0; $x 4; $x+) for ($y=0; $y 4; $y+) for ($z=0; $z createObject(sphere, array(r = 25, detail = 3); /后面150用于设置图像透明度 $sphere-setColor(new Image_3D_Color(255, 162, 0, 150); $sphere-transform($image-createMatrix(Move, array($x * 75) + 50, $y * 75, $z * 75); $sphere-transform($image-createMatrix(Rotation, array($rot_x, $rot_y, $rot_z); $image-transform($image-createMatrix(Move, array(-225, -100, 0);$image-createRenderer(perspectively);/使用SVG驱动生成矢量

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论