利用PHP動(dòng)態(tài)生成VRML網(wǎng)頁(yè)
更新時(shí)間:2006年10月09日 00:00:00 作者:
多年前本人開(kāi)始從事三維動(dòng)畫(huà)方面的學(xué)習(xí),后學(xué)習(xí)了PHP,發(fā)現(xiàn)可以通過(guò)PHP動(dòng)態(tài)生成VRML文檔,有點(diǎn)類似于Generator動(dòng)態(tài)生成Flash的方式。
由于VRML博大精深,這里只介紹一個(gè)簡(jiǎn)單的例子,還可以將各種VRML結(jié)點(diǎn)存入數(shù)據(jù)庫(kù)中,這樣的虛擬現(xiàn)實(shí)網(wǎng)頁(yè)將……,爽!
下面是源程序。注意:在服務(wù)器上,要將讓PHP處理wrl格式的文檔,否則后果將是沒(méi)有任何虛擬現(xiàn)實(shí)。本源程序直接存成wrl文件,在瀏覽器中要安裝插件,可以到我的另一個(gè)主頁(yè)上去下載:http://go.163.com/~sjtucaocao/
<?php header("Content-type: application/x-vrml");$txt="#VRML V2.0 utf8
DEF leftBox Transform
{
translation -5 0 0
children
[
Shape
{
appearance Appearance
{
material Material
{
diffuseColor 1 0 0
}
}
geometry Box{}
}
DEF SphereChild Shape
{
appearance Appearance
{
material Material
{
diffuseColor 1 0 1
}
}
geometry Sphere
{
radius 1.2
}
}
]
}
DEF rightBox Transform
{
translation 5 0 0
children
[
Shape
{
appearance Appearance
{
material Material
{
diffuseColor 0 0 1
}
}
geometry Box{}
}
]
}
DEF onoff Transform
{
translation 0 -1 0
children
[
Shape
{
appearance Appearance
{
material Material
{
diffuseColor 0 1 0
}
}
geometry Box{}
}
DEF TS TouchSensor{}
]
}
DEF S Script
{
eventIn SFBool isActive
eventOut MFNode child
field MFNode testNode USE SphereChild
url
"javascript:
function isActive(value)
{
if (value)
{
child=testNode;
}
}
"
}
ROUTE TS.isActive TO S.isActive
ROUTE S.child TO leftBox.removeChildren
ROUTE S.child TO rightBox.addChildren";echo $txt;
?>
由于VRML博大精深,這里只介紹一個(gè)簡(jiǎn)單的例子,還可以將各種VRML結(jié)點(diǎn)存入數(shù)據(jù)庫(kù)中,這樣的虛擬現(xiàn)實(shí)網(wǎng)頁(yè)將……,爽!
下面是源程序。注意:在服務(wù)器上,要將讓PHP處理wrl格式的文檔,否則后果將是沒(méi)有任何虛擬現(xiàn)實(shí)。本源程序直接存成wrl文件,在瀏覽器中要安裝插件,可以到我的另一個(gè)主頁(yè)上去下載:http://go.163.com/~sjtucaocao/
<?php header("Content-type: application/x-vrml");$txt="#VRML V2.0 utf8
DEF leftBox Transform
{
translation -5 0 0
children
[
Shape
{
appearance Appearance
{
material Material
{
diffuseColor 1 0 0
}
}
geometry Box{}
}
DEF SphereChild Shape
{
appearance Appearance
{
material Material
{
diffuseColor 1 0 1
}
}
geometry Sphere
{
radius 1.2
}
}
]
}
DEF rightBox Transform
{
translation 5 0 0
children
[
Shape
{
appearance Appearance
{
material Material
{
diffuseColor 0 0 1
}
}
geometry Box{}
}
]
}
DEF onoff Transform
{
translation 0 -1 0
children
[
Shape
{
appearance Appearance
{
material Material
{
diffuseColor 0 1 0
}
}
geometry Box{}
}
DEF TS TouchSensor{}
]
}
DEF S Script
{
eventIn SFBool isActive
eventOut MFNode child
field MFNode testNode USE SphereChild
url
"javascript:
function isActive(value)
{
if (value)
{
child=testNode;
}
}
"
}
ROUTE TS.isActive TO S.isActive
ROUTE S.child TO leftBox.removeChildren
ROUTE S.child TO rightBox.addChildren";echo $txt;
?>
相關(guān)文章
php array_push()數(shù)組函數(shù):將一個(gè)或多個(gè)單元壓入數(shù)組的末尾(入棧)
函數(shù)array_push():將一個(gè)或多個(gè)單元壓入數(shù)組的末尾(入棧)2011-07-07
[PHP] 《PHP邊學(xué)邊教》(01.開(kāi)篇——準(zhǔn)備工作)
[PHP] 《PHP邊學(xué)邊教》(01.開(kāi)篇——準(zhǔn)備工作)...2006-12-12
php面向?qū)ο笕ヂ?(六)__set() __get() __isset() __unset()的用法
一般來(lái)說(shuō),總是把類的屬性定義為private,這更符合現(xiàn)實(shí)的邏輯。但是,對(duì)屬性的讀取和賦值操作是非常頻繁的,因此在PHP5 中,預(yù)定義了兩個(gè)函數(shù)“__get()”和“__set()”來(lái)獲取和賦值其屬性,以及檢查屬性的“__isset()”和刪除屬性的方法“__unset()”。2009-09-09
PHP個(gè)人網(wǎng)站架設(shè)連環(huán)講(四)
PHP個(gè)人網(wǎng)站架設(shè)連環(huán)講(四)...2006-10-10

