W3C home > Mailing lists > Public > www-svg@w3.org > May 2003

[SVG] 3D Scalable Vectorial Graphic extension...

From: Fred P. <fprog26@hotmail.com>
Date: Thu, 01 May 2003 04:04:50 -0400
To: www-svg@w3.org
Message-ID: <1057787340.IAA22192@phantom.w3.org>

It might not necessarly part of defaut SVG 1.2,
probably part of an <svg3D> extension.

All 2D shapes have default z=0 in 3D coordinates
for backward compatibility.

The viewBox3D looks like a Quake cube view,
which can be zoom in/out, rotate, translate.

Transforms should be augmented with z="0" for default 2D,
for backward compatibility.

New 3D transforms:
translate3D
rotateXY
rotateXZ
rotateYZ
scale3D
matrix3D
skewX
skewY
skewZ

matrix3D( a,b,c,d, e,f,g,h, j,k,l,m )
[a b c d]
[e f g h]
[j k l m]
[0 0 0 1]

<g transform="matrix3D( 1,2,3,4,  11,12,13,14, 21,22,23,24)">
  <g transform="translate3D(200,40,40)">
    <g transform="scale3D(1.5)">
      <g transform="rotateXY(30)">
        <g transform="rotateXZ(30)">
          <g transform="rotateYZ(30)">

Other shapes with z="0" by default:
viewBox3D
rect3D
circle3D
ellipse3D
line3D
polyline3D
polygon3D
path3D

<svg width="300px" height="200px" version="1.1"
     viewBox3D="0 0 0 1500 1000 1000" preserveAspectRatio="none"
     xmlns="http://www.w3.org/2000/svg">


<rect3d x="1" y="1" z="1" width="1198" height="398"
        fill="none" stroke="blue" stroke-width="2"/>

<circle3D cx="600" cy="200" cz="200" r="100"
      fill="red" stroke="blue" stroke-width="10"  />

<ellipse3D transform="translate(900 200) rotate(-30)"
    rx="250" ry="100" rz="10"
    cx='300' cy='100' cz='100'
    fill="none" stroke="blue" stroke-width="20"  />

<line3D x1="900"  y1="300" z1="300"
        x2="1100" y2="100" z2="100"
        stroke-width="25"  />


<path3D fill="red" d="M 750,100,100 L 250,900,100 L 1250,900,100 z"/>


New 3D shapes:
cube
sphere

<cube style='fill: #FF0000; stroke: #00FF00;'
     x='100' y='100' z='100'
     dx='10' dy='20  dz='30'
     />


<sphere style='fill: #FF0000; stroke: #00FF00;'
      r='10'
     cx='300' cy='100' cz='100'
     />


Other situations might also
have to be analyzed like 3D grid layout.

<grid3d x-width='10' y-width='10' z-width='10'>
<grid3D-cell x='1' y='1' z='1' dx='1' dy='1' dz='1'>text</grid3D-cell>
</grid3d>

Comments, ideas, suggestions?

Sincerely yours,
Fred.

_________________________________________________________________
MSN 8 with e-mail virus protection service: 2 months FREE*  
http://join.msn.com/?page=features/virus
Received on Thursday, 1 May 2003 04:04:57 GMT

This archive was generated by hypermail 2.3.1 : Friday, 8 March 2013 15:54:25 GMT