Editorial Board
David Hutchison
Lancaster University, UK
Takeo Kanade
Carnegie Mellon University, Pittsburgh, PA, USA
Josef Kittler
University of Surrey, Guildford, UK
Jon M. Kleinberg
Cornell University, Ithaca, NY, USA
Friedemann Mattern
ETH Zurich, Switzerland
John C. Mitchell
Stanford University, CA, USA
Moni Naor
Weizmann Institute of Science, Rehovot, Israel
Oscar Nierstrasz
University of Bern, Switzerland
C. Pandu Rangan
Indian Institute of Technology, Madras, India
Bernhard Steffen
University of Dortmund, Germany
Madhu Sudan
Massachusetts Institute of Technology, MA, USA
Demetri Terzopoulos
University of California, Los Angeles, CA, USA
Doug Tygar
University of California, Berkeley, CA, USA
Moshe Y. Vardi
Rice University, Houston, TX, USA
Gerhard Weikum
MaxPlanck Institute of Computer Science, Saarbruecken, Germany
4488
Computational
Science ICCS 2007
7th International Conference
Beijing, China, May 27  30, 2007
Proceedings, Part II
13
Volume Editors
Yong Shi
Graduate University of the Academy of Sciences
Beijing 100080, China
Email: yshi@gucas.ac.cn
Geert Dick van Albada
Peter M.A. Sloot
University of Amsterdam, Section Computational Science
1098 SJ Amsterdam, The Netherlands
Email: {dick, sloot}@science.uva.nl
Jack Dongarra
University of Tennessee, Computer Science Department
Knoxville, TN 379963450, USA
Email: dongarra@cs.utk.edu
03029743
3540725857 Springer Berlin Heidelberg New York
9783540725855 Springer Berlin Heidelberg New York
This work is subject to copyright. All rights are reserved, whether the whole or part of the material is
concerned, specically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting,
reproduction on microlms or in any other way, and storage in data banks. Duplication of this publication
or parts thereof is permitted only under the provisions of the German Copyright Law of September 9, 1965,
in its current version, and permission for use must always be obtained from Springer. Violations are liable
to prosecution under the German Copyright Law.
Springer is a part of Springer Science+Business Media
springer.com
SpringerVerlag Berlin Heidelberg 2007
Printed in Germany
Typesetting: Cameraready by author, data conversion by Scientic Publishing Services, Chennai, India
Printed on acidfree paper
SPIN: 12065738
06/3180
543210
Preface
VI
Preface
received more than 2,400 submissions for all tracks combined, out of which 716
were accepted.
This includes 529 oral papers, 97 short papers, and 89 poster papers, spread
over 35 workshops and a main track. For the main track we had 91 papers (80
oral papers and 11 short papers) in the proceedings, out of 360 submissions. We
had some 930 people doing reviews for the conference, with 118 for the main
track. Almost all papers received three reviews. The accepted papers are from
more than 43 dierent countries and 48 dierent Internet toplevel domains.
The papers cover a large volume of topics in computational science and related areas, from multiscale physics to wireless networks, and from graph theory
to tools for program development.
We would like to thank all workshop organizers and the Program Committee
for the excellent work in maintaining the conferences standing for highquality
papers. We would like to express our gratitude to sta and graduates of the Chinese Academy of Sciences Research Center on Data Technology and Knowledge
Economy and the Institute of Policy and Management for their hard work in
support of ICCS 2007. We would like to thank the Local Organizing Committee
and Local Arrangements Committee for their persistent and enthusiastic work
towards the success of ICCS 2007. We owe special thanks to our sponsors, AMD,
Springer; University of Nebraska at Omaha, USA and Graduate University of
Chinese Academy of Sciences, for their generous support.
ICCS 2007 was organized by the Chinese Academy of Sciences Research Center on Data Technology and Knowledge Economy, with support from the Section Computational Science at the Universiteit van Amsterdam and Innovative
Computing Laboratory at the University of Tennessee, in cooperation with the
Society for Industrial and Applied Mathematics (SIAM), the International Association for Mathematics and Computers in Simulation (IMACS), the Chinese
Society for Management Modernization (CSMM), and the Chinese Society of
Optimization, Overall Planning and Economical Mathematics (CSOOPEM).
May 2007
Yong Shi
Organization
ICCS 2007 was organized by the Chinese Academy of Sciences Research Center on Data Technology and Knowledge Economy, with support from the Section Computational Science at the Universiteit van Amsterdam and Innovative
Computing Laboratory at the University of Tennessee, in cooperation with the
Society for Industrial and Applied Mathematics (SIAM), the International Association for Mathematics and Computers in Simulation (IMACS), and the Chinese
Society for Management Modernization (CSMM).
Conference Chairs
Conference Chair  Yong Shi (Chinese Academy of Sciences, China/University
of Nebraska at Omaha USA)
Program Chair  Dick van Albada (Universiteit van Amsterdam,
The Netherlands)
ICCS Series Overall Scientic Cochair  Jack Dongarra (University of Tennessee,
USA)
ICCS Series Overall Scientic Chair  Peter M.A. Sloot (Universiteit van
Amsterdam, The Netherlands)
VIII
Organization
Sponsoring Institutions
AMD
Springer
World Scientic Publlishing
University of Nebraska at Omaha, USA
Graduate University of Chinese Academy of Sciences
Institute of Policy and Management, Chinese Academy of Sciences Universiteit
van Amsterdam
Program Committee
J.H. Abawajy, Deakin University, Australia
D. Abramson, Monash University, Australia
V. Alexandrov, University of Reading, UK
I. Altintas, San Diego Supercomputer Center, UCSD
M. Antolovich, Charles Sturt University, Australia
E. Araujo, Universidade Federal de Campina Grande, Brazil
M.A. Baker, University of Reading, UK
B. Balis, Krakow University of Science and Technology, Poland
A. Benoit, LIP, ENS Lyon, France
I. Bethke, University of Amsterdam, The Netherlands
J.A.R. Blais, University of Calgary, Canada
I. Brandic, University of Vienna, Austria
J. Broeckhove, Universiteit Antwerpen, Belgium
M. Bubak, AGH University of Science and Technology, Poland
K. Bubendorfer, Victoria University of Wellington, Australia
B. Cantalupo, DATAMAT S.P.A, Italy
J. Chen Swinburne, University of Technology, Australia
O. Corcho, University of Manchester, UK
J.C. Cunha, Univ. Nova de Lisboa, Portugal
Organization
IX
Organization
Organization
Reviewers
J.H. Abawajy
D. Abramson
A. Abran
P. Adriaans
W. Ahn
R. Akbani
K. Akkaya
R. Albert
M. Aldinucci
V.N. Alexandrov
B. Alidaee
I. Altintas
K. Altmanninger
S. Aluru
S. Ambroszkiewicz
L. Anido
K. Anjyo
C. Anthes
M. Antolovich
S. Antoniotti
G. Antoniu
H. Arabnia
E. Araujo
E. Ardeleanu
J. Aroba
J. Astalos
B. Autin
M. Babik
G. Bai
E. Baker
M.A. Baker
S. Balfe
B. Balis
W. Banzhaf
D. Bastola
S. Battiato
M. Baumgarten
M. Baumgartner
P. Beckaert
A. Belloum
O. Belmonte
A. Belyaev
A. Benoit
G. Bergantz
J. Bernsdorf
J. Berthold
I. Bethke
I. Bhana
R. Bhowmik
M. Bickelhaupt
J. Bin Shyan
J. Birkett
J.A.R. Blais
A. Bode
B. Boghosian
S. Bolboaca
C. Bothorel
A. Bouteiller
I. Brandic
S. Branford
S.J. Branford
R. Braungarten
R. Briggs
J. Broeckhove
W. Bronsvoort
A. Bruce
C. Brugha
Y. Bu
K. Bubendorfer
I. Budinska
G. Buemi
B. Bui
H.J. Bungartz
A. Byrski
M. Cai
Y. Cai
Y.Q. Cai
Z.Y. Cai
XI
XII
Organization
B. Cantalupo
K. Cao
M. Cao
F. Capkovic
A. Cepulkauskas
K. Cetnarowicz
Y. Chai
P. Chan
G.L. Chang
S.C. Chang
W.A. Chaovalitwongse
P.K. Chattaraj
C.K. Chen
E. Chen
G.Q. Chen
G.X. Chen
J. Chen
J. Chen
J.J. Chen
K. Chen
Q.S. Chen
W. Chen
Y. Chen
Y.Y. Chen
Z. Chen
G. Cheng
X.Z. Cheng
S. Chiu
K.E. Cho
Y.Y. Cho
B. Choi
J.K. Choi
D. Choinski
D.P. Chong
B. Chopard
M. Chover
I. Chung
M. Ciglan
B. Cogan
G. Cong
J. Corander
J.C. Corchado
O. Corcho
J. Cornil
H. Cota de Freitas
E. Coutinho
J.J. CuadradoGallego
Y.F. Cui
J.C. Cunha
V. Curcin
A. Curioni
R. da Rosa Righi
S. Dalai
M. Daneva
S. Date
P. Dazzi
S. de Marchi
V. Debelov
E. Deelman
J. Della Dora
Y. Demazeau
Y. Demchenko
H. Deng
X.T. Deng
Y. Deng
M. Mat Deris
F. Desprez
M. Dewar
T. Dhaene
Z.R. Di
G. di Biasi
A. Diaz Guilera
P. Didier
I.T. Dimov
L. Ding
G.D. Dobrowolski
T. Dokken
J.J. Dolado
W. Dong
Y.L. Dong
J. Dongarra
F. Donno
C. Douglas
G.J. Garcke
R.P. Mundani
R. Drezewski
D. Du
B. Duan
J.F. Dufourd
H. Dun
C. Earley
P. Edmond
T. Eitrich
A. El Rhalibi
T. Ernst
V. Ervin
D. Estrin
L. EyraudDubois
J. Falcou
H. Fang
Y. Fang
X. Fei
Y. Fei
R. Feng
M. Fernandez
K. Fisher
C. Fittschen
G. Fox
F. Freitas
T. Friesz
K. Fuerlinger
M. Fujimoto
T. Fujinami
W. Funika
T. Furumura
A. Galvez
L.J. Gao
X.S. Gao
J.E. Garcia
H.J. Gardner
M. Garre
G. Garsva
F. Gava
G. Geethakumari
M. Geimer
J. Geiser
J.P. Gelas
A. Gerbessiotis
M. Gerndt
S. Gimelshein
S.G. Girdzijauskas
S. Girtelschmid
Z. Gj
C. Glasner
A. Goderis
Organization
D. Godoy
J. Golebiowski
S. Gopalakrishnan
Y. Gorbachev
A.M. Goscinski
M. Govindaraju
E. Grabska
G.A. Gravvanis
C.H. Grelck
D.J. Groen
L. Gross
P. Gruer
A. Grzech
J.F. Gu
Y. Guang Xue
T. Gubala
V. GuevaraMasis
C.H. Guo
X. Guo
Z.Q. Guo
L. Guohui
C. Gupta
I. Gutman
A. Haegee
K. Han
M. Hardt
A. Hasson
J. He
J. He
K. He
T. He
J. He
M.R. Head
P. Heinzlreiter
H. Chojnacki
J. Heo
S. Hirokawa
G. Hliniak
L. Hluchy
T.B. Ho
A. Hoekstra
W. Homann
A. Hoheisel
J. Hong
Z. Hong
D. Horvath
F. Hu
L. Hu
X. Hu
X.H. Hu
Z. Hu
K. Hua
H.W. Huang
K.Y. Huang
L. Huang
L. Huang
M.S. Huang
S. Huang
T. Huang
W. Huang
Y. Huang
Z. Huang
Z. Huang
B. Huber
E. Hubo
J. Hulliger
M. Hultell
M. Humphrey
P. Hurtado
J. Huysmans
T. Ida
A. Iglesias
K. Iqbal
D. Ireland
N. Ishizawa
I. Lukovits
R. Jamieson
J.K. Jan
P. Janderka
M. Jankowski
L. Jantschi
S.J.K. Jensen
N.J. Jeon
T.H. Jeon
T. Jeong
H. Ji
X. Ji
D.Y. Jia
C. Jiang
H. Jiang
XIII
M.J. Jiang
P. Jiang
W. Jiang
Y. Jiang
H. Jin
J. Jin
L. Jingling
G.S. Jo
D. Johnson
J. Johnstone
J.J. Jung
K. Juszczyszyn
J.A. Kaandorp
M. Kabelac
B. Kadlec
R. Kakkar
C. Kameyama
B.D. Kandhai
S. Kandl
K. Kang
S. Kato
S. Kawata
T. Kegl
W.A. Kelly
J. Kennedy
G. Khan
J.B. Kido
C.H. Kim
D.S. Kim
D.W. Kim
H. Kim
J.G. Kim
J.H. Kim
M. Kim
T.H. Kim
T.W. Kim
P. Kiprof
R. Kirner
M. KisielDorohinicki
J. Kitowski
C.R. Kleijn
M. Kluge
upfer
A. Kn
I.S. Ko
Y. Ko
XIV
Organization
R. Kobler
B. Koblitz
G.A. Kochenberger
M. Koda
T. Koeckerbauer
M. Koehler
I. Kolingerova
V. Korkhov
T. Korkmaz
L. Kotulski
G. Kou
J. Kozlak
M. Krafczyk
D. Kranzlm
uller
B. Kryza
V.V. Krzhizhanovskaya
M. Kunze
D. Kurzyniec
E. Kusmierek
S. Kwang
Y. Kwok
F. Kyriakopoulos
H. Labiod
A. Lagana
H. Lai
S. Lai
Z. Lan
G. Le Mahec
B.G. Lee
C. Lee
H.K. Lee
J. Lee
J. Lee
J.H. Lee
S. Lee
S.Y. Lee
V. Lee
Y.H. Lee
L. Lefevre
L. Lei
F. Lelj
A. Lesar
D. Lesthaeghe
Z. Levnajic
A. Lewis
A. Li
D. Li
D. Li
E. Li
J. Li
J. Li
J.P. Li
M. Li
P. Li
X. Li
X.M. Li
X.S. Li
Y. Li
Y. Li
J. Liang
L. Liang
W.K. Liao
X.F. Liao
G.G. Lim
H.W. Lim
S. Lim
A. Lin
I.C. Lin
IC. Lin
Y. Lin
Z. Lin
P. Lingras
C.Y. Liu
D. Liu
D.S. Liu
E.L. Liu
F. Liu
G. Liu
H.L. Liu
J. Liu
J.C. Liu
R. Liu
S.Y. Liu
W.B. Liu
X. Liu
Y. Liu
Y. Liu
Y. Liu
Y. Liu
Y.J. Liu
Y.Z. Liu
Z.J. Liu
S.C. Lo
R. Loogen
B. Lopez
A. Lopez Garca de
Lomana
F. Loulergue
G. Lu
J. Lu
J.H. Lu
M. Lu
P. Lu
S. Lu
X. Lu
Y.C. Lu
C. Lursinsap
L. Ma
M. Ma
T. Ma
A. Macedo
N. Maillard
M. Malawski
S. Maniccam
S.S. Manna
Z.M. Mao
M. Mascagni
E. Mathias
R.C. Maurya
V. Maxville
A.S. McGough
R. Mckay
T.G. MCKenzie
K. Meenal
R. Mehrotra
M. Meneghin
F. Meng
M.F.J. Meng
E. Merkevicius
M. Metzger
Z. Michalewicz
J. Michopoulos
J.C. Mignot
R. mikusauskas
H.Y. Ming
Organization
G. Miranda Valladares
M. Mirua
G.P. Miscione
C. Miyaji
A. Miyoshi
J. Monterde
E.D. Moreno
G. Morra
J.T. Moscicki
H. Moshkovich
V.M. Moskaliova
G. Mounie
C. Mu
A. Muraru
H. Na
K. Nakajima
Y. Nakamori
S. Naqvi
S. Naqvi
R. Narayanan
A. Narjess
A. Nasri
P. Navaux
P.O.A. Navaux
M. Negoita
Z. Nemeth
L. Neumann
N.T. Nguyen
J. Ni
Q. Ni
K. Nie
G. Nikishkov
V. Nitica
W. Nocon
A. Noel
G. Norman
Nuall
B. O
ain
N. OBoyle
J.T. Oden
Y. Ohsawa
H. Okuda
D.L. Olson
C.W. Oosterlee
V. Oravec
S. Orlando
F.R. Ornellas
A. Ortiz
S. Ouyang
T. Owens
S. Oyama
B. Ozisikyilmaz
A. Padmanabhan
Z. Pan
Y. Papegay
M. Paprzycki
M. Parashar
K. Park
M. Park
S. Park
S.K. Pati
M. Pauley
C.P. Pautasso
B. Payne
T.C. Peachey
S. Pelagatti
F.L. Peng
Q. Peng
Y. Peng
N. Petford
A.D. Pimentel
W.A.P. Pinheiro
J. Pisharath
G. Pitel
D. Plemenos
S. Pllana
S. Ploux
A. Podoleanu
M. Polak
D. Prabu
B.B. Prahalada Rao
V. Prasanna
P. Praxmarer
V.B. Priezzhev
T. Priol
T. Prokosch
G. Pucciani
D. Puja
P. Puschner
L. Qi
D. Qin
H. Qin
K. Qin
R.X. Qin
X. Qin
G. Qiu
X. Qiu
J.Q. Quinqueton
M.R. Radecki
S. Radhakrishnan
S. Radharkrishnan
M. Ram
S. Ramakrishnan
P.R. Ramasami
P. Ramsamy
K.R. Rao
N. Ratnakar
T. Recio
K. RegenauerLieb
R. Rejas
F.Y. Ren
A. Rendell
P. Rhodes
J. Ribelles
M. Riedel
R. Rioboo
Y. Robert
G.J. Rodgers
A.S. Rodionov
D. Rodrguez Garca
C. Rodriguez Leon
F. Rogier
G. Rojek
L.L. Rong
H. Ronghuai
H. Rosmanith
F.X. Roux
R.K. Roy
U. R
ude
M. Ruiz
T. Ruofeng
K. Rycerz
M. Ryoke
F. Safaei
T. Saito
V. Sakalauskas
XV
XVI
Organization
L. Santillo
R. Santinelli
K. Sarac
H. Saraan
M. Sarfraz
V.S. Savchenko
M. Sbert
R. Schaefer
D. Schmid
J. Schneider
M. Schoeberl
S.B. Scholz
B. Schulze
S.R. Seelam
B. Seetharamanjaneyalu
J. Seo
K.D. Seo
Y. Seo
O.A. Serra
A. Sfarti
H. Shao
X.J. Shao
F.T. Sheldon
H.Z. Shen
S.L. Shen
Z.H. Sheng
H. Shi
Y. Shi
S. Shin
S.Y. Shin
B. Shirazi
D. Shires
E. Shook
Z.S. Shuai
M.A. Sicilia
M. Simeonidis
K. Singh
M. Siqueira
W. Sit
M. Skomorowski
A. Skowron
P.M.A. Sloot
M. Smolka
B.S. Sniezynski
H.Z. Sojka
A.E. Solomonides
C. Song
L.J. Song
S. Song
W. Song
J. Soto
A. Sourin
R. Srinivasan
V. Srovnal
V. Stankovski
P. Sterian
H. Stockinger
D. Stokic
A. Streit
B. Strug
P. Stuedi
A. St
umpel
S. Su
V. Subramanian
P. Suganthan
D.A. Sun
H. Sun
S. Sun
Y.H. Sun
Z.G. Sun
M. Suvakov
H. Suzuki
D. Szczerba
L. Szecsi
L. SzirmayKalos
R. Tadeusiewicz
B. Tadic
T. Takahashi
S. Takeda
J. Tan
H.J. Tang
J. Tang
S. Tang
T. Tang
X.J. Tang
J. Tao
M. Taufer
S.F. Tayyari
C. Tedeschi
J.C. Teixeira
F. Terpstra
C. TeYi
A.Y. Teymorian
D. Thalmann
A. Thandavan
L. Thompson
S. Thurner
F.Z. Tian
Y. Tian
Z. Tianshu
A. TiradoRamos
A. Tirumala
P. Tjeerd
W. Tong
A.S. Tosun
A. Tropsha
C. Troyer
K.C.K. Tsang
A.C. Tsipis
I. Tsutomu
A. Turan
P. Tvrdik
U. Ufuktepe
V. Uskov
B. Vaidya
E. Valakevicius
I.A. Valuev
S. Valverde
G.D. van Albada
R. van der Sman
F. van Lingen
A.J.C. Varandas
C. Varotsos
D. Vasyunin
R. Veloso
J. VigoAguiar
J. Vill`
a i Freixa
V. Vivacqua
E. Vumar
R. Walentkynski
D.W. Walker
B. Wang
C.L. Wang
D.F. Wang
D.H. Wang
Organization
F. Wang
F.L. Wang
H. Wang
H.G. Wang
H.W. Wang
J. Wang
J. Wang
J. Wang
J. Wang
J.H. Wang
K. Wang
L. Wang
M. Wang
M.Z. Wang
Q. Wang
Q.Q. Wang
S.P. Wang
T.K. Wang
W. Wang
W.D. Wang
X. Wang
X.J. Wang
Y. Wang
Y.Q. Wang
Z. Wang
Z.T. Wang
A. Wei
G.X. Wei
Y.M. Wei
X. Weimin
D. Weiskopf
B. Wen
A.L. Wendelborn
I. Wenzel
A. Wibisono
A.P. Wierzbicki
R. Wism
uller
F. Wolf
C. Wu
C. Wu
F. Wu
G. Wu
J.N. Wu
X. Wu
X.D. Wu
Y. Wu
Z. Wu
B. Wylie
M. Xavier Py
Y.M. Xi
H. Xia
H.X. Xia
Z.R. Xiao
C.F. Xie
J. Xie
Q.W. Xie
H. Xing
H.L. Xing
J. Xing
K. Xing
L. Xiong
M. Xiong
S. Xiong
Y.Q. Xiong
C. Xu
C.H. Xu
J. Xu
M.W. Xu
Y. Xu
G. Xue
Y. Xue
Z. Xue
A. Yacizi
B. Yan
N. Yan
N. Yan
W. Yan
H. Yanami
C.T. Yang
F.P. Yang
J.M. Yang
K. Yang
L.T. Yang
L.T. Yang
P. Yang
X. Yang
Z. Yang
W. Yanwen
S. Yarasi
D.K.Y. Yau
XVII
P.W. Yau
M.J. Ye
G. Yen
R. Yi
Z. Yi
J.G. Yim
L. Yin
W. Yin
Y. Ying
S. Yoo
T. Yoshino
W. Youmei
Y.K. YoungKyu Han
J. Yu
J. Yu
L. Yu
Z. Yu
Z. Yu
W. Yu Lung
X.Y. Yuan
W. Yue
Z.Q. Yue
D. Yuen
T. Yuizono
J. Zambreno
P. Zarzycki
M.A. Zatevakhin
S. Zeng
A. Zhang
C. Zhang
D. Zhang
D.L. Zhang
D.Z. Zhang
G. Zhang
H. Zhang
H.R. Zhang
H.W. Zhang
J. Zhang
J.J. Zhang
L.L. Zhang
M. Zhang
N. Zhang
P. Zhang
P.Z. Zhang
Q. Zhang
XVIII
Organization
S. Zhang
W. Zhang
W. Zhang
Y.G. Zhang
Y.X. Zhang
Z. Zhang
Z.W. Zhang
C. Zhao
H. Zhao
H.K. Zhao
H.P. Zhao
J. Zhao
M.H. Zhao
W. Zhao
Z. Zhao
L. Zhen
B. Zheng
G. Zheng
W. Zheng
Y. Zheng
W. Zhenghong
P. Zhigeng
W. Zhihai
Y. Zhixia
A. Zhmakin
C. Zhong
X. Zhong
K.J. Zhou
L.G. Zhou
X.J. Zhou
X.L. Zhou
Y.T. Zhou
H.H. Zhu
H.L. Zhu
L. Zhu
X.Z. Zhu
Z. Zhu
M. Zhu.
J. Zivkovic
A. Zomaya
E.V. ZudilovaSeinstra
Workshop Organizers
Sixth International Workshop on Computer Graphics and Geometric
Modelling
A. Iglesias, University of Cantabria, Spain
Fifth International Workshop on Computer Algebra Systems and
Applications
A. Iglesias, University of Cantabria, Spain,
A. Galvez, University of Cantabria, Spain
PAPP 2007  Practical Aspects of HighLevel Parallel Programming
(4th International Workshop)
A. Benoit, ENS Lyon, France
F. Loulerge, LIFO, Orlans, France
International Workshop on Collective Intelligence for Semantic and
Knowledge Grid (CISKGrid 2007)
N.T. Nguyen, Wroclaw University of Technology, Poland
J.J. Jung, INRIA Rh
oneAlpes, France
K. Juszczyszyn, Wroclaw University of Technology, Poland
Simulation of Multiphysics Multiscale Systems, 4th International
Workshop
V.V. Krzhizhanovskaya, Section Computational Science, University of
Amsterdam, The Netherlands
A.G. Hoekstra, Section Computational Science, University of Amsterdam,
The Netherlands
Organization
XIX
XX
Organization
Organization
XXI
XXII
Organization
17
25
33
41
sler
Erkan Ulker
and Veysi I
49
57
65
73
81
89
XXIV
97
105
114
122
130
Eduardo J. Alvarez,
Celso Campos, Silvana G. Meire,
Ricardo Quir
os, Joaquin Huerta, and Michael Gould
138
146
150
154
158
162
166
170
178
XXV
186
194
203
211
219
227
235
243
251
Algimantas Cepulkauskas,
Regina Kulvietiene,
Genadijus Kulvietis, and Jurate Mikucioniene
259
263
268
272
XXVI
280
288
296
304
312
319
327
331
335
339
347
355
XXVII
363
370
378
386
393
397
401
409
415
423
431
439
447
XXVIII
455
462
470
478
482
486
490
494
499
503
511
515
523
XXIX
531
538
542
550
558
562
569
577
585
593
601
609
XXX
617
625
633
Milovan Suvakov
and Bosiljka Tadic
641
649
657
665
673
681
689
696
704
712
720
XXXI
728
736
744
752
760
768
776
784
792
799
808
815
823
XXXII
831
839
847
855
864
872
880
888
896
904
912
920
928
936
XXXIII
944
952
956
960
966
970
974
978
982
990
997
XXXIV
XXXV
1 Introduction
Augmented reality is an area of technology that has originated in virtual reality. While
virtual reality offers a virtual world in which users are completely immersed,
augmented reality offers virtual objects on the basis of real world images. At present,
augmented reality technology is being researched and applied to various areas
including the military, medicine, education, construction, game, and broadcasting.
This paper studied on the development of a realistic simulated training model through
the display of virtual targets in the input images of CCD camera mounted in a tank
and the determination of occlusion areas generated from the creation and movement
of virtual objects through a movement path according to a scenario. Augmented
reality has three general characteristics: image registration, interaction, and real
time[1]. Image registration refers to the matching of the locations of the real world
object that users watch and the related virtual object, real time refers to the real time
image registration and interaction. Interaction implies that the combination of virtual
objects and the objects in real images must be harmonized with surrounding
environment in a realistic manner, and refers to the determination of occlusion areas
according to the changed location or line of sight of the observer or the rerendering
of virtual objects after detection of collisions. However, to solve the problems of
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 1 8, 2007.
SpringerVerlag Berlin Heidelberg 2007
occlusion such as the hiding of farther virtual objects by closer objects and the
covering of objects in real images by other objects, the two worlds must be accurately
coordinated and then the depth of the actual scene must be compared with the depth
of virtual objects[2][3]. But if the accuracy or density of the created map is
insufficient to estimate the boundary of occlusion area, it is difficult to determine the
occlusion area. To solve this problem, first, we created a 3D wireframe using the
DEM of the experiment area and then coordinate this using CCD camera images and
visual clues. Second, to solve the problem of occlusion by accurately estimating the
boundary regardless of the density of map, this paper also proposed a method to
obtain the reference 3D information of the occlusion points using the Snake algorithm
and the Picking algorithm and then to infer the 3D information of other boundaries
using the proportional relations between 2D and 3D DEMs. Third, for improving
processing speed, we suggest a method by comparing the MER(Minimum Enclosing
Rectangle) area of the object in the cameras angle of vision and the MER of the
virtual target. Fig. 1 shows the proposed system framework.
2 Methodology
2.1 Formation of Wireframe Using DEM and Registration with Real Images
Using Visual Clues
The topographical information DEM (Digital Elevation Model) is used to map the
real world coordinates to each point of the 2D CCD image. DEM has information on
the latitude and longitude coordinates expressed in X and Y and heights in fixed
interval. The DEM used for this experiment is a gridtype DEM which had been
produced to have the height information for 2D coordinates in 1M interval for the
limited experiment area of 300 m x 300 m. The DEM data are read to create a mesh
with the vertexes of each rectangle and a wireframe with 3D depth information as
Fig. 2[4][5]. This is overlaid on the sensor image to check the coordination, and visual
clues are used to move the image to up, down, left or right as shown in Fig. 3, thus
reducing error. Based on this initial coordinated location, the location changes by
movement of vehicles were frequently updated using GPS (Global Positioning
System) and INS (Inertial Navigation System).
()
= 2.0 , respectively.
(1)
The first term is the energy function that represents the continuity of the snake
vertexes surrounding the occlusion area and the second term is the energy function
that controls the smoothness of the curve forming the snake, of which the value
increases along with the curvature, enabling the detection of corner points. Lastly,
Eimage is a image feature function. All energy functions are normalized to have a
value between 1 and 0. As shown in Table 1, this algorithm extracts the outline by
repeatedly performing the energy minimization algorithm which sets a 3 pixels x3
pixels window at each vertex v(i ) , finds positions where energy is minimized in
consideration of the continuity between previous and next vertexes, curvature, and
edge strength, and then moves the vertexes to the positions.
Table 1. Snake Algorithm
PB = (PxB , Py B , PzB ),
Pk
is
PB is 3D correspondence point of S B ,
a
point
except
reference
point,
'
pm that passes the center of the screen using the coordinates of the
'
reference point obtained above, t must be obtained first. As the t value is given by
To get
in Expression (2).
B = sin 1 (
To get
tm,
PyB
t
), t ' = t B cos ( B )
t' = t'
(2)
B = tan 1 (
Because t m
PxB
t'
), t ' = t m cos (B ) , t m =
t'
cos (B )
tm = t m
(3)
= p zm , Pm = (0,0, t m ) .
Now, we can present the relation between the 2D screen view in Fig. 5 and the 3D
space coordinates, and this can be used to get pk , which corresponds to the 2D snake
vertex.
S B : PB = S k : Pk , S xB : PxB = S xk : Pxk ,
Pxk =
PxB S xk
S xB
, S yB
PyB S yk
(4)
S yB
minimum rectangle that can enclose the object and determines the object that has an
overlapping area by comparing the objects in the camera image and the MER of the
virtual target. In addition, the distance between object and virtual target is obtained
using the fact that the determined object and virtual target are placed more or less in a
straight line from the camera, and this value was used to determine whether there
exists an object between the virtual target and the camera.
3 Experimental Results
Fig. 6(left) shows movement path of the virtual target which trainee sets. Also, (right)
shows the various virtual targets created to display the targets changing with
movement on the image.
Fig. 6.
Fig. 7 shows the virtual images moving along the path by frame. We can see that as
the frames increase, it is occluded between the tank and the object.
Table 2 compares between the case of using snake vertexes to select objects in the
image to compare with virtual targets and the case of using the proposed MER. With
the proposed method, the processing speed decreased by 1.671, which contributed to
performance improvement.
Method
Snake vertexes
MER(proposed)
Total frame
301
301
Used object
10
10
Speed(sec)
112
67
4 Conclusions
To efficiently solve the problem of occlusion that occurs when virtual targets are
moved along the specified path over an actual image, we created 3D virtual world
using DEM and coordinated this using camera images and visual clues. Moreover, the
Snake algorithm and the Picking algorithm were used to extract an object that is close
to the original shape to determine the 3D information of the point to be occluded. To
increase the occlusion processing speed, this paper also used the method of using the
3D information of the MER area of the object, and proved the validity of the proposed
method through experiment. In the future, more research is required on a more
accurate extracting method for occlusion area that is robust against illumination as
well as on the improvement of operation speed.
Acknowledgement
This work was supported by the Korea Research Foundation Grant funded by the
Korean Government(MOEHRD)(KRF2006005J03801).
References
[1] Bimber, O. and Raskar, R.,Spatial Augmented Reality: A Modern Approach to Augmented
Reality, Siggraph 2005, Los Angeles USA
[2] J. Yong Noh and U. Neumann. Expression cloning. In SIGGRAPH'01, pages 277288,
2001.
[3] E. Chen. Quicktime VRan imagebased approach to virtual environment navigation. Proc.
of SIGGRAPH, 1995.
[4] Lilian Ji, Hong Yan, "Attractable snakes based on the greedy algorithm for contour
extraction", Pattern Recognition 35, pp.791806 (2002)
[5] Charles C. H. Lean, Alex K. B. See, S. Anandan Shanmugam, "An Enhanced Method for
the Snake Algorithm," icicic, pp. 240243, First International Conference on Innovative
Computing, Information and Control  Volume I (ICICIC'06), 2006
[6] Wu, S.T., Abrantes, M., Tost, D., and Batagelo, H. C. 2003. Picking and snapping for 3d
input devices. In Proceedings of SIBGRAPI 2003, 140147.
1 Introduction
The levelset method is a numerical technique for tracking interfaces and shapes[1].
The advantage of the levelset method is that one can perform numerical computations involving curves and surfaces on a fixed Cartesian grid without having to parameterize these objects. In addition, the levelset method makes it easy to follow
shapes which change topology. All these make the levelset method a great tool for
modeling timevarying objects. Thus, deformable isosurfaces modeled by levelset
method have demonstrated a great potential in visualization for applications such as
segmentation, surface processing, and surface reconstruction. However, the use of
level sets in visualization has a limitation in their high computational cost and reliance
on significant parameter tuning.
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 9 16, 2007.
SpringerVerlag Berlin Heidelberg 2007
10
Several methods have been suggested for accelerate the computation time. Adalsteinson and Sethian [2] have proposed the narrow band method, which only computes the points near the front at each time step. Thus it is more efficient than the
standard levelset approach. However, the computational time is still large, especially when the image size is large. Paragios and Deriche introduced the Hermes
algorithm which propagates in a small window each time to achieve a much faster
computation. Sethian [3] presented a monotonically advancing scheme. It is restricted to a one directional speed term and the fronts geometric properties are
omitted. Unfortunately, the stop criteria have to be decided carefully so that the
front will not exceed the boundary. Whitaker[4] proposed the sparsefield method,
which introduces a scheme in which updates are calculated only on the wavefront,
and several layers around that wavefront are updated via a distance transform at
each iteration.
To overcome those limitations of softwarebased levelset methods, we propose an
efficient graphics hardwarebased method to segment and visualize level set surfaces
as interactive rates.
11
12
In levelset method, the page including front is changed as front is increased or decreased. To manage these pages, activation and inactivation is performed as shown in
Fig. 3. The activation process is occurred when evolving front use the inactive page in
texture memory. At this process, main memory asks new page of texture memory to
available page stack. Then top page of available page stack is popped as shown in Fig.
3(a). The inactivation process is occurred when evolving front is departed from active pages of texture memory. As shown in Fig. 3(b), main memory asks the removal
of active page to texture memory, and the removed active page is pushed to available
page stack.
(a)
(b)
Fig. 3. The process of page activation and inactivation (a) page activation process (b) page
inactivation process
During levelset computation in GPU, partial differential equation is computed using information of current and neighbor pixels. In case of referring inside pixel of
page in texture memory, PDE can be calculated without preprocessing. In case of
referring boundary pixel of page, neighbor page should be referred to know information of neighbor pixel. However, it is difficult to know such information during PDE
calculation in GPU. In the case, vertex buffer is created in CPU to save the location of
current and neighbor pixels. For this, we define nine different cases as shown in Fig. 4.
In 1st, 3rd, 5th, 7th vertices, two pages neighbor to them are referred to know and save
the location of neighbor pixel to vertex buffer with the location of current pixel.
In 2nd, 4th, 6th, 8th vertices, one page neighbor to them are referred. In 9th vertex, the
13
location of current is saved to vertex buffer without referring of neighbor page. The
location of neighbor pixel is calculated using page table and inverse page table
like Eq. (1).
Taddr
PageSize
M num = InversePageTable(Tnum )
neighbor ( M num ) = M num + neighborOffset
neighbor (Tnum ) = PageTable(neighbor ( M num ))
Tnum =
(1)
where Tnum is page number in texture memory, Taddress is page address in texture memory, M num is page number in main memory, PageSize is defined in 16 x 16.
2.2 LevelSet Solver
The efficient solution of the level set PDEs relies on updating only those voxels that
are on or near the isosurface. The narrow band and sparse field methods achieve this
by operating on sequences of heterogeneous operations. For instance, the sparsefield
method keeps a linked list of active voxels on which the computation is performed.
However, the maximum efficiency for computing on GPU is achieved when homogeneous operations are applied to each pixel. To apply different operations to each pixel
in page has a burden in CPUtoGPU message passing. To run efficiently on GPUs,
our levelset solver applies heterogeneous operations to nine different cases divided in
creation of vertex buffer.
Fig. 5 shows that vertex buffer is transferred to GPU during vertex shading, which
is divided into apex (1st, 3rd, 5th, 7th), edge (2nd, 4th, 6th, 8th) and the inner parts (9th).
Sixteen vertex buffers which include the location of four different apex points for the
apex case, eight ends points for the edge case, and four apex points for the inner case
are transferred. Then levelset computations are achieved by using Eq. (2) and (3).
D( I ) =  I T 
=   D( I )
(2)
(3)
14
where I is the intensity value of the image, D(I) is speed function, is levelset value,
T and is the average intensity value and standard deviation of segmenting region,
respectively.
3 Experimental Result
All our implementation and tests were performed using a general computer equipped
with an Intel Pentium 4, 2.4 GHz CPU and 1GB memory. The graphics hardware was
ATI Radeon 9600 GPU with 256 MB of memory. The programs are written in the
15
DirectX shader program language. Our method was applied to each unilateral lung of
two chest CT datasets to evaluate its accuracy and processing time. The volume resolution of each unilateral lung is 512 x 256 x 128. For packing active pages, the size of
2D texture memory is 2048 x 2048. Fig. 6 and 7 show how our method segment accurately in two and threedimensionally. The segmented lung boundary is presented in
red. In Fig. 7, original volume with level set surfaces is visualized by using maximum
intensity projection.
We have compared our technique with softwarebased levelset method under the
same condition. Table 1 shows a comparison of the total processing time using the 2
different techniques. The total processing time includes times for performing page management and levelset computations. As shown in Table 1, our method is over 3.4 times
faster than softwarebased level set method. In particular, our method for computing
level set PDE is over 14 times faster than that of softwarebased level set method.
Table 1. The comparison results of total processing time using two different techniques.
(sec)
Page
Level set
Total
Dataset
Average
Method
manager
solver
processing time
AL
0.38
0.068
0.45
Proposed graphAR
0.37
0.066
0.44
ics hardware0.44
BL
0.38
0.073
0.45
based method
BR
0.36
0.067
0.43
AL
0.54
0.93
1.47
Softwarebased
AR
0.55
0.94
1.49
1.48
method
BL
0.55
0.94
1.49
BR
0.54
0.93
1.47
L: left lung, R: right lung
4 Conclusion
We have developed a new tool for interactive segmentation and visualization of level
set surfaces on graphics hardware. Our memory manager helps managing the packing
16
of the active data. A dynamic, packed texture format allows the efficient processing of
timedependent, sparse GPU computations. While the GPU updates the level set, it
renders the surface model directly from this packed texture format. Our method was
over 3.4 times faster than softwarebased level set method. In particular, our method
for computing level set PDE was over 14 times faster than that of softwarebased
level set method. The average of total processing time of our method was 0.6 seconds.
The computation time for memory management took almost times in total processing
time. Experimental results show that our solution is much faster than previous optimized solutions based on software technique.
Acknowledgement
This study is supported in part by Special Basic Research Program grant R012006000112440 under the Korea Science and Engineering Foundation and in part by
Seoul R&D Program.
References
1. Osher S, Sethian J.A., Front propagating with curvature dependant speed: algorithms based
on HamiltonJacobi formulation, Journal of Computational Physics, Vol. 79 (1988) 1249.
2. Adalsteinson D, Sethian J.A., A fast level set method for propagating interfaces, Journal of
Computational Physics (1995) 269277.
3. Sethian J.A., A fast matching level set method for monotonically advancing fronts, Proc.
Natl. Acad. Sci. USA Vol. 93 (1996) 15911595.
4. Whitaker R., A levelset approach to 3D reconstruction from range data, International Journal of Computer Vision (1998) 203231.
1 Introduction
Parameterization is an important problem in Computer Graphics and has applications
in many areas, including texture mapping [1], scattered data and surface fitting [2],
multiresolution modeling [3], remeshing [4], morphing [5], etc. Due to its importance
in mesh applications, the subject of mesh parameterization has been well studied.
Parameterization of a polygonal mesh in 3D space is the process of constructing a
onetoone mapping between the given mesh and a suitable 2D domain. Two major
paradigms used in mesh parameterization are energy functional minimization and the
convex combination approach. Maillot proposed a method to minimize the norm of
the GreenLagrange deformation tensor based on elasticity theory [6]. The harmonic
embedding used by Eck minimizes the metric dispersion instead of elasticity [3].
Lvy proposed an energy functional minimization method based on orthogonality and
homogeneous spacing [7]. Nondeformation criterion is introduced in [8] with
extrapolation capabilities. Floater [9] proposed shapepreserving parameterization,
where the coefficients are determined by using conformal mapping and barycentric
coordinates. The harmonic embedding [3,10] is also a special case of this approach,
except that the coefficients may be negative.
However, these techniques are developed mainly for triangular mesh
parameterization. Parameterization of quadrilateral meshes, on the other hand, is
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 1724, 2007.
SpringerVerlag Berlin Heidelberg 2007
18
actually a more critical problem because quadrilateral meshes, with their good
properties, are preferred in finite element analysis than triangular meshes.
Parameterization techniques developed for triangle meshes are not suitable for
quadrilateral meshes because of different connectivity structures.
In this paper, we present a parameterization technique for nonclosed quadrilateral
meshes through a simplifyprojectembed process. The algorithm has the following
advantages:(1) the method provably produces good parameterization results for any
nonclosed quadrilateral mesh that can be mapped to the 2D plane; (2) the method
minimizes the distortion of both angle and area caused by parameterization; (3) the
solution does not place any restrictions on the boundary shape; (4) since the
quadrilateral meshes are simplified, the method is fast and efficient.
The remaining part of this paper is organized as follows. The new model and the
algorithm are presented in detail in Section 2. Test results of the new algorithm are
shown in Section 3. Concluding remarks are given in Section 4.
2 Parameterization
Given a nonclosed quadrilateral mesh, the parameterization process consists of four
steps. The first step is to get a simplified version of the mesh by keeping the boundary
and interior vertices with high Gaussian curvature, but deleting interior vertices with
low Gaussian curvature. The second step is to map the simplified mesh onto a 2D
domain through a global parameterization process. The third step is to embed the
deleted interior vertices onto the 2D domain through a weighted discrete mapping.
This mapping preserves angles and areas and, consequently, minimizes angle and area
distortion. The last step is to perform an optimization process of the parameterization
process to eliminate overlapping. Details of these steps are described in the
subsequent sections.
For a given vertex v in a quadrilateral mesh, the onering neighbouring vertices of
the vertex v are the vertices that share a common face with v . A onering
neighboring vertex of the vertex v is called an immediate neighboring vertex if this
vertex shares a common edge with v . Otherwise, it is called a diagonally neighboring
vertex.
2.1 Simplification Algorithm
The computation process, as well as the distortion, may be too large if the entire
quadrilateral mesh is projected onto the plane. To speed up the parameterization and
minimize the distortion, we simplify the mesh structure by reducing the number of
interior vertices but try to retain a good approximation of the original shape and
appearance. The discrete curvature is one of the good criteria of simplification while
preserving the shape of an original model.
In spite of the extensive use of quadrilateral meshes in geometric modeling and
computer graphics, there is no agreement on the most appropriate way to estimate
geometric attributes such as curvature on discrete surfaces. By thinking of a
19
K = K = 2
s
(1)
i =1
where i is the angle between two successive edges. To derive the curvature from the
integral values, we assume the curvature to be uniformly distributed around the vertex
and simply normalized by the area
K=
K
.
S
(2)
where S is the sum of the areas of adjacent faces around the vertex v . Different
ways of defining the area S result in different curvature values. We use the Voronoi
area, which sums up the areas of vertex v s local Voronoi cells. To determine the
areas of the local Voronoi cells restricted to a triangle, we distinguish obtuse and nonobtuse triangles as shown in Fig. 1. In the latter case they are given by
SA =
1
( vi v k
8
cot( i ) + v i v j
cot( i )) .
(3)
SB =
1
vi v k
8
tan( i ), S C =
1
vi v j
8
tan( i ), S A = S S B S C .
(4)
A vertex deletion means the deletion of a vertex with low Gaussian curvature and
the incident edges. During the simplification process, we can adjust the tolerance
value to control the number of vertices reduced.
(a)
(b)
(c)
Fig. 1. Voronoi area. (a) Voronoi cells around a vertex; (b) Nonobtus angle; (c) Obtus angle.
20
1
1
2 {i , j}Edge v v
i
j
ui u j , r 0 .
(5)
where Edge is the edge set of the simplified mesh. The coefficients can be chosen in
different ways by adjusting r . This global parameterization process is performed on a
simplified mesh (with less vertices), so it is different from the global parameterization
and the fixedboundary parameterization of triangular meshes.
2.3 Local Parameterization
After the boundary and interior vertices with high Gaussian curvature are mapped
onto a 2D plane, those vertices with low curvature, are embedded back onto the
parametrization plane. This process has great impact on the result of the
parametrization. Hence, it should preserve as many of the intrinsic qualities of a mesh
as possible. We need to define what it means by intrinsic qualities for a discrete mesh.
In the following, the minimal distortion means best preservation of these qualities.
2.3.1 Discrete Conformal Mapping
Conformal parameterization preserves angular structure, and is intrinsic to the
geometry and stable with respect to small deformations. To flatten a mesh onto a twodimensional plane so that it minimizes the relative distortion of the planar angles with
respect to their counterparts in the 3D space, we introduce an anglebased energy
function as follows
EA =
jN (i )
(cot
ij
4
+ cot
ij
4
) ui u j
(6)
the left and opposite angles of vi , as shown in Fig. 2(a). The coefficients in the
21
formula (6) are always positive, which reduces the overlapping in the 2D mesh. To
minimize the discrete conformal energy, we get a discrete quadratic energy in the
parameterization and it depends only on the angles of the original surface.
2.3.2 Discrete Authalic Mapping
Authalic mapping preserves the area as much as possible. A quadrilateral mesh in 3D
space usually is not flat, so we cannot get an exact area of each quadrilateral patch. To
minimize the area distortion, we divide each quadrilateral patch into four triangular
parts and preserve the areas of these triangles respectively. For instance, in Fig. 2(b)
the quadrilateral mesh vi v j v k v j +1 is divided into triangular meshes v i v j v j +1 ,
Ex =
jN (i )
(cot
ij
2
+ cot
vi v j
ij
2
ui u j
(7)
where ij , ij are corresponding angles of the edge (vi , v j ) as shown in Fig. 2(c).
The parameterization deriving from E x is easily obtained, and the way to solve this
system is similar to that of the discrete conformal mapping, but the linear coefficients
now are functions of local areas of the 3D mesh.
(a)
(b)
(c)
Fig. 2. Edge and angles. (a) Edge and opposite left angles in the conformal mapping; (b)
Quadrilateral mesh divided into four triangles; (c) Edge and angles in the authalic mapping.
22
mesh would locally be preserved, the shape tends to be distorted since the mapping
from 3D to 2D will in general generate twisted distortion.
To minimize the distortion and get better parameterization results, we define linear
combinations of the area and the angle distortions as the distortion measures. It turns
out that the family of admissible, simple distortion measures is reduced to linear
combinations of the two discrete distortion measures defined above. A general
distortion measure can thus always be written as
E = qE A + (1 q) E X .
(8)
The above parameterization process does not impose restriction, such as convexity, on
the given quadrilateral mesh. Consequently, overlapping might occur in the projection
process. To eliminate overlapping, we optimize the parameterization mesh by
adjusting vertex location without changing the topology. Mesh optimization is a local
iterative process. Each vertex is optimized for a new location in a number of
iterations.
q
ui . The
optimisation process to find the new location in iterations is the following formula
n
u j q 1 ui q 1
i =1
ui q = ui q 1i (
) + 2 (
i =1
uk q 1 ui q 1
),0 < 1 + 2 < 1 . (9)
n
u j q 1 ui q 1
i =1
= i (
uk q 1 ui q 1
) + 2 (
).
n
i =1
n
(10)
3 Examples
To evaluate the visual quality of a parameterization we use the checkerboard texture
shown in Fig. 3, where the effect of the scaling factor q in Eq. (8) can be found. In
23
(a)
(e)
(b)
(f)
(c)
(g)
(d)
(h)
Fig. 3. Texture mapping. (a) and (e) Models; (b) and (f) Discrete conformal mapping , q=0; (c)
and (g) Weighted discrete mapping , q=0.5; (d) and (h) Discrete Authalic mapping , q=1.
The results demonstrate that the medium value (about 0.5) can get smoother
parameterization and minimal distortion energy of the parameterization. And the
closer q to value 0 or 1, the larger the angle and area distortions are.
4 Conclusions
A parameterization technique for quadrilateral meshes is based on mesh
simplification and weighted discrete mapping is presented. Mesh simplification
24
reduces computation, and the weighted discrete mapping minimizes angle and area
distortion. The scaling factor q of the weighted discrete mapping provides users with
the flexibility of getting appropriate parameterisations according to special
applications, and establishes different smoothness and distortion.
The major drawback in our current implementation is that the proposed approach
may contain concave quadrangles in the planar embedding. It is difficult to make all
of the planar quadrilateral meshes convex, even though we change the triangular
meshes into quadrilateral meshes by deleting edges. In the future work, we will focus
on using a better objective function to obtain better solutions and developing a good
solver that can keep the convexity of the planar meshes.
References
1. Levy, B.: Constrained texture mapping for polygonal meshes. In: Fiume E, (ed.):
Proceedings of Computer Graphics. ACM SIGGRAPH, New York (2001) 417424
2. Alexa, M.: Merging polyhedron shapes with scattered features. The Visual Computer. 16
(2000): 2637
3. Eck, M., DeRose, T., Duchamp, T., Hoppe, H., Lounsbery, M., Stuetzle, W.:
Multiresolution analysis of arbitrary meshes. In: Mair, S.G., Cook, R.(eds.): Proceedings
of Computer Graphics. ACM SIGGRAPH, Los Angeles (1995) 173182
4. Alliez, P., Meyer, M., Desbrun, M.: Interactive geometry remeshing. In: Proceedings of
Computer Graphics.ACM SIGGRAPH, San Antonio (2002) 347354
5. Alexa, M.: Recent advances in mesh morphing. Computer Graphics Forum. 21(2002)
173196
6. Maillot, J., Yahia, H., Verroust, A.: Interactive texture mapping. In: Proceedings of
Computer Graphics, ACM SIGGRAPH, Anaheim (1993) 2734
7. Levy, B., Mallet, J.: Nondistorted texture mapping for sheared triangulated meshes. In:
Proceedings of Computer Graphics, ACM SIGGRAPH, Orlando (1998) 343352
8. Jin, M., Wang, Y., Yau, S.T., Gu. X.: Optimal global conformal surface parameterization.
In: Proceedings of Visualization, Austin (2004) 267274
9. Floater, M.S.: Parameterization and smooth approximation of surface triangulations.
Computer Aided Geometric Design.14(1997) 231250
10. Lee, Y., Kim, H.S., Lee, S.: Mesh parameterization with a virtual boundary. Computer &
Graphics. 26 (2006) 677686
Abstract. With the rapid increase of available 3D models, contentbased 3D retrieval is attracting more and more research interests. Histogram is the most
widely in constructing 3d shape descriptor. Most existing histogram based descriptors, however, will not remain invariant under rigid transform. In this paper, we proposed a new kind of descriptor called poisson shape histogram. The
main advantage of the proposed descriptor is not sensitive for rigid transform. It
can remain invariant under rotation as well. To extract poisson shape histogram,
we first convert the given 3d model into voxel representation. Then, the poisson
solver with dirichlet boundary condition is used to get shape signature for each
voxel. Finally, the poisson shape histogram is constructed by shape signatures.
Retrieving experiments for the shape benchmark database have proven that
poisson shape histogram can achieve better performance than other similar
histogrambased shape representations.
Keywords: 3D shape matching, PoseInsensitive, Poisson equation, Histogram.
1 Introduction
Recent development in modeling and digitizing techniques has led to a rapid increase
of 3D models. More and more 3D digital models can be accessed freely from Internet
or from other resources. Users can save the design time by reusing existing 3D models. As a consequence, the concept has changed from How do we generate 3D models? to How do we find them?[1]. An urgent problem right now is how to help
people find their desirable 3D models accurately and efficiently from the model databases or from the web. Contentbased 3D retrieval aiming to retrieve 3D models by
shape matching has become a hot research topic.
In Contentbased 3D retrieval, histogram based representation has been widely
used for constructing shape features[2]. For histogram based representation, it needs
to define shape signatures. The defined shape signature is the most important for
histogram descriptor. It should be invariant to affine transformations such as translation, scaling, rotation and rigid transform. Some rotation invariant shape signatures,
such as curvature, distance et al, have been used for contentbased 3d retrieval. Those
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 2532, 2007.
SpringerVerlag Berlin Heidelberg 2007
26
X. Pan et al.
shape signatures are independent of 3d shape rotation. However, little researches are
focusing on extracting invariant shape signatures under rigid transform. Those existing rotationinvariant shape signatures are often sensitive to rigid transform.
In this paper, we propose a new kind of shape signature called poisson shape
measure. It can remain almost invariant under not only rotation transform, but also
rigid transform. The proposed shape signature is based on poisson theory. As one of
the most important PDE theory, it has been widely used for computer vision, computer graphics, analysis of anatomical structures and image processing[35]. However, it has not been used for defining 3d shape signature and then content based 3d
retrieval. The process of constructing poisson shape histogram can be concluded as
following: the given 3d model will be first converted into voxel representation. Then,
the poisson solver with dirichlet boundary condition is used to get shape signature for
each voxel. Finally, the poisson shape histogram is constructed by the shape signatures. The comparative study shows poisson shape histogram can achieve better retrieving performance than other similar histogram descriptors.
The remainder of the paper is organized as follows: Section 2 provides a brief review of the related work. Section 3 discusses the poison equation and the related
property. Section 4 discusses how to construct poisson shape histogram. Section 5
provides the experimental results for contentbased 3D retrievals. Finally, Section 6
concludes the paper and recommends some future work.
2 Related Work
Previous shape descriptors can be classified into two groups by their characteristics:
namely structural representation and statistical representation. The method proposed
in this paper belongs to statistical representation. This section mainly gives a brief
review on statistical shape description for contentbased 3D retrieval. For more details
about structure descriptors and contentbased 3D retrieval, please refer to some
survey papers[68].
As for statistical representation, the most common approach is to compute geometry signatures of the given model first, such as normal, curvature, distance and so on.
Then, the extracted shape signatures are used to construct histogram. Existing shape
signatures for 3d shape retrieval can be grouped into two types: one is the rotation
invariant shape signatures, and the other is not. For the latter, rotation normalization is
performed prior to the extraction of shape signatures.
Rotation variant shape signatures
Extend Gaussian Image (EGI) defines shape feature by normal distribution over the
sphere[9]. An extension version of EGI is the Complex Extend Gaussian Image
(CEGI)[10], which combines distance and normal for shape descriptor. Shape
histograms defined on shells and sectors around a model centroid is to capture point
distribution[11]. Transformbased shape features can be seen as a postprocess of the
original shape signatures. It often can achieve better retrieving accuracy than the
27
3 Poisson Equation
Poissons equation arises in gravitation and electrostatics, and is the fundamental of
mathematical physics. Mathematically, Poissons equation is a secondorder elliptic
partial differential equation defined as:
U = 1
(1)
where U is the laplacian operation. The poisson equation is to assign every internal
point a value. As for definition, the poisson equation is somewhat similar with distance transform. The distance transform will assign to every internal point a value that
depends on the relative position of that point within the given shape, which reflects its
minimal distance to the boundary. The poisson equation, however, has a huge difference with distance transform. The poisson is to place a set of particles at the point and
let them move in a random walk until they hit the contour. It measures the mean time
required for a particle to hit the boundaries. Thats to say, the poisson equation will
consider each internal point affected one more boundary points, and will be more
robust again distance transform.
The poisson equation has the potential property in shape analysis. Here we show
some of these properties.
1. Rotation invariant. Poisson equation is independent of the coordinate system over the
entire domain (volume in 3D, and region in 2D). It makes the signature defined by poisson
equation be robust again rotation.
2. Geometry structure related. The poisson equation is correlated to the geometry of the
structure. This correlation gives a mathematical meaning to the shape structure.
28
X. Pan et al.
3. Rigidtransform invariant. Similar with geodesic distance, the poisson equation has a
strong robustness over the rigid transform.
ance respectively.
Pi =
'
Pi
.
3
(2)
'
H = {H 1 , H 2 , " H i , " H 20 }
For two histograms, we use L1metric to measure their dissimilarity.
(3)
where H1 and H2 denote poisson shape histogram for two models. The bigger value
means two models are more dissimilar.
Section 3 discusses the property of poisson equation, and it shows the poisson
equation will be independent of rigid transform. Figure 1 gives poisson shape histogram for horses under different rigid transform. The poisson shape histogram remains
almost invariant for different rigid transform(the small difference due to the voxelization error). As a comparison, the D2 shape distribution, however, appears to be huge
difference for two models.
29
Fig. 1. Histogram descriptors for above models(Upper: Horses under different rigidtransform.
Lower: The left is the poisson shape histogram for the above two models, and the right is the
D2 shape distribution as well. The difference between poisson shape histograms appear to be
very minor. While the difference of the D2 shape distributions appears to be very obvious).
5 Experiment
Experiments are carried out to test the retrieving performance of poisson shape histogram. All experiments are performed with the hardware Intel Pentium 1.86GHZ,
512M memory. The testing 3D models are Princeton Shape Benchmark database(PSB)[21]. It contains 1804 mesh models, and is classified into two groups. Each
group contains 907 models as well. One is the training set, which is used to get best
retrieving parameters. The other is the testing set for retrieving performance comparison of different shape descriptors. The benchmark also provides different evaluating
criterions for retrieving precision. Here we use PrecisionRecall curve to measure the
retrieving accuracy, and the precisionrecall measure has been widely used in information retrieval. We first show the time in constructing shape poisson histogram, and
then retrieving accuracy comparison with similar histograms.
As for contentbased 3D retrieval, the feature extraction process should be performed quickly. This is very important, especially for practical applications. The
costing time for building poisson shape histogram consists of the following steps:
voxelization, poisson solver and histogram construction. The voxelization time is
almost 0.07s for each model, and the histogram construction is near to 0s. Notice the
time for poisson solver is related with the count of voxel. Table 1 shows the costing
time for different voxel models.
In average, the costing time for poisson shape histogram is about 0.6s. While for
D2 shape distribution, the generating time is about 0.8s.
Next, we will compare the retrieving performance of poisson shape histogram(PSH) with some other histogram based shape descriptors. They are 3D shape
spectrum(3DS), and D2 distance(D2). Figure 2 givens the precisionrecall curve for
30
X. Pan et al.
Table 1. The costing time for poisson solver
Voxel models
8624
1.1
6832
0.7
4500
0.4
2306
0.2
Fig. 3. Some retrieving results(For each row, the left model is the query model, and other three
models are the most similar with queried model. Notice the model under different rigid transform can be retrieved correctly).
31
three kinds of shape descriptors. It shows the poisson shape histogram can achieve
best retrieving precision. Some retrieving results are also shown in Figure 3. Notice
those models under different rigid transform can be retrieved correctly.
References
1. T. Funkhouser, P. Min, and M. Kazhdan, A Search Engine for 3D Models. ACM Transactions on Graphics, (2003)(1): 83105.
2. Ceyhun Burak Akgl, Blent Sankur, Ycel Yemez, et al., A Framework for HistogramInduced 3D Descriptors. European Signal Processing Conference (2006).
3. L. Gorelick, M. Galun, and E. Sharon Shape representation and classification using the
poisson equation. CVPR, (2004): 6167.
4. Y. Yu, K. Zhou, and D. Xu, Mesh Editing with PoissonBased Gradient Field Manipulation. ACM SIGGRAPH, (2005).
5. H. Haider, S. Bouix, and J. J. Levitt, Charaterizing the Shape of Anatomical Structures
with Poisson's Equation. IEEE Transactions on Medical Imaging, (2006). 25(10):
12491257.
6. J. Tangelder and R. Veltkamp. A Survey of Content Based 3D Shape Retrieval Methods. in
International Conference on Shape Modeling. (2004).
7. N. Iyer, Y. Kalyanaraman, and K. Lou. A reconfigurable 3D engineering shape search
system Part I: shape representation. in CDROM Proc. of ASME 2003. (2003). Chicago.
8. Benjamin Bustos, Daniel Keim, Dietmar Saupe, et al., An experimental effectiveness comparison of methods for 3D similarity search. International Journal on Digital Libraries,
(2005).
9. B. Horn, Extended Gaussian Images. Proceeding of the IEEE, (1984). 72(12): 16711686.
32
X. Pan et al.
10. S. Kang and K. Ikeuchi. Determining 3D Object Pose Using The Complex Extended
Gaussian Image. in International Conference on Computer Vision and Pattern Recognition. (1991).
11. M. Ankerst, G. Kastenmuller, H. P. Kriegel, et al. 3D Shape Histograms for Similarity
Search and Classification in Spatial Databases. in International Symposium on Spatial
Databases. (1999).
12. D. Vranic, 3D Model Retrieval, PH. D Thesis, . 2004, University of Leipzig.
13. D. Y. Chen, X. P. Tian, and Y. T. Shen, On Visual Similarity Based 3D Model Retrieval.
Computer Graphics Forum (EUROGRAPHICS'03), (2003). 22(3): 223232.
14. R. Osada, T. Funkhouser, B. Chazelle, et al. Matching 3D Models with Shape Distributions. in International Conference on Shape Modeling and Applications. (2001).
15. R. Ohbuchi, T. Minamitani, and T. Takei. ShapeSimilarity Search of 3D Models by Using
Enhanced Shape Functions. in Theory and Practice of Computer Graphics. (2003).
16. T. Zaharia and F. Preteux. 3D Shapebased Retrieval within the MPEG7 Framework. in
SPIE Conference on Nonlinear Image Processing and Pattern Analysis. (2001).
17. Xiang Pan, Yin Zhang, Sanyuan Zhang, et al., RadiusNormal Histogram and Hybrid
Strategy for 3D Shape Retrieval. International Conference on Shape Modeling and Applications, (2005): 374379.
18. Ran Gal, Ariel Shamir, and Daniel CohenOr, Pose Oblivious Shape Signature. IEEE
Transactions of Visualization and Computer Graphics, (2005).
19. E. A. Karabassi, G. Papaioannou , and T. Theoharis, A Fast Depthbufferbased Voxelization Algorithm. Journal of Graphics Tools, (1999). 4(4): 510.
20. S. Toledo, TAUCS: A Library of Sparse Linear Solvers. TelAviv University, 2003.
http://www.tau.ac.il/~stoledo/taucs.
21. P. Shilane, K. Michael, M. Patrick, et al. The Princeton Shape Benchmark. in International
Conference on Shape Modeling. (2004).
Abstract. In this paper, a physically based simulation model for pointsampled surface is proposed based on massspring system. First, a
Delaunay based simplication algorithm is applied to the original pointsampled surface to produce the simplied pointsampled surface. Then
the massspring system for the simplied pointsampled surface is constructed by using tangent planes to address the lack of connectivity information. Finally, the deformed pointsampled surface is obtained by
transferring the deformation of the simplied pointsampled surface. Experiments on both open and closed pointsampled surfaces illustrate the
validity of the proposed method.
Introduction
34
Z. Su et al.
Related Work
Pointsampled surfaces often consist of thousands or even millions of points sampled from an underlying surface. Reducing the complexity of such data is one of
the key processing techniques. Alexa et al [1] described the contribution value of
a point by estimating its distance to the MLS surface dened by the other sample
points, and the point with the smallest contribution will be removed repeatedly.
Pauly et al [14] extended mesh simplication algorithms to point clouds, and
presented the clustering, iterative, and particle simulation simplication algorithms. Moenning et al [12] devised a coarsetone uniform or featuresensitive
simplication algorithm with usercontrolled density guarantee. We present a
projection based simplication algorithm, which is more suitable for the construction of massspring system.
Point based surface representation and editing are popular elds in point
based graphics. Alexa et al [1] presented the now standard MLS surface, in
which the surface is dened as the stationary set of a projection operator. Later
Shachar et al [4] proposed a robust moving leastsquares tting with sharp features for reconstructing a piecewise smooth surface from a potentially noisy point
clouds. The displacement transference in our method is similar to moving least
squares projection. Zwicker [21] presented Pointshop3D system for interactive
editing of pointbased surfaces. Pauly et al [15] introduced Boolean operations
and freeform deformation of pointsampled geometry. Miao et al [10] proposed
a detail preserving local editing method for pointsampled geometry based on
the combination of the normal geometric details and the position geometric details. Xiao et al [19,20] presented ecient ltering and morphing methods for
pointsampled geometry. Since the pioneering work of Terzopoulos and his coworkers [18], signicant research eort has been done in the area of physically
based modeling for meshes [5,16]. Recently, Guo and Qin et al [2,6,7,8] proposed
the framework of physically based morphing, animation and simulation system.
M
uller et al [13] presented point based animation of elastic, plastic and melting
objects based on continuum mechanics. Clarenz et al [3] proposed framework
for processing pointbased surfaces via PDEs. In this paper, massspring system
is constructed directly for the simplied pointsampled surface. The idea of the
present method is similar to [17]. They studied curve deformation, while we focus
on pointsampled surface simulation.
The pointsampled surface consists of n points P = {pi R3 , i = 1, . . . , n} sampled from an underlying surface, either open or closed. Since the normal at any
35
point can be estimated by the eigenvector of the covariance matrix that corresponds to the smallest eigen value [14], without loss of generality, we can assume
that the normal ni at point pi is known as input. Traditional simplication algorithms reserve more sample points in regions of highfrequency, whereas less
sample points are used to express the regions of lowfrequency, which is called
adaptivity. However, adaptivity does not necessary bring good results for simulation. An example is shown in Fig. 1, 1a) shows the sine curve and the simplied
curve, force F is applied on the middle of the simplied curve, 1b) shows that
the simulation based on the simplied curve produce the wrong deformation. We
present a Delaunay based simplication algorithm, which is suitable for simulation and convenient for the construction of massspring system.
For pi P , the index set of its knearest points is denoted by Nik = {i1 , . . . ,
ik }. These points are projected onto the tangent plane at point pi (the plane
passing through pi with normal ni ), and the corresponding projection points
are denoted by q ji , j = 1, . . . , k. 2D Delaunay triangulation is implemented on
the k + 1 projection points. There are two possible cases: 1) pi is not on the
boundary of the surface, 2) pi is on the boundary of the surface, shown as Fig. 2.
Suppose that there are m points {qji r , r = 1, . . . , m} which are connected with
pi in the triangle mesh, the union of the triangles that contain pi is denoted
by Ri whose diameter is di . In either case, if di is less than the userdened
threshold, pi will be removed. This process is repeated until the desired number
of points is reached or the diameter di for each point exceeds the threshold. The
resulting simplied point set is denoted by S = {sj , j = 1, . . . , ns }, and sj is
called simulation point. It is important to select a proper value of k, too small
k may inuence the quality of simplication, while too big k will increase the
computational cost. In our experiments, preferable is in the interval [10 20].
4
4.1
Since no explicit connectivity information is known for the simplied pointsampled surface, traditional massspring system [16] can not be applied directly.
Here the stretching and bending springs are constructed based on the region
Ri corresponding to si . For si S, the vertices of the region Ri are {q ji r , r =
36
Z. Su et al.
1, . . . , m}, which are the projection points of {sji r , r = 1, . . . , m}. Assuming that
q ji r are sorted counter clockwise. The stretching springs link si and sji r and the
j
bending springs connect sji r and si r+2 (Fig. 3). This process is implemented on
each point on S, and the structure of the springs is obtained consequently.
a) Stretching springs for case 1) and 2) b) Bending springs for case 1) and 2)
Fig. 3. The spring structures (dashed lines)
4.2
The mass of si is needed for simulation. Note that in region of low sampling
density, a simulation point si will represent large mass, whereas smaller mass
in region of higher sampling density. Since the area of region Ri reects the
sampling density, the mass of si can be estimated by
mi =
1
SRi
3
(1)
where SRi is the area of region Ri , and is the mass density of the surface.
4.3
Forces
According to the Hookes law, the internal force F s (Si,j ) of spring Si,j linking
two mass points si and sj can be written as
I i,j
s
0
F s (Si,j ) = ki,j I i,j li,j
(2)
I i,j
s
0
where ki,j
is the stiness of spring Si,j , I i,j = sj si , and li,j
is the natural
length of spring Si,j .
37
(3)
d
where ki,j
is the coecient of damping, v j and v i are the velocities of sj and si .
Appling external forces to the massspring system yields realistic dynamics.
The gravitational force acting on a mass point si is given by
F g = mi g
(4)
(5)
where kr is the spring constant. Similar to [18], other types of external forces,
such as the eect of viscous uid, can be introduced into our system.
4.4
Simulation
d2 xi
dt2
(6)
(7)
38
Z. Su et al.
k
w (rj ) (uj a0 a1 x
j a2 yj )2
(8)
j=1
where rj is the distance between pi and q ji , w () is a Gaussian weighting function w (rj ) = exp (rj2 /h2 ). Then ui = u (0, 0) = a0 . Similarly, v and w can
be computed. Since the shape of the pointsampled surface is changed due to
the displacements of the sample points, the normal of the underlying surface
will change consequently. The normal can be computed by the covariance analysis as mentioned above. The point sampling density will be changed due to
the deformation, we use the resampling scheme of [1] to maintain the surface
quality.
Experimental Results
39
Conclusion
Acknowledgement
This work is supported by the Program for New Century Excellent Talents in
University grant (No. NCET050275), NSFC (No. 60673006) and an INBRE
grant (5P20RR01647206) from NIH, USA.
References
1. Alexa M., Behr J., CohenOr D., Fleishman S., Levin D., Silva C. T.: Computing
and rendering point set surfaces. IEEE Transactions on Visualization and Computer Graphics 9(2003) 315
2. Bao Y., Guo X., Qin H.: Physicallybased morphing of pointsampled surfaces.
Computer Animation and Virtual Worlds 16 (2005) 509  518
40
Z. Su et al.
3. Clarenz U., Rumpf M., Telea A.: Finite elements on point based surfaces, Proceedings of Symposium on PointBased Graphics (2004)
4. Fleishman S., CohenOr D., Silva C. T.: Robust moving leastsquares tting with
sharp features. ACM Transactions on Graphics 24 (2005) 544552
5. Gibson S.F., Mirtich B.: A survey of deformable models in computer graphics.
Technical Report TR9719, MERL, Cambridge, MA, (1997)
6. Guo X., Hua J., Qin H.: Scalarfunctiondriven editing on point set surfaces. IEEE
Computer Graphics and Applications 24 (2004) 43  52
7. Guo X., Li X., Bao Y., Gu X., Qin H.: Meshless thinshell simulation based on
global conformal parameterization. IEEE Transactions on Visualization and Computer Graphics 12 (2006) 375385
8. Guo X., Qin H.: Realtime meshless deformation. Computer Animation and Virtual
Worlds 16 (2005) 189  200
9. Kobbelt L., Botsch M.: A survey of pointbased techniques in computer graphics.
Computer & Graphics, 28 (2004) 801814
10. Miao Y., Feng J., Xiao C., Li H., Peng Q., Detailpreserving local editing for pointsampled geometry. H.P Seidel, T. Nishita, Q. Peng (Eds), CGI 2006, LNCS 4035
(2006) 673681
11. Miao L., Huang J., Zheng W., Bao H. Peng Q.: Local geometry reconstruction
and ray tracing for point models. Journal of ComputerAided Design & Computer
Graphics 18 (2006) 805811
12. Moenning C., Dodgson N. A.: A new point cloud simplication algorithm. Proceedings 3rd IASTED Conference on Visualization, Imaging and Image Processing,
Benalm
adena, Spain (2003) 10271033
13. M
uller M., Keiser R., Nealen A., Pauly M., Pauly M., Gross M., Alexa M.: Point
based animation of elastic, plastic and melting objects, Proceedings of ACM SIGGRAPH/Eurographics Symposium on Computer Animation (2004) 141151
14. Pauly M., Gross M., Kobbelt L.: Ecient simplication of pointsampled surfaces.
Proceedings of IEEE Visualization (2002) 163170
15. Pauly M., Keiser R., Kobbelt L., Gross M.: Shape modeling with pointsampled
geometry. ACM Transactions on Graphics 22(2003) 641650
16. Provot X.: Deformation constraints in a massspring model to describe rigid cloth
behavior. Proc of Graphics Interface (1995) 147154.
17. Su Z., Li L., Zhou X.: Arclength preserving curve deformation based on subdivision. Journal of Computational and Applied Mathematics 195 (2006) 172181
18. Terzopoulos D., Platt J., Barr A., Fleischer K.: Elastically deformable models.
Proc. SIGGRAPH (1987) 205214
19. Xiao C., Miao Y., Liu S., Peng Q., A dynamic balanced ow for ltering pointsampled geometry. The Visual Computer 22 (2006) 210219
20. Xiao C., Zheng W., Peng Q., Forrest A. R., Robust morphing of pointsampled
geometry. Computer Animation and Virtual Worlds 15 (2004) 201210
21. Zwicker M., Pauly M., Knoll O., Gross M.: Pointshop3d: An interactive system for
pointbased surface editing. ACM Transactions on Graphics 21(2002) 322 329
Introduction
Sweeping is a powerful technique to generate surfaces in CAD/CAM, robotics motion design and NC machining, etc. There has been abundant research
in the modeling of sweeping surfaces and their applications. Hu and Ling ([2],
1996) considered the swept volume of a moving object which can be constructed
from the envelope surfaces of its boundary. In this study, these envelope surfaces
are the collections of the characteristic curves of the natural quadric surfaces.
Wang and Joe ([13], 1997) presented sweep surface modeling by approximating
a rotation minimizing frame. The advantages of this method lie in the robust
computation and smoothness along the spine curves. J
uttler and M
aurer ([5],
1999) constructed rational representations of sweeping surfaces with the help
This work was completed with the support by the National Natural Science Foundation of China under Grant No. 10171026 and No. 60473114, and in part by the Research Funds for Young Innovation Group, Education Department of Anhui Province
under Grant No. 2005TD03, and the Anhui Provincial Natural Science Foundation
under Grant No. 070416273X, and the Natural Science Foundation of Anhui Provincial Education Department under Grant No. 2006KJ252B, and the Funds for Science
& Technology Innovation of the Science & Technology Department of Anqing City
under Grant No. 200348.
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 4148, 2007.
c SpringerVerlag Berlin Heidelberg 2007
42
B. Su and J. Tan
Sweeping Surface
43
3
(1)
j=0
where
B0,3 (t) =
1
4
B1,3 (t) =
14
B2,3 (t) =
1
4
B3,3 (t) =
3
4
t
2
sin 2 t
cos t +
1
2
cos t
sin t ,
2t
t
2
+ sin 2 t
1
4
cos t
1
2
sin t ,
t
2
cos 2 t +
1
4
cos t +
1
2
sin t .
t
2
1
4
+ cos
1
4
1
2
sin t ,
(2)
From (2), we know that Bi,3 (t), (i = 0, 1, 2, 3), possess properties similar to
those of Bspline base functions except the positive property. Moreover, pi (t)
interpolates the points bi+1 and bi+2 . That is,
pi (0) = bi+1 , pi (1) = bi+2 ,
(3)
2
4 (bi
2
4 (bi+1
2bi+2 + bi+3 ) .
(l)
(4)
(5)
Given a spine curve P (t) in space and a crosssection curve C(), a sweep surface
W (t, ) can be generated by
W (t, ) = P (t) + R(t)(s(t) C()),
(6)
44
B. Su and J. Tan
is generated by sweeping C() along P (t) with moving frame R(t). crosssection
curve C() is in the 2D or 3D space which passes through the spine curve P (t)
during sweeping.
So the key problems in sweep surface generation are to construct the spine
and crosssection curves P (t), C() and to determine the moving frame R(t).
Given a initial crosssections Cj () moving along a spine curve Pi (t). Each
given position is associated with a local transformation Ri (t) on the Cj (). The
sweep surface is generated by interpolating these key crosssections Ci () at
these special positions by the user:
Wi,j (t, ) =
Pi (t) +
Ri (t)(s
i (t) Cj ())
xi (t)
r11,i (t) r12,i (t) r13,i (t)
sxi (t)Cxj ()
= yi (t) + r21,i (t) r22,i (t) r23,i (t) syi (t)Cyj () ,
zi (t)
r31,i (t) r32,i (t) r33,i (t)
0
(7)
where the s(t) is scaling function, which can be used to change the shapes of
crosssections to achieve local deformations.
3.1
From the above discussions, we know that once some places that the crosssections will pass through are given, a spine curve can be constructed to interpolate these places (points) as follows:
Pi (t) = (xi (t), yi (t), zi (t))T =
3
j=0
(8)
i = 0, 1, , n 1 ,
where bi , i = 0, 1, , n + 2, (n 1), are given points (positions) by user, and
Bj,3 (t), (j = 0, 1, 2, 3), are generalized quasicubic piecewise interpolation spline
base functions.
Similarly, if the explicit expression of crosssection curves are unknown in
advance. But we know also the crosssection curves pass through some given
points, then we can dene the crosssection curves by
Cj () = (Cxj (), Cyj (), 0)T =
j = 0, 1, , m 1 ,
3
k=0
(9)
3
j=0
(10)
i = 0, 1, , n 1 ,
where si = (
si , si , 0)T , i = 0, 1, , n+2, (n 1) . si and si are n+3 nonnegative
real numbers respectively, which are called scaling factors. Bj,3 (t), (j = 0, 1, 2, 3),
are generalized quasicubic piecewise interpolation spline base functions.
Sweeping Surface
3.2
45
3
j=0
(11)
t [0, 1], i = 0, 1, , n 1 ,
3
2
1
0
1
0.5
(a)
(b)
Fig. 1. (a) The moving frame on the dierent position, dashed line is spine curve. (b)
The sweep surface associated with open crosssection curve.
Notes and Comments. Since (Rxi (t), Ryi (t), Rzi (t)) dened by Eq.(11) usually
does not form an accurate orthogonal coordinate system at t = ti , we shall renew
it by the Schmidt orthogonalization or an approximation of the orthogonal one
with a controllable error. We can also convert the corresponding orthogonal
matrices into the quaternion forms, then interpolate these quaternions by the
(11) similarly, at last, the accurate orthogonal coordinate system can be obtained
by the conversion inversely.
From the (7), (8) and (11), we know that for the xed = ,
Wi,j (t, ) =
3
k=0
(12)
46
B. Su and J. Tan
Wi,j (t , ) = Pi + Ri
3
(13)
k=0
where Pi = Pi (t ), Ri = Ri (t ) and si = si (t ) .
Since qj are constant vectors, we get that Wi,j (t, ) are C 2 continuous and
the points on curves Wi,j (t, ) can be obtained by doing the transformation of
stretching, rotation and translation on the point qj .
The crosssection curves Wi,j (t , ) at the t = t can also be attained by the
stretching, rotation and translation transformation on the initial crosssection
curves Cj ().
Moveover, by computing the rst and second partial derivatives of Wi,j (t, ),
we get
l
Wi,j (t, )
tl
= Pi (t) +
l
l Wi,j (t, )
(l)
dl
(Ri (t)(si (t)
dtl
Cj ())) ,
l = 1, 2 .
(l)
(14)
Then Wi,j (t, ) are C 2 continuous with respect to t and by the (5) and (14).
3.5
2.5
Trajectory curves
1.5
Object curves
1
1
0
1
0.5
0.5
1.5
2.5
3.5
1
0
1
1
(a)
(b)
Fig. 2. The four key positions of crosssection curve during sweeping. (a) is the gure
in example 1 and (b) is the gure in example 2.
Sweeping Surface
(a)
47
(b)
Fig. 3. The sweep surface modeling in example 1, (b) is the section plane of gure (a)
(a)
(b)
Fig. 4. The sweep surface modeling in example 2, (b) is the section plane of gure (a)
Example 3. The interpolation points of spine curve and rotation angles are
adopted as in the example 2. The initial crosssection curve interpolates the
points q0 = (3, 1), q1 = (2, 2), q2 = (1, 1), q3 = (1, 2), q4 = (2, 1), q5 = (3, 2).
The scaling factors are chosen to be si = si 1. Then we get the sweeping interpolation surface by open crosssection curve as in the Fig.1(b).
As mentioned above, we have described a new method for constructing interpolation sweep surfaces by the C 2 continuous generalized quasicubic interpolation
spline. Once given some key position and orientation and some points which are
passed through by the spine and initial crosssection curves, we can construct
corresponding sweep surface by the introduced spline function. We have also proposed a local control technique for sweep surfaces using scaling function, which
allows the user to change the shape of an object intuitively and eectively.
Note that, in many other applications of sweep surface, the crosssection
curves are sometimes dened on circular arcs or spherical surface, etc. Then
we can construct the crosssection curves by the circular trigonometric Hermite
interpolation spline introduced in our another paper ([12]).
On the other hand, in order to avoid a sharp acceleration of moving frame,
we can use the chord length parametrization in the generalized quasicubic interpolation spline.
48
B. Su and J. Tan
References
1. Du, S. J., Surmann, T., Webber, O., Weinert, K. : Formulating swept proles for
veaxis tool motions. International Journal of Machine Tools & Manufacture 45
(2005) 849861
2. Hu, Z. J., Ling, Z. K. : Swept volumes generated by the natural quadric surfaces.
Comput. & Graphics 20 (1996) 263274
3. Hua, J., Qin, H. : Free form deformations via sketching and manipulating the scalar
elds. In: Proc. of the ACM Symposium on Solid Modeling and Application, 2003,
pp 328333
4. Hyun, D. E., Yoon, S. H., Kim, M. S., J
uttler, B. : Modeling and deformation of
arms and legs based on ellipsoidal sweeping. In: Proc. of the 11th Pacic Conference
on Computer Graphics and Applications (PG 2003), 2003, pp 204212
5. J
uttler, B., M
aurer C. : Cubic pythagorean hodograph spline curves and applications to sweep surface modeling. ComputerAided Design 31 (1999) 7383
6. Li, C. J., Ge, W. B., Wang, G. P. : Dynamic surface deformation and modeling
using rubber sweepers. Lecture Notes in Computer Science 3942 (2006) 951961
7. Ma, L. Z., Jiang, Z. D., Chan, Tony K.Y. : Interpolating and approximating moving frames using Bsplines. In: Proc. of the 8th Pacic Conference on Computer
Graphics and Applications (PG 2000), 2000, pp 154164
8. Olver, P. J. : Moving frames. Journal of Symbolic Computation 36 (2003) 501512
9. Schmidt, R., Wyvill, B. : Generalized sweep templates for implicit modeling. In:
Proc. of the 3rd International Conference on Computer Graphics and Interactive
Techniques in Australasia and South East Asia, 2005, pp 187196
10. Seong, J. K., Kim, K. J., Kim, M. S., Elber, G. : Perspective silhouette of a general
swept volume. The Visual Computer 22 (2006) 109116
11. Su, B. Y., Tan, J. Q. : A family of quasicubic blended splines and applications. J.
Zhejiang Univ. SCIENCE A 7 (2006) 15501560
12. Su, B. Y., Tan, J. Q. : Geometric modeling for interpolation surfaces based on
blended coordinate system. Lecture Notes in Computer Science 4270 (2006)
222231
13. Wang, W. P., Joe, B. : Robust computation of the rotation minimizing frame for
sweep surface modeling. ComputerAided Design 23 (1997) 379391
14. Yoon, S. H., Kim, M. S. : Sweepbased Freeform Deformations. Computer Graphics
Forum (Eurographics 2006) 25 (2006) 487496
1 Introduction
Since Bspline curve fitting for noisy or scattered data can be considered as a nonlinear optimization problem with high level of computational complexity [3, 4, 6],
nondeterministic optimization strategies should be employed. Here, methods taken
from computational intelligence offers promising results for the solutions of this
problem. By the computational intelligence techniques as is utilized in this paper, we
mean the strategies that are inspired from numerically based Artificial Intelligence
systems such as evolutionary algorithms and neural networks. One of the most
conspicuous and promising approaches to solve this problem is based on neural
networks. Previous studies are mostly focused on the traditional surface
approximation [1] and the first application of neural networks to this field is taken
place in [15]. Later on, the studies that include Kohonen networks [8, 9, and 12], SelfOrganized Maps [13, 14] and Functional networks [5, 7, and 10] provided extension
of studies of surface design. Evolutionary algorithms are based on natural selection
for optimization with multiaims. Most of the evolutionary optimization techniques
such as Genetic Algorithm (GA) [3, 6, and 17], Simulated Annealing [16] and
Simulated Evolution [17, 18, and 19] are applied to this problem successfully.
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 4956, 2007.
SpringerVerlag Berlin Heidelberg 2007
50
i =1
j =1
w i , j {S (x i , y
) F }
i, j
(1)
Surface fitting from sample points is also known as surface reconstruction. This
paper applies a local fitting and blending approach to this problem. The readers can
refer to [1] and [2] for details. A BSpline curve, C (u), is a vector valued function
which can be expressed as:
m
C (u ) = N i ,k (u ) Pi , u [u k 1 , u m +1 ]
(2)
i =0
where Pi represents control points (vector) and Ni,k is the normal kdegree Bspline
basis functions and Ni,k can be defined as a recursive function as follows.
1 if u [u i , u i +1 ),
N i ,1 (u ) =
and
0 otherwise
N i , k (u ) =
u ui
u u
N i , k 1 (u ) + i + k
N i +1, k 1 (u )
u i + k 1 u i
u i + k u i +1
(3)
where ui represents knots that are shaped by a knot vector and U= {u0,u1,,um}. Any
BSpline surface is defined as follows:
m
S (u, v ) = N i ,k (u )* N j ,l (v )* Pi , j
(4)
i = 0 j =0
As can be seen from upper equations, Bspline surface is given as unique with the
degree, knot values and control points. Then, surface is formed by these parameters.
Input is a set of unorganized points in surface reconstruction problems so the degree
of the surface, knots and control points are all unknown. In equation (3), the knots
not only exist in the dividend but also exist in the denominator of the fractions. Thus a
spline surface given as in equation (4) is a function of nonlinear knots. Assume that
51
the data to be fitted are given as if they are on the mesh points of the D=[a,b]x[c,d]
rectangular field on the xy plane. Then the expression like below can be written [3]:
Fi , j = f (xi , y j ) + i , j ,
(i = 1,2,", N
; j = 1,2,", N y ).
(5)
In this equation, f(x,y) is the function exists at the base of data, Nx and Ny
represent the number of the data points in x and y directions respectively and i,j is a
measurement error. Equation (4) is adjusted or fitted to given data by least square
methods with equation (5). For parameterization of Bspline curve in Equation (2) and
surface in Equation (4) must be produced by preferring one of the parameterization
methods among uniform, chordal or centripetal methods. Then, the squares of
remainders or residuals are calculated by Equation (1). The lower index of the Q2
means the dimension of the data. The objective that will be minimized in Bspline
surface fitting problem is the function in Equation (1) and the variables of the object
function are Bspline coefficients and interior knots. Bspline coefficients are linear
parameters. However, interior knots are nonlinear parameters since S(u,v) function is
a nonlinear knots function. This minimization problem is known as multimodal
optimization problem [4].
( Ab
i =1
Ag
)2
(6)
52
between [a,b] and [c,d] intervals, nx x ny items of knots are defined in this interval
and called as interior knots. Initial population includes k Antibody with L numbers of
molecules. Molecules are set as 0 and 1, randomly.
For recognizing (response against Antigen) process, affinity of Antibody against
Antigen were calculated as in Equation (7) that uses the distance between AntibodyAntigen and AIC that is preferred as fitness measure in [3] and [6] references.
Affinity = 1 (AIC Fitnessavrg )
(7)
In Equation (7), Fitnessavrg represents the arithmetical average of AIC values of all
Antibodies in the population and calculated as follow. If the AIC value of any of the
individual is greater than Fitnessavrg then Affinity is accepted as zero (Affinity=0) in
Equation (7).
K
Fitnessavrg = AICi K
i =1
(8)
Where, K is the size of the population and AICi is the fitness measure of the ith
antibody in the population. AIC is given as below.
(9)
The antibody which is ideal solution and the exact complementary of the Antigen
is the one whose affinity value is nearest to 1 among the population (in fact in
memory). Euclid distance between ideal Antibody and Antigen is equal to zero. In
this case the problem becomes not surface approximation but surface interpolation.
In order to integrate clonal selection algorithm to this problem some modification
must be carried out on the original algorithm. The followings are step by step
explanation of the modifications made on the algorithm and how these modifications
applied to above mentioned algorithm.
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
53
4 Experimental Results
In order to evaluate the proposed AIS based Automatic Knot Placement algorithm
five bivariate test functions were used (see Table 1). These functions were constructed
to have a unit standard deviation and a nonnegative range. Since the antibodies with
highest affinity values are kept in the memory in AIS architecture, the antibody of the
memory with the highest affinity for each generation was presented in the results. To
see the performance evaluation and approximation speed, genetic algorithm suggested
by Sarfaz at al. [6, 17] and proposed algorithm in this study were compared. Knot
ratio and operation of making important points immobilize at the knot chromosome
are discarded in their algorithm. The developed program has the flexibility of entering
the Bspline surface orders from the user. To test the quality of the proposed model,
Root Mean Square (RMS) error were calculated for M and N values from 5 to 10 for
400 (20x20) training data points from five surfaces defined as above. Initial
population is fed till 500 generations. Increase in the number of generation makes
increase in fitting (error decreases). The slot of the approximated curves indicates the
probability of having still approximation in next generation. Table 2 shows the
statistics of GA and AIS optimization execution. RMS errors between point clouds and
modeled surface based on the best chromosome in GA and antibodies in population of
memory in AIS were given in Table 3 for four test functions (Surface I Surface IV).
The analyses are implemented for all surfaces in Table 1. M x N mesh is
determined as randomly for Surface II Surface IV. At Surface II shown in Table 3,
the choices for M and N are fitting to MxN=8x8. Similarly, the choices of M and N for
Surface III and IV are fitting to MxN=9x9 and MxN=10x10, respectively.
Table 1. Five test functions for the bivariate setting
{ (
)}
)}
2 x1 1
x2
}]
AIS
20x20
20
200 (Antibody cell length)
None
None
6 (30%)
40
500
Random and user defined
GA
20x20
20
200 (chromosome genlength)
0.001
0.7
6 (30%)
None
500
Random and user defined
54
Table 3. RMS (x102) values of AIS and GA methods for 400 data points from Surface I to
Surface IV for different MxN
Gen.
1
10
25
50
100
200
300
400
500
Surface I (7x7)
Surface II (8x8)
G.A. A.I.S.
G.A. A.I.S.
8.26
9.34
3.64
3.69
7.99
7.14
3.70
3.59
8.22
5.88
4.25
3.42
8.72
5.61
3.91
2.86
8.34
5.53
3.72
2.71
8.72
5.58
4.01
2.01
8.99
5.29
4.60
1.58
7.63
5.23
3.52
1.52
8.86
5.23
3.99
1.50
Surface IV (10x10)
G.A. A.I.S.
8.21
8.57
8.76
8.02
8.36
7.61
8.53
7.44
8.78
7.22
9.30
7.10
7.99
7.07
8.45
7.00
8.57
6.95
Table 4. RMS (x102) values of AIS and GA methods for 400 data points from Surface V for
different MxN. (a) AIS, and (b) GA.
AIS
GA
MxN
5
6
7
8
9
10
5
6
7
8
9
10
6
8.6015
8.4809
7.6333
7.8404
7.9077
8.0664
10.501
10.238
9.9913
10.013
10.020
9.3970
7
8.0171
8.4179
7.2749
6.8614
7.8398
6.7625
9.6512
9.8221
9.4922
8.6365
9.1249
9.1297
8
7.9324
8.3722
7.4622
6.4382
6.9039
7.1614
9.1281
9.3189
8.9494
8.6247
8.7523
8.4642
9
7.0035
7.5269
7.2034
6.4288
6.9028
6.3575
9.7179
9.5761
8.2377
8.2134
8.1843
8.2721
10
7.3263
7.3554
6.9558
6.7375
6.8971
6.9640
9.8944
7.7725
8.1184
7.6657
7.3076
7.6331
7.0629
7.1965
6.1804
6.0138
5.7911
6.3637
9.6573
8.5993
8.1649
7.8947
7.4484
7.3366
1
10
25
50
100
200
300
400
500
A.I.S. (x102)
Best Best Max.
RMS Fitn. RMS
8.84 806 27.98
7.70 695 8.811
7.37 660 7.793
6.74 589 7.357
6.03 500 6.711
5.92 485 6.085
5.91 484 5.965
5.86 477 5.918
5.79 467 8.490
Avrg. Avrg.
Fitn. RMS
1226 16.3
767 8.43
682 7.57
641 7.20
511 6.12
492 5.97
488 5.94
481 5.89
488 5.95
G.A. (x102)
Best Best Max Avrg. Avrg.
RMS Fitn. RMS Fitn. RMS
8.82 804 26.70 1319 17.6
7.96 722 12.43 961 10.8
9.69 879 30.38 1085 12.9
7.93 719 22.33 940 10.6
8.01 727 10.86 891 9.87
9.26 843 12.58 925 10.2
7.69 694 29.60 1043 12.3
8.47 772 11.95 922 10.2
7.93 719 13.31 897 9.95
Table 4 points out Surface V. RMS error was calculated for some M and N values
from 5 to 10 for 400 (20x20) training data points. As the reader can evaluate, the error
approaches depending on the M and N values are reasonable and the best choice fits to
the MxN=9x10 as shown italic in Table 4. According to the knots MxN that offer best
55
fitting, the proposed algorithm was also compared with GA based algorithm by Safraz
et al. regarding to approximation speed. The outputs of the programs were taken for
some generations in the training period. Best and average fitness values of individuals
and antibodies according to the related generations of the program outputs were given
in Table 5. The graphics of approximations of the proposed AIS approach and GA
approach for all generations are given in Fig. 1. The bold line and dotted line
represent maximum fitness and average fitness values respectively.
G.A.
A.I.S.
2000
2000
1500
Fitness
1000
500
500
Max
Max
491
456
421
386
351
316
281
246
211
176
141
71
Avg.
106
469
433
397
361
325
289
253
181
145
73
109
37
217
Generation
Best
0
Avg.
1000
36
Fitness
1500
Generation
Best
56
Acknowledgements
This study has been supported by the Scientific Research Projects of Selcuk
University (in Turkey).
References
1. Weiss, V., Andor, L., Renner, G., Varady, T., Advanced surface fitting techniques,
Computer Aided Geometric Design Vol. 19, p. 1942, (2002).
2. Piegl, L., Tiller, W., The NURBS Book, Springer Verlag, Berlin, Heidelberg, (1997).
3. Yoshimoto, F., Moriyama, M., Harada, T., Automatic knot placement by a genetic
algorithm for data fitting with a spline, Proc. of the International Conference on Shape
Modeling and Applications, IEEE Computer Society Press, pp. 162169, (1999).
4. Goldenthal, R., Bercovier, M. Design of Curves and Surfaces by MultiObjective
Optimization, April 2005, Leibniz Report 200512.
5. Iglesias, A., Echevarra, G., Galvez, A., Functional networks for Bspline surface
reconstruction, Future Generation Computer Systems, Vol. 20, pp. 13371353, (2004).
6. Sarfraz, M., Raza, S.A., Capturing Outline of Fonts using Genetic Algorithm and Splines,
Fifth International Conference on Information Visualisation (IV'01) , pp. 738743, (2001).
7. Iglesias, A., Glvez, A., A New Artificial Intelligence Paradigm for ComputerAided
Geometric Design, Lecture Notes in Artificial Intelligence Vol. 1930, pp. 200213, (2001).
8. Hoffmann, M., Kovcs E., Developable surface modeling by neural network,
Mathematical and Computer Modelling, Vol. 38, pp. 849853, (2003)
9. Hoffmann, M., Numerical control of Kohonen neural network for scattered data
approximation, Numerical Algorithms, Vol. 39, pp. 175186, (2005).
10. Echevarra, G., Iglesias, A., Glvez, A., Extending Neural Networks for Bspline Surface
Reconstruction, Lecture Notes in Computer Science, Vol. 2330, pp. 305314, (2002).
11. Engin, O., Dyen, A., Artificial Immune Systems and Applications in Industrial Problems,
Gazi University Journal of Science 17(1): pp. 7184, (2004).
12. Boudjema, F., Enberg, P.B., Postaire, J.G., Surface Modeling by using Self Organizing Maps
of Kohonen, IEEE Int. Conf. on Systems, Man and Cybernetics, vol. 3, pp. 24182423, (2003).
13. Barhak, J., Fischer, A., Adaptive Reconstruction of Freeform Objects with 3D SOM Neural
Network Grids, Journal of Computers & Graphics, vol. 26, no. 5, pp. 745751, (2002).
14. Kumar, S.G., Kalra, P. K. and Dhande, S. G., Curve and surface reconstruction from points: an
approach based on SOM, Applied Soft Computing Journal, Vol. 5(5), pp. 5566, (2004).
15. Hoffmann, M., Vrady, L., and Molnar, T., Approximation of Scattered Data by Dynamic
Neural Networks, Journal of Silesian Inst. of Technology, pp, 1525, (1996).
16. Sarfraz, M., Riyazuddin, M., Curve Fitting with NURBS using Simulated Annealing,
Applied Soft Computing Technologies: The Challenge of Complexity, Series: Advances in
Soft Computing, Springer Verlag, (2006).
17. Sarfraz, M., Raza, S.A., and Baig, M.H., Computing Optimized Curves with NURBS Using
Evolutionary Intelligence, Lect. Notes in Computer Science, Volume 3480, pp. 806815,
(2005).
18. Sarfraz, M., Sait, Sadiq M., Balah, M., and Baig, M. H., Computing Optimized NURBS Curves
using Simulated Evolution on Control Parameters, Applications of Soft Computing: Recent
Trends, Series: Advances in Soft Computing, Springer Verlag, pp. 3544, (2006).
19. Sarfraz, M., ComputerAided Reverse Engineering using Simulated Evolution on NURBS, Int.
J. of Virtual & Physical Prototyping, Taylor & Francis, Vol. 1(4), pp. 243 257, (2006).
1 Introduction
The interest for pointbased surface has grown significantly in recent years in
computer graphics community due to the development of 3D scanning technologies,
or the riddance of connectivity management that greatly simplifies many algorithms
and data structures. Implicit surfaces are an elegant representation to reconstruct 3D
surfaces from point clouds without explicitly having to account for topology issues.
However, when the point sets data generated from range scanners (or laser scanners)
contain large noise, especially outliers, some established methods often fail to
reconstruct surfaces or real objects.
There are two major classes of surface representations in computer graphics:
parametric surfaces and implicit surfaces. A parametric surface [1, 2] is usually given
by a function f (s, t) that maps some 2dimensional (maybe nonplanar) parameter
domain into 3space while an implicit surface typically comes as the zerolevel
isosurface of a 3dimensional scalar field f (x, y, z). Implicit surface models are
popular since they can describe complex shapes with capabilities for surface and
volume modeling and complex editing operations are easy to perform on such models.
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 5764, 2007.
SpringerVerlag Berlin Heidelberg 2007
58
J. Yang et al.
Moving least square (MLS) [36] and radial basis function (RBF) [715] are two
popular 3D implicit surface reconstruction methods.
Recently, RBF attracts more attention in surface reconstruction. It is identified as
one of most accurate and stable methods to solve scattered data interpolation
problems. Using this technique, an implicit surface is constructed by calculating the
weights of a set of radial basis functions such they interpolate the given data points.
From the pioneering work [7, 8] to recent researches, such as compactlysupported
RBF [9, 10], fast RBF [1113] and multiscale RBF [14, 15], the established
algorithms can generate more and more faithful models of real objects in last twenty
years, unfortunately, most of them are not feasible for the approximations of
unorganized point clouds containing noise and outliers.
In this paper, we describe an implicit surface reconstruction algorithm for noise
scattered point clouds with outliers. First, we define a smooth probability density
kernel function reflecting the probability that a point p is a point on the surface S
sampled by a noisy point cloud. A filtering procedure based on mean shift is used to
move the points along the gradient of the kernel functions to the maximum probability
positions. Second, we reconstruct a surface representation of clean point sets
implicitly based on a combination of two wellknown methods, RBF and partition of
unity (PoU). The filtered domain of discrete points is divided into many subdomians
by an adaptively errorcontrolled octree subdivision, on which local shape functions
are constructed by RBFs. We blend local solutions together using a weighting sum of
local subdomains. As you will see, our algorithm is robust and high quality.
2 Filtering
2.1 Covariance Analysis
Before introducing our surface reconstruction algorithm, we describe how to perform
eigenvalue decomposition of the covariance matrix based on the theory of principal
component analysis (PCA) [24], through which the leastsquare fitting plane is
defined to estimate the kernelbased density function.
Given the set of input points {pi}i[1,L], pi R3, the weighted covariance matrix
C for a sample point pi is determined by
L
C = p j pi
j =1
)(p j pi )
p j pi
h ,
(1)
C el = l el .
(2)
Since C is symmetric and positive semidefine, all eigenvalues l are realvalued and
the eigenvectors el form an orthogonal frame, corresponding to the principal
components of the local neighborhood.
59
Assuming 012, it follows that the least square fitting plane H(p):
( p pi ) e0 = 0 through pi minimizes the sum of squared distances to the neighbors
of pi. Thus e0 approximates the surface normal ni at pi, i.e., ni = e0. In other words, e1
and e2 span the tangent plane at pi.
g ( p ) = gi ( p ) = i ( p p pro ) Gi ( p pro pi ) 1 ( p pi ) ni h
L
i =1
i =1
},
(3)
where i and Gi are two monotonically decreasing weighting functions to measure the
spatial distribution of point samples from spatial domain and range domain, which are
more adaptive to the local geometry of the point model. The weight function could be
either a Gaussian kernel or an Epanechnikov kernel. Here we choose Gaussian
function e x / 2 . The ppro is an orthogonal projection of a certain sample point p on
the leastsquare fitting plane. The positions p close to H(p) will be assigned with a
higher probability than the positions being more distant.
The simplest method to find the local maxima of (3) is to use a gradientascent
process written as follows:
2
g ( p ) = g i ( p )
i =1
2 L
i ( p ppro ) Gi (ppro pi ) ( p pi ) ni ni .
h2 i =1
(4)
(p p ) G (p
L
i =1
pro
pro
pi ) .
(5)
Combining equations (4) and (5) we get the resulting iterative equations of mean
shift filtering
(6)
where j is the number of iteration. In our algorithm, g(p) satisfies the following
conditions
g ( p2 ) g ( p1 ) >g ( p1 )( p2 p1 )
p1 0,p2 0 ,
(7)
60
J. Yang et al.
thus g(p) is a convex function with finite stable points in the set U = {pi  g ( pi ) g ( p1i )}
resulting in the convergence of the series {pij , i = 1,..., L, j = 1, 2,...} . Experiments show
that we stop iterative process if p ij +1 pij 5 103 h is satisfied. Each sample
usually converges in less than 8 iterations. Due to the clustering property of our
method, groups of outliers usually converge to a set of single points sparsely
distributed around the surface samples. These points can be characterized by a very
low spatial sampling density compared to the surface samples. We use this criteria for
the detection of outliers and remove them using a simple threshold.
(8)
pi ci < R
If the is greater than a userspecified threshold 0, the cell is subdivided and a local
neighborhood function fi is built for each leaf cell.
3.2 Estimating Local Shape Functions
Given the set of N pairwise distinct points ={pi}i[1,N], pi R3, which is filtered by
mean shift algorithm, and the set of corresponding values {vi}i[1,N], vi R, we want to
find an interpolation f : R3R such that
f ( p i ) = vi .
(9)
f ( p ) = ( p ) + i ( p p i
i =1
(10)
where (p)= kk(p) with {k(p)}k[1,Q] is a basis in the 3D null space containing all
realvalue polynomials in 3 variables and of order at most m with Q = { 3m + 3 } depending
on the choice of , is a basis function, i are the weights in real numbers, and  . 
denotes the Euclidean norm.
61
There are many popular basis functions for use: biharmonic (r) = r, triharmonic
(r) = r3, multiquadric (r) = (r2+c2)1/2, Gaussian (r) = exp(cr2), and thinplate
spline (r) = r2log(r), where r = ppi.
As we have an underdetermined system with N+Q unknowns and N equations, socalled natural additional constraints for the coefficient i are added in order to ensure
orthogonality, so that
N
=
i =1
i =1
i =1
=0 .
(11)
The equations (9), (10) and (11) may be written in matrix form as
A
T
v ,
=
0 0
(12)
where A=(pipj), i,j =1,,N, =k(pi), i=1,,N, k=1,,Q, =i, i=1,,N and
=k, k=1,,Q. Solving the linear system (14) determines i and k, hence the f(p).
Fig. 1. A set of locally defined functions are blent by the PoU method. The resulting function
(solid curve) is constructed from four local functions (thick dashed curves) with their associated
weight functions (dashed dotted curves).
f (p ) = fi (p ) i (p ) .
(13)
i =1
The blending function is obtained from any other set of smooth functions by a
normalization procedure
62
J. Yang et al.
i ( p ) = wi ( p )
w (p )
j
(14)
Bunny
362K
165K
9:07
0:02
0:39
Dragon head
485K
182K
13:26
0:04
0:51
(a)
(b)
Dragon
2.11M
784K
41:17
0:10
3:42
(c)
Fig. 2. Comparison of implicit surface reconstruction based on RBF methods. (a) Input noisy
point set of Stanford bunny (362K). (b) Reconstruction with Carrs method [11]. (c)
Reconstruction with our method in this paper.
63
manifold surfaces from point cloud data and their work is considered as an excellent
and successful research in this field. However, because of sensitivity to noise, the
reconstructed model in the middle of Fig. 2 shows spurious surface sheets. The
quality of the reconstruction is highly satisfactory, as be illustrated in the right of
Fig. 2, since a mean shift operator is introduced to deal with noise in our algorithm.
For the purpose of illustrating the influence of error thresholds on reconstruction
accuracy and smoothness, we set two different error thresholds on the reconstruction
of the scanned dragon model, as demonstrated by Fig. 3.
(a)
(b)
(c)
(d)
Fig. 3. Error threshold controls reconstruction accuracy and smoothness of the scanned dragon
model consisting of 2.11M noisy points. (a) Reconstructing with error threshold at 8.4x104. (c)
Reconstructing with error threshold at 2.1x105. (b) and (d) are closeups of the rectangle areas
of (a) and (c) respectively.
References
1. Weiss, V., Andor, L., Renner, G., Varady, T.: Advanced Surface Fitting Techniques.
Computer Aided Geometric Design, 1 (2002) 1942
2. Iglesias, A., Echevarra, G., Glvez, A.: Functional Networks for Bspline Surface
Reconstruction. Future Generation Computer Systems, 8 (2004) 13371353
3. Alexa, M., Behr, J., CohenOr, D., Fleishman, S., Levin D., Silva, C. T.: Point Set
Surfaces. In: Proceedings of IEEE Visualization. San Diego, CA, USA, (2001) 2128
4. Amenta, N., Kil, Y. J.: Defining PointSet Surfaces. ACM Transactions on Graphics, 3
(2004) 264270
64
J. Yang et al.
5. Levin, D.: MeshIndependent Surface Interpolation. In: Geometric Modeling for Scientific
Visualization, SpingerVerlag, (2003) 3749
6. Fleishman, S., CohenOr, D., Silva, C. T.: Robust Moving LeastSquares Fitting with
Sharp Features. ACM Transactions on Graphics, 3 (2005) 544552
7. Savchenko, V. V., Pasko, A., Okunev, O. G., Kunii, T. L.: Function Representation of
Solids Reconstructed from Scattered Surface Points and Contours. Computer Graphics
Forum, 4 (1995) 181188
8. Turk, G., OBrien, J.: Variational Implicit Surfaces. Technical Report GITGVU9915,
Georgia Institute of Technology, (1998)
9. Wendland, H.: Piecewise Polynomial, Positive Definite and Compactly Supported Radial
Functions of Minimal Degree. Advances in Computational Mathematics, (1995) 389396
10. Morse, B. S., Yoo, T. S., Rheingans, P., Chen, D. T., Subramanian, K. R.: Interpolating
Implicit Surfaces from Scattered Surface Data Using Compactly Supported Radial Basis
Functions. In: Proceedings of Shape Modeling International, Genoa, Italy, (2001) 8998
11. Carr, J. C., Beatson, R. K., Cherrie, J. B., Mitchell, T. J., Fright, W. R., McCallum, B. C.,
Evans, T. R.: Reconstruction and Representation of 3D Objects with Radial Basis
Functions. In: Proceedings of ACM Siggraph 2001, Los Angeles, CA , USA, (2001) 6776
12. Beatson, R. K.: Fast Evaluation of Radial Basis Functions: Methods for TwoDimensional
Polyharmonic Splines. IMA Journal of Numerical Analysis, 3 (1997) 343372
13. Wu, X., Wang, M. Y., Xia, Q.: Implicit Fitting and Smoothing Using Radial Basis
Functions with Partition of Unity. In: Proceedings of 9th International ComputerAidedDesign and Computer Graphics Conference, Hong Kong, China, (2005) 351360
14. Ohtake, Y., Belyaev, A., Seidel, H. P.: Multiscale Approach to 3D Scattered Data
Interpolation with Compactly Supported Basis Functions. In: Proceedings of Shape
Modeling International, Seoul, Korea, (2003) 153161
15. Tobor, I., Reuter, P., Schlick, C.: Multiscale Reconstruction of Implicit Surfaces with
Attributes from Large Unorganized Point Sets. In: Proceedings of Shape Modeling
International, Genova, Italy, (2004) 1930
16. Comaniciu, D., Meer, P.: Mean Shift: A Robust Approach toward Feature Space Analysis.
IEEE Transactions on Pattern Analysis and Machine Intelligence, 5 (2002) 603619
17. Cheng, Y. Z.: Mean Shift, Mode Seeking, and Clustering. IEEE Transactions on Pattern
Analysis and Machine Intelligence, 8 (1995) 790799
18. Ohtake, Y., Belyaev, A., Alexa, M., Turk, G., Seidel, H. P.: Multilevel Partition of Unity
Implicits. ACM Transactions on Graphics, 3 (2003) 463470
19. Taubin, G.: Estimation of Planar Curves, Surfaces and Nonplanar Space Curves Defined
by Implicit Equations, with Applications to Edge and Range Image Segmentation. IEEE
Transaction on Pattern Analysis and Machine Intelligence, 11 (1991) 11151138
20. Boubekeur, T., Heidrich, W., Granier, X., Schlick, C.: VolumeSurface Trees. Computer
Graphics Forum, 3 (2006) 399406
21. Schall, O., Belyaev, A., Seidel, HP.: Robust Filtering of Noisy Scattered Point Data. In:
IEEE Symposium on PointBased Graphics, Stony Brook, New York, USA, (2005) 7177
22. Rusinkiewicz, S., Levoy, M.: Qsplat: A Multiresolution Point Rendering System for Large
Meshes. In: Proceedings of ACM Siggraph 2000, New Orleans, Louisiana, USA, (2000)
343352
23. Lorensen, W. E., Cline, H. F.: Marching Cubes: A High Resolution 3D Surface
Construction Algorithm. Computer Graphics, 4 (1987) 163169
24. Hoppe, H., DeRose, T., Duchamp, T., McDonald, J., Stuetzle, W.: Surface Reconstruction
from Unorganized Points. In: Proceedings of ACM Siggraph92, Chicago, Illinois, USA,
(1992) 7178
Introduction
66
V. Savchenko et al.
(a)
(b)
Fig. 1. Surface reconstruction of a technical data set. (a) Cloud of points (4100
scattered points are used). (b)Triangulation produced by Delaunaybased method (N
triangular elements: 7991, N points: 4100).
67
approximation of the original surface (triangular mesh) is given. In some applications, it is important to preserve the initial mesh topology. Thus, our goal
is to insert new points in domains where the If function does not satisfy the
userspecied value. The main contribution of the paper is a novel algorithm of
a vertex placement which is discussed in details in Section 2.
68
V. Savchenko et al.
(a)
(b)
The key idea of the fth step is to progressively adapt the newly created points
throw a few iterations. That is, an area with low sampling density will be lled
in accordance with points generated on the previous steps. In order to obtain
a good set of the new (approximated) points coordinates, we need a measure
of a goodness of triangulations arising from randomly coming points. It is
natural to use a mesh quality parameter, AR of the elements of a star, for such
a measure. In the case of a triangular mesh, AR can be dened as a ratio of the
maximum edge length to the minimum edge length of an element. Nevertheless,
according to our experiments it is much better to use an information Mi (Mi is
the AR of the ith triangle of the star) associated with respect to a point g (Fig.
3) of the star in an analogy with the Shannon entropy [8], which denes the
uncertainty of a random variable, and can be a natural measure for the criterion
used in the enrichment algorithm. Shannon dened the entropy of an ensemble
of messages: if there are N possible messages that can be sent in one package,
and message m is being transmmited with probability pm , then the entropy is
as follows
S=
N
pm log (pm ) .
(1)
Intuitively, we can use ARbased entropy, with respect to the point g as follows
S=
N
(2)
i=0
x1 x2 ... xn
p1 p2 ... pn
69
()
a1 1
a2 a 1
an an1
, p2 =
, pn =
...
an 1
an 1
an 1
Thus, we can dene the random variable with the distribution as follows
a1 a2 ... an
.
p1 p2 ... pn
Its probability values are used in formula (3) for Aentropy:
A=
N
pi log (pi ) , pi =
ai ai1
, p0 = 1.
an 1
(3)
The value A of Aentropy depends on the coordinates of the center of the star
(point g in Fig. 3). Thus, the problem of maximization of the value A is reduced
to the problem of nding the new coordinates of this center (Fig. 3(b)) and is
considered as the optimization problem. For solving this optimization problem,
we use the downhill simplex method of Nelder and Mead [15].
Experimental Results
70
V. Savchenko et al.
(a)
(b)
(c)
Fig. 4. The mechanical data set. (a) Mesh after enrichment. (b) Mesh after simplication. (c) Shaded image of the nal surface.
(a)
(b)
(c)
(d)
Fig. 5. Mesh fragments of the Horse model after simplication (13% of original
elements) by using: (a) Progressive simplication method; (b) Method based on a
global error bound; (c) Method based on a quadric error metric; (d) Our method
The volume dierence between the initial model and simplied one by our
technique is 0.8%; the nal AR value is equal to 1.5. The global error bound
method demonstrates the worst results; the volume dierence is 1.3%, the nal
AR value is equal to 2.25. At a glance of the model visualization and the volume preservation, the best method, without any doubt, is the method based on
the quadric error metric, see [18]. However, there is a tradeo between attaining a
71
Concluding Remarks
72
V. Savchenko et al.
References
1. Frey P. J.: About Surface Remeshing. Proc.of the 9th Int.Mesh Roundtable (2000)
123136
2. Alexa, M., Behr, J.,CohenOr, D., Fleishman, S., Levin, D., Silvia, C. T.: Point
Set Surfaces. Proc. of IEEE Visualization 2001 (2002) 2123
3. Pauly, M., Gross, M., Kobbelt, L.: Ecient Simplication of PointSampled Surfaces. Proc. of IEEE Visualization 2002(2002) 163170
4. Hoppe, H., DeRose, T., Duchamp, T., McDonald, J.,Stuetzle, W.: Surface Reconstruction from Unorganized Points. Proceedings of SIGGRAPH 92 (1992) 7178
5. Amenta, N., Choi, S., Kolluri, R.: The Powercrust. Proc. of the 6th ACM Symposium on Solid Modeling and Applications (1980) 609633
6. Kolluri, R., Shewchuk, J.R., OBrien, J.F.: Spectral Surface Reconstruction From
Noisy Point Clouds. Symposium on Geometry Processing (2004) 1121
7. Blahut, R.E.: Principles and Practice of Information Theory. AddisonWisley
(1987)
8. Shepard, D.: A TwoDimensional Interpolation Function for Irregularly Spaced
Data. Proc. of the 23th Nat. Conf. of the ACM (1968) 517523
9. Franke, R., Nielson, G.,: Smooth Interpolation of Large Sets of Scattered Data.
Journal of Numerical Methods in Engineering 15 (1980) 16911704
10. Alliez, P., de Verdiere, E.C., Devillers, O., Isenburg, M.: Isotropic Surface Remeshing. Proc.of Shape Modeling International (2003)4958
11. Alliez, P., CohenSteiner, D., Devillers, O., Levy, B., Desburn, M.: Anisotropic
Polygonal Remeshing. Inria Preprint 4808 (2003)
12. Liepa, P.: Filling Holes in Meshes. Proc. of 2003 Eurographics/ACM SIGGRAPH
symp.on Geometry processing 43 200205
13. Carr, J.C., Mitchell, T.J., Beatson, R.K., Cherrie, J.B., Fright, W.R., McCallumn,
B.C., Evans, T.R.: Filling Holes in Meshes. Proc.of SIGGRAPH01 (2001) 6776
14. Wendland, H.: Piecewise Polynomial, Positive Dened and Compactly Supported
Radial Functions of Minimal Degree. AICM 4 (1995) 389396
15. Nelder, J.A., Mead, R.: A simplex Method for Function Minimization. Computer
J. 7 (1965) 308313
16. Bookstein, F.L.: Morphometric Tools for Landmarks Data. Cambridge University
Press (1991) Computer J. 7 (1965) 308313
17. Schroeder, W., Martin, K., Lorensen,B.: The Visualization Toolkit. Ed.2 Prentice
Hall Inc. (1998)
18. Garland, M.: A Multiresolution Modeling: Survey and Future Opportunities. Proc.
of EUROGRAPHICS, State of the Art Reports (1999)
19. Bossen, F.J., Heckbert, P.S.: A Pliant Method for Anisotropic Mesh Generation.
Proc. of the 5th International Meshing Roundtable (1996) 6374
20. Zhou, T., Shimada, K.: An AngleBased Approach to Twodimensional Mesh
Smoothing. Proc.of the 9th International Meshing Roundtable (2000) 373384
21. Krysl, P., Belytchko, T.: An Ecient Linearprecision Partition of Unity Basis
for Unstructured Meshless Methods. Communications in Numerical Methods in
Engineering 16 (2000) 239255
Abstract. In this paper, we introduce a new piecewise linear parameterization of 3D surface patches which provides a basis for texture mapping, morphing, remeshing, and geometry imaging. To lower distortion
when atting a 3D surface patch, we propose a new method to locally
calculate straightest distances with cutting planes. Our new and simple
technique demonstrates competitive results to the current leading parameterizations and will help many applications that require onetoone
mapping.
Introduction
74
(a) By Floaters
(dist. 1.26)
(b) By Ours
(dist. 1.20)
(c) By Ours
with a fixed
(d) By Ours
with a measured
Fig. 1. Comparisons with texturemapped models, Hat and Nefertiti: (a) is resulted
by Floaters [5] with a distortion of 1.26. (b) is by our new parameterization with a
distortion of 1.20, less than by Floaters. The distortion is measured by the texture
stretch metric [19]. (c) is by ours with a xed boundary and (d) is also by ours with a
measured boundary.We can see much less distortion in (d) than (c).
1.1
Related Work
75
The core of this piecewise linear parameterization is nding nonnegative coefcients aij in the equation 1. Our new parameterization proposes to determine
these coecients by using locally straightest paths and distances with local cutting planes. The work by Lee et. al. [10] uses local straightest geodesics by
Polthier and Schmiess [15] for these coecients, however the tangents of the
straightest geodesics by this previous method are determined by gaussian curvatures at vertices and may not be intuitively straightest especially when the
gaussian curvature is not equal to 2. In Figure 2, Vps is determined by having
the same left and right angle at Vi by [10], while Vour is determined intuitively
straightest by our local cutting plane.
Our new method for local straightest paths and distances is determined as
follows. As shown in Figure 2, a base plane B is created locally at each interior
vertex. To preserve shape better, the normal N ormalB of the base planeB is
calculated by areaweighted averaging of neighboring face normals of Vi as shown
in equation 2 and normalized later.
N ormalB =
wj N ormalj
(2)
jN (i)
In this way, we found that the distortion is lower than a simple averaged
normal of neighboring faces. A local cutting plane P passing with Vi , Vj is also
calculated. Two planes intersect in a line as long as they are not parallel. Our
cutting plane P pierces a neighboring face (for example jth neighboring face)
on the mesh. Therefore there is a line segment which is the straightest path by
76
P
Vi
Vi
Vj
Vj
Vj
Vj
Vi
Vk
Vj'
Vl
Vk
Vi
Vj'
Vl
Vk Vps
Vour
Vl
Vl
Vk
Vps
Vour
Fig. 2. Our new local straightest path: For each interior vertex Vi , a local base B
and a cutting plane P with Vi , Vj is created. A local straightest path is computed by
cutting the face Vi Vk Vl with P. The intersection Vj is computed on the edge Vk Vl and
connected to Vi to form a local straightest path. Vps is determined by the Polthier and
Schimess [15] and Vour is determined by our new method.
Fig. 3. Results by our new parameterization: models are Nefertiti, Face, Venus, Man,
Mountain from the left to the right
our method. There may be multiple line intersections where the plane P may
pierce multiple neighboring faces. As a future work, we will explore how to select
a line segment.
A local straightest path is computed by intersecting the face Vi Vk Vl and the
cutting plane P. The tangent a for this intersecting line segment Vj Vj can be
easily calculated from the normal N ormalj of the face Vi Vk Vl and the normal
N ormalp of the cutting plane P as follows:
a = N ormalj XN ormalc
(3)
77
Discussion
Floaters [5] is considered as the widely used parameterization and LTDs [10]
also used a straightest geodesic path algorithm by [15]. Therefore we compare
our method to the two existing parameterizations.
The visual results achieved by our new parameterization are shown in
Figure 3. The distortion with the texturestretch metric in [19] is also measured
and shown in Table 1. Notice that our parameterization produces competitive
results to the current leading linear parameterizations. With measured boundary
The previous algorithms and the distortion metric (L2 norm, the mean stretch
over all directions) are all implemented by us.
As shown in Figure 4 (b) and (c), and the 1st and 2nd gures in Figure 3, high
distortion always occurs near the boundary. To reduce this high distortion, we
attempt to derive a boundary by our straightest geodesic path algorithm.
An interior source vertex S can be specied by a user or calculated as a center
vertex of the mesh from the boundary vertices. A virtual edge is dened as an
edge between S and a vertex on the boundary. Straightest paths and distances
of virtual edges to every vertex on the boundary will be measured as follows:
1. Make virtual edges connecting from S to every boundary vertex of the mesh.
2. Map each virtual edge onto the base plane B by a polar map, which preserves
angles between virtual edges such as [4]. The normal of the base plane B is
calculated as previously mentioned in 2.
3. Measure the straightest distance for each virtual edge on B from S to each
boundary vertices with corresponding cutting planes.
4. Position each boundary vertex at the corresponding distance from S on B.
5. If the resulted boundary is nonconvex shaped, change it to a convex. Find
the edges having minimum angle with the consecutive edge (i.e., concaved
part of the boundary) and move the boundary vertex to form a convex.
In the linear system AU = B, the boundary vertices in B is simply set to the
measured position (ui , vi ) and (0, 0) for inner vertices. Then PBCG as mentioned
in 2 is used to nd positions in the parameterized space.
Figure 4 (d) and (e) clearly shows the utility of our straightest geodesic paths
with the simple models Testplane on the top and Testplane2 on the bottom.
With a circular boundary, previous parameterizations [5,10] produce the same
results in (b) for two dierent models. In (c), there is also a high distortion in
the texturemapping by using (b). Our straightest path algorithm contributes to
deriving two distinct measured boundaries and results in very low distortion in
(d) and much better texturemapping in (e).
78
(a) Models
(b) Circular
boundary
(c) Textured
by (b)
(d) Measured
boundary
(e) Textured
by (d)
Fig. 4. Comparisons between parameterizations with a xed boundary and a measured boundary by our new method: With a circular boundary, previous parameterizations [5,10] produce the same results in (b) for two dierent models in (a). Notice
in (c) that there are a lot of distortion in the texturemapping by the results in (b).
Our straightest path algorithm contributes to creating a measured boundary to reduce
distortion by distinct results in (d) and much better texturemapping in (e).
Fig. 5. Results by our new parameterization with dierent boundaries. Models are
Face in the two left and Venus on the two right columns. The tip of the nose on each
model is chosen as S.
Results with more complex models are demonstrated in Figure 5. Notice that
there is always a high level of distortion near the xed boundary but a low level
of distortion near the measured boundary by using our method. The straightest
79
distances to the boundary vertices are actually dependent on the selection on the
source vertex S. We simply use a vertex centered on the mesh from the boundary
as for the source S. As a future work, we will explore how to select the vertex S.
Results
The visual results by our method are shown in Figure 1, 3, and 5. The statistical
results comparing our parameterization with other methods are listed in Table 1.
Notice that visually and statistically our methods produce competitive results
than the previous methods.
Table 1. Comparisons of distortion measured by the texture stretch metric [19]: The
boundary is xed to a circle. Combined with measured boundaries by our straightest
path algorithm, our new parameterization in the 6th column produces better results
than the current leading methods.
Models
Nefertiti
Man
Face
Venus
Mountain
1.165
1.244
1.223
2.159
1.519
1.165
1.241
1.222
2.162
1.552
1.164
1.240
1.221
2.168
1.550
1.146
1.226
1.334
1.263
1.119
Acknowledgement
This work was supported by grant No. R012005000101200 from Korea Science
and Engineering Foundation in Ministry of Science & Technology.
80
References
1. Chen J., Han Y.: Shortest Paths on a Polyhedron; Part I: Computing Shortest
Paths, Int. J. Comp. Geom. & Appl. 6(2), 1996.
2. Desbrun M., Meyer M., Alliez P.: Intrinsic Parameterizations of Surface Meshes,
Eurographics 2002 Conference Proceeding, 2002.
3. Floater M., Gotsman C.: How To Morph Tilings Injectively, J. Comp. Appl.
Math., 1999.
4. Floater M.: Parametrization and smooth approximation of surface triangulations, Computer Aided Geometric Design, 1997.
5. Floater M.: Mean Value Coordinates, Comput. Aided Geom. Des., 2003.
6. Funkhouser T., Kazhdan M., Shilane P., Min P.,Kiefer W., Tal A., Rusinkiewicz
S., Dobkin D.: Modeling by example, ACM Transactions on Graphics, 2004.
7. Kimmel R., Sethian J.A.: Computing Geodesic Paths on Manifolds, Proc. Natl.
Acad. Sci. USA Vol.95 1998, 1998.
8. Lee Y., Kim H., Lee S.: Mesh Parameterization with a Virtual Boundary, Computer and Graphics 26 (2002), 2002.
9. Lee H., Kim L., Meyer M., Desbrun M.: Meshes on Fire, Computer Animation
and Simulation 2001, Eurographics, 2001.
10. Lee H., Tong Y. Desbrun M.: GeodesicsBased OnetoOne Parameterization of
3D Triangle Meshes, IEEE Multimedia January/March (Vol. 12 No. 1), 2005.
11. Meyer M., Lee H., Barr A., Desbrun M.: Generalized Barycentric Coordinates to
Irregular Ngons, Journal of Graphics Tools, 2002.
12. Mitchell J.S.B.: Geometric Shortest Paths and network optimization, In Handbook of Computational Geometry, J.R. Sack and J. Urrutia, Eds. Elsevier Science
2000.
13. Mitchell J.S.B., Mount D.M., Papadimitriou C.H.: The Discrete Geodesic Problem, SIAM J. of Computing 16(4), 1987.
14. Peyre G., Cohen L.: Geodesic Remeshing and Parameterization Using Front
Propagation, In Proceedings of VLSM03, 2003.
15. Polthier K., Schmies M.: Straightest Geodesics on Polyhedral Surfaces, Mathematical Visualization, 1998.
16. Polthier K., Schmies M.: Geodesic Flow on Polyhedral Surfaces, Proceedings of
EurographicsIEEE Symposium on Scientic Visualization 99, 1999.
17. Press W., Teuklosky S., Vetterling W., Flannery B.: Numerical Recipes in C,
second edition, Cambridge University Press, New York, USA, 1992.
18. Riken T., Suzuki H.: Approximate Shortest Path on a Polyhedral Surface Based
on Selective Renement of the Discrete Graph and Its Applications, Geometric
Modeling and Processing 2000 (Hongkong), 2000.
19. Sander P.V., Snyder J., Gortler S.J., Hoppe H.: Texture Mapping Progressive
Meshes, Proceedings of SIGGRAPH 2001, 2001.
20. Sifri O., Sheer A., Gotsman C. : Geodesicbased Surface Remeshing, In Proceedings of 12th Intnl. Meshing Roundtable, 2003.
Abstract. This paper presents a new approach method to recognize facial expressions in various internal states using manifold learning (ML). The manifold
learning of facial expressions reflects the local features of facial deformations
such as concavities and protrusions. We developed a representation of facial
expression images based on manifold learning for feature extraction of facial
expressions. First, we propose a zerophase whitening step for illuminationinvariant images. Second, facial expression representation from locally linear
embedding (LLE) was developed. Finally, classification of facial expressions in
emotion dimensions was generated on two dimensional structure of emotion
with pleasure/displeasure dimension and arousal/sleep dimension. The proposed
system maps facial expressions in various internal states into the embedding
space described by LLE. We explore locally linear embedding space as a facial
expression space in continuous dimension of emotion.
1 Introduction
A challenging study in automatic facial expression recognition is to detect the change
of facial expressions in various internal states. Facial expressions are continuous because the expression image varies smoothly as the expression is changed. The variability of expression images can be represented as subtleties of manifolds such as
concavities and protrusions in the image space. Thus automatic facial expression
recognition has to be detected subtleties of manifolds in the expression image space,
and it is also required continuous dimensions of emotion because the expression images consist of several other emotions and many combinations of emotions.
The dimensions of emotion can overcome the problem of discrete recognition
space because the discrete emotions can be treated as regions in a continuous space.
The two most common dimensions are arousal (calm/excited), and valence (negative/positive). Russell who argued that the dimensions of emotion can be applied to
emotion recognition [1]. Peter Lang has assembled an international archives of imagery rated by arousal and valence with image content [2]. To recognize facial expressions in various internal states, we worked with dimensions of emotion instead of
basic emotions or discrete emotion categories. The dimensions of emotion proposed
are pleasure/displeasure dimension and arousal/sleep dimension.
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 8188, 2007.
SpringerVerlag Berlin Heidelberg 2007
82
Y.s. Shin
Many studies [3, 4, 5, 6, 7] for representing facial expression images have been
proposed such as Optic flow, EMG(electromyography), Geometric tracking method,
Gabor representation, PCA (Principal Component Analysis) and ICA (Independent
Component Analysis). At recently study, Seung and Lee [8] proposed generating
image variability as lowdimensional manifolds embedded in image space. Roweis
and Saul [9] showed that locally linear embedding algorithm is able to learn the
global structure of nonlinear manifolds, such as the pose and expression of an individuals faces. But there have been no reports about how to contribute the intrinsic
features of the manifold based on various internal states on facial expression
recognition.
We explore the global structure of nonlinear manifolds on various internal states
using locally linear embedding algorithm. This paper developed a representation of
facial expression images on locally linear embedding for feature extraction of various
internal states. This representation consists of two steps in section 3. Firstly, we present a zerophase whitening step for illuminationinvariant images. Secondly, facial
expression representation from locally linear embedding was developed. A classification of facial expressions in various internal states was presented on emotion dimension having pleasure/displeasure dimension and arousal/sleep dimension using 1nearest neighborhood. Finally, we discuss locally linear embedding space and facial
expression space on dimensions of emotion.
Fig. 1. Examples from the facial expression database in various internal states
83
Fig. 2. The dimension analysis of 44 emotion words related to internal emotion states
V = E { XX
} 2 , Z = XV
(1)
This indicates that the mean is set to zero and the variances are equalized as unit
variances. Secondly, we subtract the local mean grayscale value from the sphered
each patch. From this process, Z removes much of the variability due to lightening.
Fig. 3(a) shows original images before preprocessing and Fig. 3(b) shows images
after preprocessing.
84
Y.s. Shin
(a)
(b)
Fig. 3. (a) original images before preprocessing (b) images after preprocessing
(W ) = xi Wij xij
(2)
j =1
xi and x j are not in the same neighbor. Second, the rows of the weight matrix
ij
j =1
weights
Wij according to the least square. K means nearest neighbors per data point.
Step 3: compute the vectors Y best reconstructed by the weights W, minimizing the
quadratic form in eq.(3) by its bottom nonzero eigenvectors.
85
(Y ) = yi Wij yij
(3)
j =1
(Y ) is invariant to translation in Y,
1
yi yiT = I is to
N i
avoid degenerate solutions of Y=0. Therefore, eq.(3) can be described to an eigenvector decomposition problem as follow.
k
(Y ) = yi Wij yij
j =1
= arg min ( I W )Y
(4)
= arg min Y T ( I W )T ( I W )Y
Y
eq.(3)
is the smallest
eigenvectors of
matrix
eigenvectors with eigenvalue zero enforces the constraint term. Thus we need to compute the bottom (d+1) eigenvectors of the matrix.
Therefore we obtain the corresponding lowdimensional data set Y in embedding
space from the training set X. Figure 4 shows facial expression images reconstructed
from bottom (d+1) eigenvectors corresponding to the d+1 smallest eigenvalues discovered by LLE, with K=3 neighbors per data point. Especially, the first eight components d=8 discovered by LLE represent well features of facial expressions. Facial
expression images of various internal states mapped into the embedding space described by the first two components of LLE (See Fig. 5). From figure 5, we can
explore the structural nature of facial expressions in various internal states on embedding space modeled by LLE.
(a)
(b)
(c)
Fig. 4. Facial expression images reconstructed from bottom (d+1) eigenvectors (a) d=1,
(b) d=3, and (c) d=8
86
Y.s. Shin
Fig. 5. 318 facial expression images of various internal states mapped into the embedding space
described by the first two components of LLE
The further a point is away from the center point, the higher is the intensity of displeasure and arousal dimensions. The center points coexists facial expression images
of various internal states.
C3
C2
C4
C1
87
0
0
pleasure
10
displeasure
This paper explores two problems. One is to explore a new approach method to
recognize facial expressions in various internal states using locally linear embedding
algorithm. The other is to explore the structural nature of facial expressions in various
internal states on embedding space modeled by LLE.
88
Y.s. Shin
As a result of the first problem, the recognition results of each dimension through
1nearest neighborhood were significant 90.9% in Pleasure/Displeasure dimension
and 56.1% in the Arousal/Sleep dimension. The two dimensional structure of emotion
in the facial expression recognition appears as a stabled structure for the facial expression recognition. PleasureDispleasure dimension is analyzed as a more stable dimension than ArousalSleep dimension. In second case, facial expressions in continuous
dimension of emotion was showed a cross structure on locally linear embedding
space. The further a point is away from the center point, the higher is the intensity of
displeasure and arousal dimensions. From these results, we can know that facial expression structure on continuous dimension of emotion is very similar to structure
represented by the manifold model.
Thus our result may be analyzed that the relationship of facial expressions in various internal states can be facilitated on the manifold model. In the future work, we
will consider learning invariant manifolds of facial expressions.
Acknowledgements. This work was supported by the Korea Research Foundation
Grant funded by the Korean Government (KRF2005042D00285).
References
1. Russell, J. A.: Evidence of convergent validity on the dimension of affect. Journal of Personality and Social Psychology, 30, (1978) 11521168
2. Peter J. L.: The emotion probe: Studies of motivation and attention. American Psychologist, 50(5) (1995) 372385
3. Donato, G., Bartlett, M., Hager, J., Ekman, P. and Sejnowski, T.: Classifying facial actions, IEEE PAMI, 21(10) (1999) 974989
4. Schmidt, K., Cohn, J. :Dynamics of facial expression:Normative characteristics and individual difference, Intl. Conf. On Multimedia and Expo, 2001
5. Pantic, M., Rothkrantz, L.J.M.: Towards an AffectSensitive Multimodal Human Computer Interaction, Proc. Of IEEE. 91 13701390
6. Shin, Y., An, Y.: Facial expression recognition based on two dimensions without neutral
expressions, LNCS(3711) (2005) 215222
7. Bartlett, M.: Face Image analysis by unsupervised learning, Kluwer Academic Publishers
(2001)
8. Seung, H. S., Lee, D.D.:The manifold ways of perception, Science (290), (2000) 22682269
9. Roweis, S.T., Saul, L.K..:Nonlinear Dimensionality reduction by locally linear embedding,
Science (290), (2000) 23232326
10. Bahn, S., Han, J., Chung, C.: Facial expression database for mapping facial expression
onto internal state. 97 Emotion Conference of Korea, (1997) 215219
11. Osgood, C. E., May, W.H. and Miron, M.S.: Crosscurtral universals of affective meaning.
Urbana:University of Illinoise Press, (1975)
12. Russell, J. A., Lewicka, M. and Nitt, T.: A crosscultural study of a circumplex model of
affect. Journal of Personality and Social Psychology, 57, (1989) 848856
13. Kim, Y., Kim, J., Park, S., Oh, K., Chung, C.: The study of dimension of internal states
through word analysis about emotion. Korean Journal of the Science of Emotion and Sensibility, 1 (1998) 145152
Abstract. One of the major current issues in Articial Life is the decision modeling problem (also known as goal selection or action selection).
Recently, some Articial Intelligence (AI) techniques have been proposed
to tackle this problem. This paper introduces a new basedonArticialIntelligence framework for decision modeling. The framework is applied
to generate realistic animations of virtual avatars evolving autonomously
within a 3D environment and being able to follow intelligent behavioral
patterns from the point of view of a human observer. Two examples of
its application to dierent scenarios are also briey reported.
Introduction
The realistic simulation and animation of the behavior of virtual avatars emulating human beings (also known as Articial Life) has attracted much attention
during the last few years [2,5,6,7,8,9,10,11,12,13]. A major goal in behavioral
animation is the construction of an intelligent system able to integrate the
dierent techniques required for the realistic simulation of the behavior of virtual humans. The challenge is to provide the virtual avatars with a high degree
of autonomy, so that they can evolve freely, with a minimal input from the animator. In addition, this animation is expected to be realistic; in other words,
the virtual avatars must behave according to reality from the point of view of a
human observer.
Recently, some Articial Intelligence (AI) techniques have been proposed to
tackle this problem [1,3,4,8]. This paper introduces a new basedonArticialIntelligence framework for decision modeling. In particular, we apply several
AI techniques (such as neural networks, expert systems, genetic algorithms,
Kmeans) in order to create a sophisticated behavioral system that allows the
avatars to take intelligent decisions by themselves. The framework is applied to
generate realistic animations of virtual avatars evolving autonomously within a
3D environment and being able to follow intelligent behavioral patterns from
the point of view of a human observer. Two examples of the application of this
framework to dierent scenarios are briey reported.
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 8996, 2007.
c SpringerVerlag Berlin Heidelberg 2007
90
The structure of this paper is as follows: the main components of our behavioral system are described in detail in Section 2. Section 3 discusses the
performance of this approach by means of two simple yet illustrative examples.
Conclusions and future lines in Section 4 close the paper.
Behavioral System
In this section the main components of our behavioral system are described.
2.1
Environment Recognition
At the rst step, a virtual world is generated and the virtual avatars are placed
within. In the examples described in this paper, we have chosen a virtual park
and a shopping center, carefully chosen environments that exhibit lots of potential objectsavatars interactions. In order to interact with the 3D world, each
virtual avatar is equipped with a perception subsystem that includes a set of
individual sensors to analyze the environment and capture relevant information.
This analysis includes the determination of distances and positions of the dierent objects of the scene, so that the agent can move in this environment, avoid
obstacles, identify other virtual avatars and take decisions accordingly. Further,
each avatar has a predened vision range (given by a distance threshold value
determined by the user), and hence, objects far away from the avatar are considered to be visible only if the distance from the avatar to the object is less than
such threshold value; otherwise, the object becomes invisible.
All this information is subsequently sent to an analyzer subsystem, where it
is processed by using a representation scheme based on genetic algorithms. This
scheme has proved to be extremely useful for pattern recognition and identication. Given a pair of elements A and B and a sequence j, there is a distance function that determines how near these elements are. It is dened as
k
dist(j, A, B) = k1
Aji Bij , where Aji denotes the ith gene at sequence j for
i=1
the chromosome A, and k denotes the number of genes of such a sequence. Note
that we can think of sequences in terms of levels in a tree. The sequence j is
simply the level j down the tree at which it appears, with the top of the tree as
sequence 1. A and B are similar at sequence (or at level) j if dist(j, A, B) = 0.
Note that this hierarchical structure implies that an arbitrary object is nearer
to that minimizing the distance at earlier sequences. This simple expression
provides a quite accurate procedure to classify objects at a glance, by simply
comparing them sequentially at each depth level.
2.2
Knowledge Acquisition
Once new information is attained and processed by the analyzer, it is sent to the
knowledge motor. This knowledge motor is actually the brain of our system. Its
main components are depicted in Figure 1(left). Firstly, the current information
91
Fig. 1. (left) Knowledge motor scheme; (right) goal selection subsystem scheme
is temporarily stored into the knowledge buer, until new information is attained.
At that time, previous information is sent to the knowledge updater (KU), the
new one being stored into this knowledge buer and so on. This KU updates
both the memory area and the knowledge base.
The memory area is a neural network applied to learn from data (in our
problem, the information received from the environment through the perception
subsystem). In this paper we consider the unsupervised learning, and hence we
use an autoassociative scheme, since the inputs themselves are used as targets.
To update the memory area, we employ the Kmeans leastsquares partitioning
algorithm for competitive networks, which are formed by an input and an output
layer, connected by feed forward connections. Each input pattern represents a
point in the conguration space (the space of inputs) where we want to obtain
classes. This type of architecture is usually trained with a winner takes all algorithm, so that only those weights associated with the output neuron with largest
value (the winner) are updated. The basic algorithm consists of two main steps:
(1) compute cluster centroids and use them as new cluster seeds and (2) assign
each chromosome to the nearest centroid. The basic idea behind this formulation
is to overcome the limitation of having more data than neurons by allowing each
neuron to store more than one data at the same time.
The knowledge base is actually a basedonrules expert system, containing
both concrete knowledge (facts) and abstract knowledge (inference rules). Facts
include complex relationships among the dierent elements (relative positions,
etc.) and personal information about the avatars (personal data, schedule, hobbies or habits), i.e. what we call avatars characteristic patterns. Additional subsystems for tasks like learning, coherence control, action execution and others
have also been incorporated. This deterministic expert system is subsequently
modied by means of probabilistic rules, for which new data are used in order
to update the probability of a particular event. Thus, the neuron does not exhibit a deterministic output but a probabilistic one: what is actually computed
is the probability of a neuron to store a particular data at a particular time. This
probability is continuously updated in order to adapt our recalls to the most recent data. This leads to the concept of reinforcement, based on the fact that the
repetition of a particular event over time increases the probability to recall it.
92
Of course, some particular data are associated with highrelevance events whose
inuence does not decrease over time. A learning rate parameter introduced in
our scheme is intended to play this role.
Finally, the request manager is the component that, on the basis of the information received from the previous modules, provides the information requested
by the goal selection subsystem described in next section.
2.3
Decision Modeling
Once the goals and priorities are dened, this information is sent to the motion
subsystem to be transformed into motion routines (just as the orders of our brain
are sent to our muscles) and then animated in the virtual world. Currently, we
93
have implemented routines for path planning and obstacle avoidance. In particular, we have employed a modication of the A* path nding algorithm, based
on the idea to prevent path recalculation until a new obstacle is reached. This
simple procedure has yielded substantial savings in time in all our experiments.
In addition, sophisticated collision avoidance algorithms have been incorporated
into this system (see the examples described in Section 3).
In this section, two illustrative examples are used to show the good performance of our approach. The examples are available from Internet at the URLs:
http://personales.unican.es/iglesias/CGGM2007/samplex.mov (x = 1, 2).
Figure 2 shows some screenshots from the rst movie. In picture (a) a woman
and her two children go into the park. The younger kid runs following some
birds. After failing to capture them, he gets bored and joins his brother. Then,
the group moves towards the wheel avoiding the trees and the seesaw (b). Simultaneously, other people (the husband and a girl) enter into the park. In (c) a
kid is playing with the wheel while his brother gets frustrated after expecting to
play with the seesaw (in fact, he was waiting for his brother besides the seesaw).
After a while, he decides to join his brother and play with the wheel anyway.
Once her children are safely playing, the woman relaxes and goes to meet her
husband, who is seated on a bench (d). The girl is seated in front of them, reading
a newspaper. Two more people go into the park: a man and a kid. The kid goes
directly towards the playground, while the man sees the girl, becomes attracted
by her and decides to sit down on the same bench, looking for a chat. As she
does not want to chat with him, she stands up and leaves. The new kid goes
to play with the wheel while the two brothers decide to play with the seesaw.
The playground has two seesaws, so each brother goes towards the nearest one
(e). Suddenly, they realize they must use the same one, so a brother changes his
trajectory and moves towards the other seesaw. The mother is coming back in
order to take after her children. Her husband also comes behind her and they
94
Fig. 3. Temporal evolution of the internal states (top) and available goals wishes
(bottom) for the second example in this paper
start to chat again (f). The man on a bench is now alone and getting upset so he
decides to take a walk and look for the girl again. Simultaneously, she starts to
make physical exercises (g). When the man realizes shes busy and hence will not
likely pay attention on him, he changes his plans and walks towards the couple,
who are still chatting (g). The man realizes they are not interested to chat with
him either, so he nally leaves the park.
It is interesting to point out that the movie includes a number of remarkable motion and behavioral features. For instance, pictures (a)(b)(g) illustrate
several of our motion algorithms: persecution, obstacle avoidance, path nding,
interaction with objects (wheel, seesaw, bench) and other avatars, etc. People in
the movie exhibit a remarkable ability to capture information from the environment and change their trajectories in real time. On the other hand, they also
exhibit a humanlike ability to realize about what is going on about others and
change their plans accordingly. Each virtual avatar has previous knowledge on
neither the environment nor other avatars, as it might happen in real life when
people enter for the rst time into a new place or know new people.
The second scene consists of a shopping center at which the virtual avatars can
perform a number of dierent actions, such as eat, drink, play videogames, sit
down to rest and, of course, do shopping. We consider four virtual avatars: three
kids and a woman. The pictures in Figure 3 are labelled with eight numbers
indicating the dierent simulations milestones (the corresponding animation
screenshots for those time units are displayed in Figure 4): (1) at the initial
95
step, the three kids go to play with the videogame machines, while the woman
moves towards the eating area (indicate by the tables in the scene). Note that the
internal state with the highest value for the avatar analyzed in this work is the
energy, so the avatar is going to perform some kind of dynamic activity, such as to
play; (2) the kid keeps playing (and their energy level going down) until his/her
satisfaction reaches the maximum value. At that time, the anxiety increases, and
avatars wish turns into performing a dierent activity. However, the goal play
videogame has still the highest wish rate, so it will be in progress for a while;
(3) at this simulation step, the anxiety reaches a local maximum again, meaning
that the kid is getting bored about playing videogames. Simultaneously, the goal
with the highest value is drink water, so the kid stops playing and looks for
a drink machine; (4) at this time, the kid gets the drink machine, buys a can
and drinks. Consequently, the internal state function thirsty decreases as the
agent drinks until the status of this goal becomes goal attained; (5) Once this
goal is satised, the goal play videogames is the new current goal. So, the kid
comes back towards the videogame machines; (6) however, the energy level is
very low, so the goal play videogames is interrupted, and the kid looks for a
bench to sit down and have a rest; (7) once seated, the energy level turns up
and the goal have a rest does not apply anymore; (8) since the previous goal
play videogames is still in progress, the agent comes back and plays again.
Figure 3 shows the temporal evolution of the internal states (top) and the
goals wishes (bottom) for one of the kids. Similar graphics can be obtained for
the other avatars (they are not included here because of limitations of space).
The picture on the top displays the temporal evolution of the ve internal state
functions (valued onto the interval [0, 100]) considered in this example, namely,
energy, shyness, anxiety, hunger and thirsty. On the bottom, the wish rate
(also valued onto the interval [0, 100]) of the feasible goals (have a rest, eat
something, drink water, take a walk and play videogame) is depicted.
96
The core of this paper is the realistic simulation of the human behavior of virtual
avatars living in a virtual 3D world. To this purpose, the paper introduces a
behavioral system that uses several Articial Intelligence techniques so that the
avatars can behave in an intelligent and autonomous way. Future lines of research
include the determination of new functions and parameters to reproduce human
actions and decisions and the improvement of both the interaction with users
and the quality of graphics. Financial support from the Spanish Ministry of
Education and Science (Project Ref. #TIN200613615) is acknowledged.
References
1. Funge, J., Tu, X. Terzopoulos, D.: Cognitive modeling: knowledge, reasoning and
planning for intelligent characters, SIGGRAPH99, (1999) 2938
2. Geiger, C., Latzel, M.: Prototyping of complex plan based behavior for 3D actors,
Fourth Int. Conf. on Autonomous Agents, ACM Press, NY (2000) 451458
3. Granieri, J.P., Becket, W., Reich, B.D., Crabtree, J., Badler, N.I.: Behavioral control for realtime simulated human agents, Symposium on Interactive 3D Graphics,
ACM, New York (1995) 173180
4. Grzeszczuk, R., Terzopoulos, D., Hinton, G.: NeuroAnimator: fast neural network
emulation and control of physicsbased models. SIGGRAPH98 (1998) 920
5. Iglesias A., Luengo, F.: New goal selection scheme for behavioral animation of
intelligent virtual agents. IEICE Trans. on Inf. and Systems, E88D(5) (2005)
865871
6. Luengo, F., Iglesias A.: A new architecture for simulating the behavior of virtual
agents. Lectures Notes in Computer Science, 2657 (2003) 935944
7. Luengo, F., Iglesias A.: Framework for simulating the human behavior for intelligent virtual agents. Lectures Notes in Computer Science, 3039 (2004) Part I:
Framework architecture. 229236; Part II: Behavioral system 237244
8. Monzani, J.S., Caicedo, A., Thalmann, D.: Integrating behavioral animation techniques. EUROGRAPHICS2001, Computer Graphics Forum 20(3) (2001) 309318
9. Raupp, S., Thalmann, D.: Hierarchical model for real time simulation of virtual
human crowds. IEEE Trans. Visual. and Computer Graphics. 7(2) (2001) 152164
10. Sanchez, S., Balet, O., Luga, H., Dutheu, Y.; Autonomous virtual actors. Lectures
Notes in Computer Science 3015 (2004) 6878
11. de Sevin, E., Thalmann, D.: The complexity of testing a motivational model of action selection for virtual humans, Proceedings of Computer Graphics International,
IEEE CS Press, Los Alamitos, CA (2004) 540543
12. Thalmann, D., Monzani, J.S.: Behavioural animation of virtual humans: what kind
of law and rules? Proc. Computer Animation 2002, IEEE CS Press (2002)154163
13. Tu, X., Terzopoulos, D.: Articial shes: physics, locomotion, perception, behavior.
Proceedings of ACM SIGGRAPH94 (1994) 4350
1 Introduction
With the proliferation of 3D models and their wide spread through internet, 3D model
retrieval emerges as a new field of multimedia retrieval and has great application
value in industry, military etc.. [1]. Similar to the studies in image or video retrieval,
researches in 3D model retrieval concentrate on the contentbased retrieval way [2],
especially the shapebased retrieval. The major problem of shapebased retrieval is
extracting models shape feature, which should satisfy the good properties, such as
rotation invariant, representing various kinds of shape, describing similar shape with
similar feature, etc
Although many methods for extracting shape feature have been proposed [3], researches show that none is the best for all kinds of shapes [4, 5, 6, 7]. To solve this problem, it is an effective way to combine different shape features [5, 6, 7]. The critical step
of the combination is determining the weights of shape features. For instance, ref. [5]
determines the fixed weight due to users experience, which is based on numerous
experiments; meanwhile it decides the dynamic weight based on the retrieval result
and the categorization of 3D models.
However, the shortcomings of these methods are: need user experience to decide
the appropriate fixed weight, and cannot appoint weight for new feature; it is too time
consuming to compute the dynamic weight, while its performance is just a little better
than the fixweighted way.
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 97104, 2007.
SpringerVerlag Berlin Heidelberg 2007
98
T. Lv et al.
Barn
Potted Plant
Stair
To solve these problems, the paper conducts researches in two aspects: first, we
analyzes the influence of the value of weight on the combination performance, and
proposes an method, which automatically decide the value of the fixed weight; second, we introduces an efficient way for categorizing 3D models based on clustering
result.
The rest of the paper is organized as follows: Section 2 introduces the automatic
combination method; Section 3 states the categorization based on clustering result;
Section 4 gives the experimental results of PSB; and Section 5 summarizes the paper.
d com ( q, o) = wi
i =1
d i ( q, o )
max(d i (q))
(1)
Where l is the number of the different shape features, wi is the fixed weight of the ith
shape feature, di(q, o) is the distance between q and o under the ith shape feature vector, and max(di(q)) is maximum distance of q and the others. Previous researches
show that the Manhattan distance performs better than the Euclidian distance, thus the
paper adopts the Manhattan distance in computing di(q, o).
99
In this paper, four kinds of feature extraction methods are adopted and 5 sets of
feature vectors are obtained from PSB. The detail is stated as follows: (1) the shape
feature extracting method based on depthbuffer [11], termed DBD, which obtains the
feature vector with 438 dimensions; (2) the method based on EDT [12], termed NEDT,
which obtains the vector with 544 dimensions; (3) the method based on spherical
harmonic [13], which obtains two sets of vectors with 32 dimensions and 136 dimensions, termed RSH32 and RSH136 respectively; (4) the method performing the
spherical harmonic transformation on the voxelized models, termed SHVF, which
obtains the feature vector with 256 dimensions.
We conduct experiment on PSB to analyze the influence of the value of wi on the
combination performance. Table 2 evaluates the performance of combining any two
out of 5 different features of PSB. The weight of each feature is equal and the criterion Rprecision is adopted [8]. It can be seen that there coexist the good cases, like
combining DBD and NEDT, and the bad cases, like combining DBD and RSH32.
But if the fixed weight (4:4:2:1:1) decided according to our experience is adopted, the
performance is much better.
Table 2. Combination performance comparision under different fixed weights
DBD NEDT
wi
RSH
136
RSH
32
SHVF DBD
NEDT
RSH
136
RSH
32
SHVF
+DBD
0.354
 
 
 
 
0.354
 
 
 
 
+NEDT
0.390
0.346
 
 
 
0.390
0.346
 
 
 
+RSH136 0.364
0.376
0.292
 
 
0.372
0.378
0.292
 
 
+RSH32
0.283
0.286
0.258 0.168
 
0.351
0.343
0.279 0.168
+SHVF
0.308
0.308
0.286 0.204
0.201
0.360
0.350
 
This experiment shows that the appropriate value of wi can greatly improve the
combination performance. Although wi decided due to experience performs well, it
has the limitations like time consuming and hard to popularize.
Thus, it is necessary to automatically decide wi. To accomplish this task, we suppose that if a feature is the best for most models, its weight should be the highest. And
if one feature is the best for a model, its weight should be summed by 1/N, where N is
the total number of models. As for a set of classified 3D models, we follow the winnertakeall rule. It means that if the ith feature is the best for the jth class Cj of models, wi is summed by nj/N, where nj is the size of Cj.
Finally, states the automatic decision formula of the fixedweights wi as follows:
f (C )* n
nClass
wi =
j =1
(2)
100
T. Lv et al.
Where nClass is the number of the classes of models; fi(Cj)=1, iff the Rprecision of the
l
w
i =1
= 1.
Obviously, the proposed method can automatically decide the fixed weight for a
new shape feature by recomputing the Formula (2). During this process, the weights
of the existing features are also adjusted.
(1) Due to the complexity and diversity of models shape, it is very difficult to describe all shapes. The combination of different shape features can partially solve this
problem, but still has its limit.
(2) Xmeans may make clustering mistakes. Up to now, it seems that the clustering
process ensure most data is clustered into the right groups, but not every data.
Thus, we import human correction to correct the mistakes lies in the clustering result. To avoid mistakes caused by manual intervene, like those in Table 1, we make
the restriction that a user can just delete some models from a cluster or delete the
whole cluster. And the pruned models are considered as the wrongly categorized and
are labeled as unclassified.
Finally, the refined clustering result is treated as the categorization of 3D models.
101
In comparison with the pure manual work, the categorization base on clustering result is much more efficient and objective. The clustering technique not only shows the
number of classes according to models shape, but also states the member of a class.
NEDT
RSH136
RSH32
SHVF
RPrecision/Improvement
+DBD
0.354/
 
 
 
 
+NEDT
0.388/+9.6%
0.346/
 
 
 
+RSH136
0.368/+4.8%
0.378/+9.3%
0.292/
 
 
+RSH32
0.360/+1.7%
0.353/+2.0%
0.298/+2.1%
0.168/
 
+SHVF
0.356/+0.6%
0.350/+1.2%
0.302/+3.4%
0.208/+24%
0.201/
Fig. 1. states the PrecisionRecall curves along with RPrecision of 5 features, the
combination of 5 features based on equal fixed weight (Equal Weight), the combination using fixed weight (4:4:2:1:1) decided by experience (Experience Weight), and
the combination adopting the proposed automatic fixed weight (Automatic Weight).
It can be seen that the proposed method is the best under all criterions. It achieves
the best RPrecision 0.4046, which is much better than that of the Equal Weight
0.3486 and is also slightly better than the Experience Weight 0.4021. And its performance improved by 14.5% than the best single feature DBD.
After combining 5 features based on the proposed method, we adopt Xmeans to
analyze the PSB, and 130 clusters are finally obtained. In scanning these clusters, we
found that most clusters are formed by the models with similar shape, like the cluster
C70, C110, C112, C113 in Table 4. However, there also exist mistakes, such as C43 in
Table 4. After analyzing the combined feature of those wrong models, we find that
the mistakes are mainly caused by the shape feature, instead of clustering.
102
T. Lv et al.
C70
C110
C112
103
Table 4. (continued)
C113
C43
Then, we select 3 students that never contact these models to refine the clustering
result. At least two of them must reach an agreement for each deletion. In less than 2
hours, including the time costs on arguments, they labeled 202 models as the unclassified out of 1814, viz. 11.13%, and 6 clusters out of 130 are pruned, viz. 4.6%.
Obviously, the clustering result is a valuable reference for categorizing 3D models.
Even if the refinement time is included, the categorization based on clustering result
is much faster than the pure manual work, which usually costs days and is exhaustive.
5 Conclusions
The paper proposes a combination method, which automatically decides the fixed
weights of different shape features. Based on the combined feature, the paper categorizes 3D models according to their shape. Experimental result shows that the proposed
method shows good performance not only in improving retrieval performance but also
in categorization. Future work will concentrate on the study of clustering ensemble to
achieve a much stable clustering result of 3D models.
Acknowledgements
This work is sponsored by Foundation for the Doctoral Program of the Chinese Ministry of Education under Grant No.20060183041 and the Natural Science Research
Foundation of Harbin Engineering University under the grant number HEUFT05007.
References
[1] T.Funkhouser, et al. A Search Engine for 3D Models. ACM Transactions on Graphics.22
(1), (2003) 85105.
[2] Yubin Yang, Hui Li, Qing Zhu. ContentBased 3D Model Retrieval: A Survey. Chinese
Journal of Computer. (2004), Vol. 27, No. 10, Pages: 12981310.
104
T. Lv et al.
[3] Chenyang Cui, Jiaoying Shi. Analysis of Feature Extraction in 3D Model Retrieval.
Journal of ComputerAided Design & Computer Graphics. Vol.16, No.7, July (2004).
pp. 882889.
[4] Shilane P., Min P., Kazhdan M., Funkhouser T.. The Princeton Shape Benchmark. In
Proceedings of the Shape Modeling International 2004 (SMI'04), Genova, Italy, June
2004. pp. 388399.
[5] Feature Combination and Relevance Feedback for 3D Model Retrieval. The 11th International Conference on Multi Media Modeling (MMM 2005), 1214 January 2005, Melbourne, Australia. IEEE Computer Society 2005. pp. 334339.
[6] Ryutarou Ohbuchi, Yushin Hata,Combining Multiresolution Shape Descriptors for Effective 3D Similarity Search Proc. WSCG 2006, Plzen, Czech Republic, (2006).
[7] Atmosukarto I., Wee Kheng Leow, Zhiyong Huang. Feature Combination and Relevance
Feedback for 3D Model Retrieval. Proceedings of the 11th International Multimedia
Modelling Conference, (2005).
[8] R. BaezaYates, B. RibeiroNeto. Modern Information Retrieval. AddisonWesley,
(1999).
[9] Dan Pelleg, Andrew Moore. Xmeans: Extending Kmeans with Efficient Estimation of
the Number of Clusters. In Proc. 2000 Int. Conf. on Data Mining. (2000).
[10] Tianyang Lv, etc. An AutoStopped Hierarchical Clustering Algorithm for Analyzing 3D
Model Database. The 9th European Conference on Principles and Practice of Knowledge
Discovery in Databases. In: Lecture Notes on Artificial Intelligent, Vol. 3801, pp.
601 608.
[11] M. Heczko, D. Keim, D. Saupe, and D. Vranic. Methods for similarity search on 3D databases. DatenbankSpektrum, 2(2):5463, (2002). In German.
[12] H. Blum. A transformation for extracting new descriptors of shape. In W. WathenDunn,
editor, Proc. Models for the Perception of Speech and Visual Form, pages 362{380,
Cambridge, MA, November 1967. MIT Press.
[13] Kazhdan Michael , Funkhouser Thomas. Harmonic 3D shape matching [A]. In : Computer Graphics Proceedings Annual Conference Series , ACM SIGGRAPH Technical
Sketch , San Autonio , Texas , (2002)
A GeneralisedMutualInformationBased Oracle
for Hierarchical Radiosity
Jaume Rigau, Miquel Feixas, and Mateu Sbert
Institut dInform`
atica i Aplicacions
Campus Montilivi PIV, 17071Girona, Spain
jaume.rigaumiquel.feixasmateu@ima.udg.edu
Introduction
106
2
2.1
Preliminaries
Radiosity
The radiosity method uses a nite element approach, discretising the diuse
environment into patches and considering the radiosities, emissivities and reectances constant over them. With these assumptions, the discrete radiosity
equation [1] is given by
Bi = Ei + i
Fij Bj ,
(1)
jS
where S is the set of patches of the scene, Bi , Ei , and i , are respectively the
radiosity, emissivity, and reectance of patch i, Bj is the radiosity of patch j,
and Fij is the patchtopatch form factor, dened by
1
Fij =
F (x, y)dAy dAx ,
(2)
Ai Si Sj
where Ai is the area of patch i, Si and Sj are, respectively, the surfaces of patches
i and j, F (x, y) is the pointtopoint form factor between x Si and y Sj , and
dAx and dAy are, respectively, the dierential areas at points x and y. Using
Monte Carlo computation with areatoarea sampling, Fij can be calculated:
Fij Aj
1
Sij 
F (x, y),
(3)
(x,y)Sij
(4)
A GeneralisedMutualInformationBased Oracle
107
This
nentropy recovers the Shannon discrete entropy when 1, H1 (X)
i=1 pi ln pi , and fulls good properties such as nonnegativity and concavity.
On the other hand, Taneja [5] and Tsallis [12] introduced the generalised
mutual information.
Denition 2. The generalised mutual information between two discrete random
variables (X, Y ) is dened by
n
m
p
1
ij
,
I (X, Y ) =
1
(6)
1 1
1
p
q
i
j
i=1 j=1
where X = n, Y  = m, pX and qY are the marginal probability distributions,
and pXY is the joint probability distribution between X and Y .
The transition of I (X, Y ) to the continuous generalised mutual information is
straightforward. Using entropies, an alternative form is given by
I (X, Y ) = H (X) + H (Y ) (1 )H (X)H (Y ) H (X, Y ).
(7)
We will see below how the generalised mutual information can be used to build
a renement oracle within a hierarchical radiosity algorithm. Our strategy will
be based on the estimate of the discretisation error from the dierence between
the continuous and discrete generalised mutual information (6) between two
elements of the adaptive mesh. The discretisation error based on Shannon mutual information was introduced by Feixas et al. [8] and applied to hierarchical
radiosity with good results.
In the context of a discrete scene information channel [4], the marginal probabilities are given by pX = qY = {ai } (i.e., the distribution of the relative area
of patches: AATi , where AT is the total area of scene) and the joint probability is
given by pXY = {ai Fij }. Then,
Denition 3. The discrete generalised mutual information of a scene is given
by
a
F
1
i ij
=
I =
1
(ai Fij , ai aj ),
(8)
1
1
1
ai aj
iS jS
iS jS
108
where, using 1 =
obtained.
iS
jS
ai aj and (p, q) =
1 q p
1 q1 ,
1 a
i aj ai Fij
1 a1
a1
i
j
1 Ai Aj
1
1 A
F (x, y) .
T
1 AT AT
Sij 
(9)
(x,y)Sij
The information transfer between two patches can be obtained more accurately using the continuous generalised mutual information between them. From
the discrete form (8) and using the pdfs p(x) = q(y) = A1T and p(x, y) =
1
AT F (x, y), we dene
Denition 4. The continuous generalised mutual information of a scene is
given by
1
1
c
I =
1
1
c
Iij =
1
1
F (x, y), 2
Sij 
AT
AT
(x,y)Sij
1 Ai Aj
1
=
1 A
F (x, y) .
T
1 AT AT
Sij 
Ic ij Ai Aj
(x,y)Sij
Now, we dene
(12)
A GeneralisedMutualInformationBased Oracle
109
(13)
iS jS
where ij = Ic ij Iij .
While expresses the loss of information transfer in a scene due to the discretisation, the term ij gives us this loss between two elements i and j. This
dierence is interpreted as the benet to be gained by rening and can be used
as the base of the new oracle.
From (13), using (9) and (12), we obtain
ij Ai Aj A2
T
where
ij =
1
Sij 
1
,
1 ij
F (x, y)
(x,y)Sij
1
Sij 
(14)
F (x, y) .
(15)
(x,y)Sij
Results
In this section, the GMI oracle is compared with the KS and MI ones. Other
comparisons, with a more extended analysis, can be found in [14]. All oracles
have been implemented on top of the hierarchical Monte Carlo radiosity method.
In Fig. 1 we show the results obtained for the KS (a) and GMI oracles with
their Gouraud shaded solutions and meshes. In the GMI case, we show the
results obtained with the entropic indexes 1 (b) (i.e., note that GMI1 = MI) and
0.5 (c). For the sake of comparison, adaptive meshes of identical size have been
generated with the same cost for the power distribution: around 19,000 patches
and 2,684,000 rays, respectively. To estimate the form factor, the number of
random lines has been xed to 10.
In Table 1, we show the Root Mean Square Error (RMSE) and Peak Signal
Noise Ratio (PSNR) measures for KS and GMI (for 5 dierent entropic indexes)
oracles for the test scene. These measures have been computed with respect
to the corresponding converged image, obtained with a pathtracing algorithm
110
(a.i) KS
(a.ii) KS
(b.i) GMI1.00
(b.ii) GMI1.00
(c.i) GMI0.50
(c.ii) GMI0.50
Fig. 1. (a) KS and GMI (entropic indexes (b) 1 and (c) 0.5) oracles. By columns, (i)
Gouraud shaded solution of view1 and (ii) mesh of view2 are shown.
with 1,024 samples per pixel in a stratied way. For each measure, we consider a
uniform weight for every colour channel (RMSEa and PSNRa ) and a perceptual
one (RMSEp and PSNRp ) in accordance with the sRGB system.
Observe in the view1 , obtained with GMI (Fig. 1.i.bc), the ner details of
the shadow cast on the wall by the chair on the righthand side and also the
betterdened shadow on the chair on the lefthand side and the one cast by the
desk. In view2 (Fig. 1.ii) we can also see how our oracle outperforms the KS,
especially in the much more dened shadow of the chair on the right. Note the
superior quality mesh created by our oracle.
A GeneralisedMutualInformationBased Oracle
111
Table 1. The RMSE and PSNR measures of the KS and GMI oracles applied to the
test scene of Fig. 1, where the KS and GMI{0.5,1} results are shown. The oracles have
been evaluated with 10 random lines between each two elements.
oracle
KS
GMI1.50
GMI1.25
GMI1.00
GMI0.75
GMI0.50
RMSEa
13.791
11.889
10.872
9.998
9.555
9.370
view1
RMSEp PSNRa
13.128 25.339
11.280 26.628
10.173 27.405
9.232 28.133
8.786 28.526
8.568 28.696
PSNRp RMSEa
25.767 15.167
27.084 13.046
27.982 11.903
28.825 10.438
29.254 10.010
29.473
9.548
(i)
view2
RMSEp PSNRa
14.354 24.513
12.473 25.821
11.279 26.618
9.709 27.758
9.257 28.122
8.740 28.533
PSNRp
24.991
26.211
27.086
28.387
28.801
29.300
(ii)
Fig. 2. GMI0.50 oracle: (i) Gouraud shadow solution and (ii) mesh are shown
Table 2. The RMSE and PSNR measures of the GMI oracle applied to the scene
of Fig. 2, where the GMI0.5 result is shown. The oracle has been evaluated with 10
random lines between each two elements.
oracle RMSEa
GMI1.50 16.529
GMI1.25 15.199
GMI1.00 14.958
GMI0.75 14.802
GMI0.50 14.679
RMSEp
15.530
14.145
13.844
13.683
13.573
PSNRa
23.766
24.494
24.633
24.724
24.797
PSNRp
24.307
25.119
25.306
25.407
25.477
112
Conclusions
We have presented a new generalisedmutualinformationbased oracle for hierarchical radiosity, calculated from the dierence between the continuous and discrete generalised mutual information between two elements of the adaptive mesh.
This measure expresses the loss of information transfer between two patches due
to the discretisation. The objective of the new oracle is to reduce the loss of
information, obtaining an optimum mesh. The results achieved improve on the
classic methods signicantly, being better even than the version based on the
Shannon mutual information. In all the tests performed, the best behaviour is
obtained with subextensive indexes.
Acknowledgments. This report has been funded in part with grant numbers: IST2004363 of the European Community  Commission of the European
Communities, and TIN200407451C0301 and HH2004001 of the Ministry of
Education and Science (Spanish Government).
References
1. Goral, C.M., Torrance, K.E., Greenberg, D.P., Battaile, B.: Modelling the interaction of light between diuse surfaces. Computer Graphics (Proceedings of
SIGGRAPH 84) 18(3) (July 1984) 213222
2. Hanrahan, P., Salzman, D., Aupperle, L.: A rapid hierarchical radiosity algorithm.
Computer Graphics (Proceedings of SIGGRAPH 91) 25(4) (July 1991) 197206
3. Feixas, M., del Acebo, E., Bekaert, P., Sbert, M.: An information theory framework
for the analysis of scene complexity. Computer Graphics Forum (Proceedings of
Eurographics 99) 18(3) (September 1999) 95106
4. Feixas, M.: An InformationTheory Framework for the Study of the Complexity
of Visibility and Radiosity in a Scene. PhD thesis, Universitat Polit`ecnica de
Catalunya, Barcelona, Spain (Desember 2002)
5. Taneja, I.J.: Bivariate measures of type and their applications. Tamkang Journal
of Mathematics 19(3) (1988) 6374
6. Havrda, J., Charv
at, F.: Quantication method of classication processes. Concept
of structural entropy. Kybernetika (1967) 3035
7. Gortler, S.J., Schr
oder, P., Cohen, M.F., Hanrahan, P.: Wavelet radiosity. In
Kajiya, J.T., ed.: Computer Graphics (Proceedings of SIGGRAPH 93). Volume 27
of Annual Conference Series. (August 1993) 221230
8. Feixas, M., Rigau, J., Bekaert, P., Sbert, M.: Informationtheoretic oracle based on
kernel smoothness for hierarchical radiosity. In: Short Presentations (Eurographics
02). (September 2002) 325333
9. Rigau, J., Feixas, M., Sbert, M.: Informationtheorybased oracles for hierarchical
radiosity. In Kumar, V., Gavrilova, M.L., Tan, C., LEcuyer, P., eds.: Computational Science and Its Applications  ICCSA 2003. Number 26693 in Lecture Notes
in Computer Science. SpringerVerlag (May 2003) 275284
10. Bekaert, P.: Hierarchical and Stochastic Algorithms for Radiosity. PhD thesis,
Katholieke Universiteit Leuven, Leuven, Belgium (December 1999)
A GeneralisedMutualInformationBased Oracle
113
11. Tsallis, C.: Possible generalization of BoltzmannGibbs statistics. Journal of Statistical Physics 52(1/2) (1988) 479487
12. Tsallis, C.: Generalized entropybased criterion for consistent testing. Physical
Review E 58 (1998) 14421445
13. Taneja, I.J.: On generalized information measures and their applications. In:
Advances in Electronics and Electron Physics. Volume 76. Academic Press Ltd.
(1989) 327413
14. Rigau, J.: InformationTheoretic Renement Criteria for Image Synthesis. PhD
thesis, Universitat Polit`ecnica de Catalunya, Barcelona, Spain (November 2006)
Abstract. The work presented in this paper shows the way to generate
colored paper mosaics using computer graphics techniques. Following two
tasks need to be done to generate colored paper mosaic. The rst one is
to generate colored paper tile and the other one is to arrange the tile.
Voronoi Diagram and Random Point Displacement have been used in
this paper to come up with the shape of the tile. And, energy value that
the tile has depending on its location is the factor to determine the best
positioning of the tile. This paper focuses on representing the overlap
among tiles, maintenance of the edge of input image, and various shapes
of tiles in the nal output image by solving two tasks mentioned above.
Keywords: Colored paper mosaic, Tile generation and Tile arrangement.
Introduction
Mosaic is an artwork formed by lots of small pieces called tile. It can be expressed in many dierent ways depending on the type and the position of tile.
Photomosaics[1] shows the big image formed with small square tiles that are laid
out on a grid pattern. Distinctive output was driven from the process of combining multiple images into one image. While Photomosaics shows the arrangement
of tiles in a grid pattern, Simulated Decorative Mosaic[2] has tiles arranged in
the direction of the edge of input image. This shows the similar pattern found
in ancient Byzantine period. This pattern can also be found in Jigsaw Image
Mosaics[3]. The only dierence is to use various shape of image tiles instead
of a singlecolored square tiles. In this paper, we show especially how colored
paper mosaic among various styles of mosaic artworks can be represented using
computer graphics techniques.
To generate colored paper mosaic, following two issues need to be taken care.
The rst issue is to decide on the shape of colored paper tile and the second
one is to arrange colored paper tile. Voronoi Diagram[9] and Random Fractal have been used in this paper to come up with the shape of colored paper
tile. But the problem using Voronoi Diagram is that it makes the form of tile
too plain since it generates only convex polygon. Therefore the method represented in this paper uses the predened data of colored paper as database
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 114121, 2007.
c SpringerVerlag Berlin Heidelberg 2007
115
like Photomosaics. Then, it creates small piece of colored paper tile by clipping
Voronoi polygon repetitively from the data of colored paper. Many dierent
shapes of tiles like concave polygon can be expressed since it is made from
repetitive tearing of one colored paper. And the energy value that colored paper tile has depending on its location is calculated to nd the best positioning
of colored paper tile. The location that has the biggest sum of energy value is
dened as the best position. Tiles are placed at the point where the summation
of energy value is the biggest by being moved and rotated toward the nearest
edge.
1.1
Related Work
Existing mosaic studies focus on the selection, the generation, and the arrangement of tiles. We comparison the existing studies by classifying into two
groups.
The studies of rst group focus on the selection and the arrangement of tiles
since they use xed or predened shapes of tiles. Photomasaics[1] creates image formed with various small pieces of image tiles. It is an algorithm that
lays out selected image from the database in a grid pattern. It proposes an
eective method of tile selection from database. But it is hard to keep the
edge of image since the shape of tile in Photomosaic is all square ones. In
the study of Simulated Decorative Mosaic[2], Hausner shows the similar pattern and techniques used in Byzantine era by positioning singlecolored square
tile in the direction of the edge of input image. It uses the methods of Centroidal Voronoi Diagram (CVD) and Edge Avoidance to arrange tiles densely.
In Jigsaw Image Mosaics (JIM)[3], it shows extended technique by using arbitrary shapes of image tiles while Simulated Decorative Mosaic uses singlecolored
square tiles. It proposes solution of tile arrangement with Energy Minimization
Framework.
The studies of second group propose the method only about the generation of
tiles. Park[5] proposes passive colored paper mosaic generating technique that
shape and arrangement of tiles is all done by the users input. The proposed
method uses Random Fractal technique for generating torn shaped colored paper
tile. However, it gives the user too much works to do. To solve the problem
passive technique has, automatic colored paper mosaic[6] using Voronoi Diagram
is proposed. The majority works are done by computer and only part the user
needs to do is to input a few parameters. It reduces heavy load of work on user
side; however, it cannot maintain the edge of image since it arranges tiles without
considering the edge. In order to solve this problem, another new technique[7]
is suggested. In this new technique, it arranges Voronoi sites using QuadTree
and clips the tiles according to the edge of image once it goes out of the edge.
Even though this technique can keep the edge of images, it cannot express the
real texture and shape of colored paper tearing since the polygon created using
Voronoi Diagram becomes in a convex form and each polygon is not overlapped.
Therefore, the existing study is not showing various shapes of tiles and the
overlap among them.
116
2
2.1
Y. Park et al.
Preprocessing
Data Structure of Colored Paper
The data structure of colored paper is organized with 2 layers that contain the
information such as the texture image and vertex shown as gure 1. The upper
layer means visible space of colored paper that has the color value. And the
lower layer means the white paper represented on the torn portion. To dene
the data structure of colored paper in advance gives two good aspects. The rst
one is that it can express various shape of colored paper tile like concave polygon
besides convex one. This is because previously used colored paper is stored in the
buer and polygon clipping is repeated using Vonoroi Diagram as necessary. The
other one is that dierent type of paper mosaic can be easily done by modifying
data structure. If the image is used magazine, newspaper and so on instead of
colored paper then it will be possible to come up with paper mosaic like Collage.
2.2
Image Segmentation
At rst, the necessary image processing works[11] like blurring are performed
on the input image and the image is divided into several regions that have
similar color in LUV space by using MeanShift image segmentation technique[8].
We call the region container. And the proposed mosaic algorithm is performed
per container. However MeanShift segmentation can create small containers.
If mosaic processing is performed in this stage, the colored paper tiles will not
be attached to these small containers so it will result in lots of grout spaces in
the result image as show in gure 4. Therefore, there is another step needed
to integrate these small containers. To give exibility and to show individual
intention of expression, the process of integration of small containers is controlled
by the users input.
3
3.1
To determine the size and the color of tile, the initial position where tile is attached is determined in advance by HillClimbing algorithm[4]. HillClimbing
117
algorithm keeps changing the position till the function value converges to optimal point. Since normally big tiles are applied primarily from boundary rather
than small ones in real life, the function is determined like equation 1 with following two factors: size and boundary. The size factor is dened by D(x, y) that
means the minimum distance value between pixel (x, y) and boundary. And the
boundary factor is dened by D(x, y) D(i, j) that means the sum of dierence
between neighbor pixels. Therefore, the position that has the largest value of
L(x, y) is regarded as an initial position.
L(x, y) =
x+1
y+1
(1)
i=x1 j=y1
Determination of Shape
There are two steps to determine the shape of colored paper tile. The rst one
is to determine the overall outline of tile to be clipped and the other one is to
express torn eect. Voronoi Diagram is applied to decide the overall outline of
tile. First, the area of colored paper is divided into several grids according to the
size of tile to be torn. Then, Voronoi diagram is created by placing individual
Voronoi site in each segment as shown in gure 2(b). The generated Voronoi
diagram contains multiple Voronoi polygons so it needs to be decided to clip
which polygon among them. Considering the fact that people start to clip from
the boundary of the paper in real mosaic work, the polygon located near the
boundary is decided to be torn rst. Since there is always vertex in the boundary
of colored paper as shown in gure 2(c), one of the polygons that contain vertex
is randomly chosen. Once the outline of tile is determined by Voronoi polygon,
it is necessary to apply torn eect to the boundary of determined outline. This
torn eect is done by applying Random Point Displacement that is one of the
Random Fractal techniques to colored papers layer individually. Random Point
Displacement algorithm is applied to the boundary of selected Voronoi polygons
that is not overlapped with the boundary of colored paper. The irregularity
of torn surface and whitecolored portion can be expressed by perturbing the
random point of edge continuously in the vertical direction. Lastly, clip the
modied Voronoi polygon by Random Point Displacement algorithm as shown
in gure 2(d).
118
Y. Park et al.
(b) Voronoi
(d) Clipping
There are two things to consider arranging colored paper tiles. First one is to
maintain the edge of the input image and the other one is to get rid of empty
spaces among tiles or between tile and the edge of the image. To maintain the
edges of input image, the similar technique to Energy Minimization Framework
of Jigsaw Image Mosaics is used in this paper. The energy function is dened
rst depending on the position of tile and the sum of it is calculated like E(x, y)
in equation 2.
E(x, y) = Pi Po Pt
/T
Pi = Tmax /2 D(x, y) where (x, y) C and (x, y)
Po = Wo D(x, y)
where (x, y)
/C
Pt = Wt D(x, y)
where (x, y) T
(2)
119
any longer. The gure 3 shows four dierent situation of tile arrangement. The
gure 3(b) shows the case that the tile is positioned outside of the edge of
the image. Correction on tiles location needs to be done since it prevents the
tile from keeping the edge of the image. Two tiles are overlapped too much
in the gure 3(c) and it also needs to be modied. The gure 3(d) shows the
optimal arrangement of the tile. We can control this by adjusting the value of Wo
and Wt .
Results
The gure 4, 5 and 6 shows the result image rendered by assigning the size of
tile of the source image between 4 and 100. The result shown in the gure 4
is the result of colored paper mosaic processed by only applying segmentation
algorithm to the source image. The grout space appears where is segmented
(a)
(b)
120
Y. Park et al.
smaller than the size 4 since the minimum size of the tile is set to 4. These smaller
containers have to be integrated into the near container in order to get rid of grout
spaces. The result of colored paper mosaic including container integration step is
shown in the gure 5. In the gure 5, the grout spaces shown in gure 4(a) are disappeared. Also, lots of small segments are removed by integration so the number
of smaller size of tiles is reduced. And we can apply the texture eect to the result
image by using texture mapping, height map[10], and alpha blending as shown in
the gure 6. By adding these eects, the mosaic image gets more realistic.
The work presented in this paper shows the new method to generate colored
paper tile with computer graphics techniques. The dierence that this paper has
is that it can maintain the edges of the input image and express the various
shape of tile and overlaps among tiles. These three achievements are shown in
the gure 4, 5 and 6.
The proposed method has some problems. First, too many small tiles are lled
in between large tiles in the results. It is because grout spaces appear between
the tile and the edge during the process of arranging the tile. It causes the
problem to the quality of result image so it needs to be improved afterward.
Therefore, another step to consider the edge of image during the tile generation
is necessary. This additional step will reduce the generation of grout spaces
among tiles or between the tile and the edge of image. Second, the performance
of whole process is very low, since the tile arrangement is performed per pixel.
Therefore it is needed to apply GPU or any other algorithms for improving the
performance.
This paper also has some benets like following. First, the proposed method
can express the various shapes of tile and overlapping between other tiles. Second,
121
if other types of paper like newspaper are used instead of colored paper then it
will be possible to come up with another type of mosaic like Collage. It is easy
to express other type of mosaic in computer graphics by modifying the data
structure if more detailed and elaborate tile selection algorithm is applied.
References
1. Silver.R and Hawley.M (ed.): Photomosaics, New York: Henry Holt, 1997
2. Alejo Hausner : Simulating Decorative Mosaics, SIGGRAPH 2001, pp.573580,
2001.
3. Junhwan Kim, Fabio Pellacini : Jigsaw Image Mosaics, SIGGRAPH 2002, pp.
657664, 2002.
4. Chris Allen : A Hillclimbing Approach to Image Mosaics, UWL Journal of Undergraduate Research , 2004
5. YoungSup Park, SungYe Kim, CheungWoon Jho, KyungHyun Yoon : Mosaic
Techniques using color paper, Proceeding of KCGS Conference, pp.4247, 2000
6. SangHyun Seo, YoungSup Park, SungYe Kim, KyungHyun Yoon : Colored Paper Mosaic Rendering, In SIGGRAPH 2001 Abstrac ts and Applications, p.156,
2001
7. SangHyun Seo, DaeUk Kang, YoungSup Park, KyungHyun Yoon : Colored Paper Mosaic Rendering Based on Image Segmentation, Proceeding of KCGS Conference, pp2734, 2001
8. D. Comanicu, P. Meer : Mean shift: A robust approach toward feature space analysis, IEEE Transaction on Pattern Analysis and Machine Intelligence, 24, 603619,
May 2002
9. Mark de Berg, M. V. Kerveld, M. Overmars and O. Schwarzkopf : Computational
Geometry Algorithms and Applications, Springer, pp.145161, 1997
10. Aaron Hertzmann : Fast Paint Texture, NPAR 2002, 2002
11. Rafael C. Gonzalez and Richard E. Woods : Digital Image Processing 2nd Edition,
publish ed by Prentice Hall, 2002
Introduction
Realistic simulation of natural phenomena is one of the interesting and important issues in computer graphics related areas including computer games and
animations. In this paper, we are focusing on the ocean waves, for which we
have many research results but not a complete solution yet[1].
Waves on the surface of the ocean are primarily generated by winds and
gravity. Although the ocean wave includes internal waves, tides, edge waves and
others, it is clear that we should display at least the surface gravity waves on the
computer screen, to nally represent the ocean. In oceanography, there are many
research results to mathematically model the surface waves in the ocean. Simple
sinusoidal or trochoidal expressions can approximate a simple ocean wave. Real
world waves are a comprised form of these simple waves, and called wave trains.
In computer graphics, we can classify the related results into two categories.
The rst one uses uid dynamics equations in a similar way used in the scientic
simulation eld. We have a number of results with the capability of obtaining
realistic animations of complex water surfaces[2,3,4,5,6]. However, these results
are hard to apply to large scenes of waters such as oceans, mainly due to their
heavy computation.
The other category is based on the ocean wave models from the oceanography,
and consists of three approaches. The rst group uses the Gerstner swell model.
Fournier[7] concentrated on the shallow water waves and surf along a shore line.
He started from parametric equations and added control parameters to simulate
Corresponding author.
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 122129, 2007.
c SpringerVerlag Berlin Heidelberg 2007
123
various shapes of shallow water waves, but not for the largescale ocean scenes
and/or deepdepth ocean waves. More complex parametric equations to present
the propagation of water waves had been introduced by Gonzato[8]. This model
is well suited for modeling propagating water of wave front, but its equations
are too complex for largescale ocean waves.
Another group regards the ocean surface as a height eld with a prescribed
spectrum based on the experimental observations from oceanography. Mastin[9]
introduced an eective simulation of wave behavior using Fast Fourier Transform(FFT). The height eld is constructed through inverse FFT of the frequency
spectrum of the real world ocean waves. It can produce complex wave patterns
similar to real world ocean waves. Tessendorf[10] showed that dispersive propagation could be managed in the frequency domain and that the resulting eld
could be modied to yield trochoid waves. However, the negative aspect of FFT
based methods is homogeneity: we cannot handle any local properties such as
refraction, reection, and others.
The last one is the hybrid approach: The spectrum synthesized by a spectral
approach is used to control the trochoids generated by the Gerstner model.
Hinsinger[11] presented an adaptive scheme for the animation and display of
ocean waves in real time. It relied on a procedural wave model which expresses
surface point displacements as sums of wave trains. In this paper, we aim to
construct an ocean wave model with the following characteristics:
Real time capability: They usually want to display a large scale ocean
scene and some special eects may be added to the scene. So, we need to
generate the ocean wave in real time.
More usercontrollable parameters: We will provide more parameters
to generate variety of ocean scenes including deep and shallow oceans, windy
and calm oceans, etc.
Focusing on the surface gravity waves: Since we target the largescale
ocean, minor details of the ocean wave are not our major interest. In fact,
the minor details can be easily superimposed to the surface gravity waves,
if needed.
In the following sections, we will present a new hybrid approach to nally get
a realtime surface gravity wave simulation. Since it is a kind of hybrid approach,
it can generate large scale oceans without diculty, and works in real time, to be
su ciently used with computer generated animations or other special eects.
Additionally, we use a more precise wave model and have more controllable parameters including depth of sea, fetch length, wind speed, and so on, in comparison
with previous hybrid approaches. We will start from the theoretical ocean wave
models in the following section, and build up our implementation model. Our
implementation results and conclusions will be followed.
The major generating force for waves is the wind acting on the interface between
the air and the water. From the mathematical point of view, the surface is made
124
up of many sinusoidal waves generated by the wind, and they are traveling
through the ocean. One of the fundamental models for the ocean wave is the
Gerstner swell model, in which the trajectory of a water particle is expressed as
a circle of radius r around its reference location at rest, (x0 , z0 ), as follows[11]:
x = x0 + r sin(t kx0 )
z = z0 + r cos(t kz0 ),
(1)
where (x, z) is the actual location at time t, =2f is the pulsation with the frequency f , and k=2/ is the wave number with respect to the wave length of .
Equation (1) shows a twodimensional representation of the ocean wave, assuming that the xaxis coincides to the direction of wave propagation. The surface of
an ocean is actually made up of a nite sum of these simple waves, and the height
z of the water surface on the grid point (x, y) at time t can be expressed as:
z(x, y, t) =
n
(2)
where n is the number of wave trains, Ai is the amplitude, ki is the wave number,
i is the direction of wave propagation on the xyplane and i is the phase. In
Hinsinger[11], they manually selected all these parameters, and thus, the user
may meet diculties to select proper values of them.
In contrast, Thon[12] uses a spectrumbased method to nd some reasonable
parameter sets. They used the PiersonMoskowitz(PM) model[13], which empirically expresses a fully developed sea in terms of the wave frequency f as follows:
0.0081 g 2 54 ffp 4
EPM (f ) =
e
,
(2)4 f 5
where EPM (f ) is the spectrum, g is the gravity constant and fp = 0.13 g/U10 is
a peak of frequency depending on the wind speed U10 at a height of 10 meters
above the sea surface.
Although Thon used the PM model to give some impressive results, the PM
model itself assumes the innite depth of the ocean and thus may fail to the
shallow sea cases. To overcome this drawback, the JONSWAP model and TMA
model are introduced. The JONSWAP(Joint North Sea Wave Project) model[14]
is developed for fetchlimited seas such as North sea and expressed as follows:
f /fp 1
g 2 54 ffp 4 e 22
EJONSWAP (f ) =
e
,
(2)4 f 5
where is the scaling parameter, is the peak enhancement factor, and is
evaluated as 0.07 for f fp and 0.09 otherwise. Given the fetch length F , the
frequency at the spectral peak fp is calculated as follows:
2 0.33
g F
fp = 3.5
.
3
U10
125
The Texel, Marson and Arsole(TMA) model[15] extends the JONSWAP model
to include the depth of water h as one of its implicit parameters as follows:
ETMA (f ) = EJONSWAP (f ) (f , h),
where (f , h) is the Kitaigorodoskii depth function:
1
K
(f , h) =
1
+
,
s(f )
sinh K
with f = f h/g, K = 2(f )2 s(f ) and s(f ) = tanh1 [(2f )2 h].
The TMA model shows good empirical behavior even with the water depth of 6
meters. Thus, it is possible to represent the waves on the surface of lake or smallsize ponds, in addition to the ocean waves. Additionally, it also includes the fetch
length as a parameter, inherited from the JONSWAP model. Thus, the expression
power of the TMA model is much increased in comparison with the PM model
previously used by other researchers. We use this more improved wave model to
nally achieve more realistic ocean scenes with more usercontrollable parameters.
1
2p
D(f, ) = Np cos
,
2
where p = 9.77(f /fp) , Np = 212p (2p + 1)/ 2(p + 1) with Eulers Gamma
function and
4.06, if f < fp
=
.
2.34, otherwise
For more convenience in its implementation, we will derive some evaluation
functions for the parameters including frequency, amplitude, wave direction,
wave number and pulsation. The frequency of each wave train is determined
from the peak frequency fp and a random oset to simulate the irregularity of
the ocean waves. Thereafter, the pulsation and wave number is naturally calculated by their denition.
According to the random linear wave theory[16,17,18,19,20], directional wave
spectrum E(f, ) is given by
E(f, ) = (k(f ), ) k(f )
dk(f )
,
df
(3)
126
dk(f )
32 2 f 3
=
.
df
g2
32 2 f 3
.
g2
From the random linear wave[17,19], the wave number spectrum (k(f ), ) can
be approximated as:
(k(f ), ) =
A(f )2 ,
4 2
where is a constant. Finally, the amplitude A(f ) of a wave train is evaluated
as:
E(f, ) g 2
ETMA (f ) D(f, ) g 2
A(f ) =
=
.
3
8f
8f 3
Using all these derivations, we can calculate the parameter values for Equation (2). And then, we evaluate the height of each grid point (x, y) to construct
a rectangular mesh representing the ocean surface.
Implementation Results
Figures 1, 2 and 3 are some outputs from the prototype implementation. As shown
We implemented the ocean wave generation program based on the TMA model
presented in the previous section. It uses plain OpenGL library and does not use
any multithreading or hardwarebased acceleration techniques. At this time, we
focused on the expression power of our TMA modelbased implementation, and
thus, our prototype implementation lacks some acceleration or optimization factors. Even though, it shows more than 50 frames per second on a PC with Intel
(a) wind speed 3m/s, water depth 5m (b) wind speed 3m/s, water depth 100m
Fig. 1. Ocean waves with dierent water depths: Even with the same wind speed, dierent
water depths result in very dierent waves. We use the fetch length of 5km for these images.
127
(a) wind speed 3m/s, water depth 100m (b) wind speed 6m/s, water depth 100m
Fig. 2. Ocean waves with dierent wind velocities: Changes in wind speed generate more
clam or more choppy waves. The fetch length of 10 km is used for each of these images.
(a)
(b)
(c)
(d)
(e)
(f)
(g)
(h)
(i)
(j)
(k)
(l)
128
Core2 Duo 6600 2.40GHz processor and a GeForce 7950GT based graphics card.
We expect that the frame rate will be much better in the next version.
In Figure 1, we can control the depth of the ocean to show very dierent
waves even with the same wind speed and the same fetch length. Especially, the
changes in the water depth are acceptable only for the TMA model, while the
previous PM model cannot handle it. Figure 2 shows the eect of changing the
wind speed. As expected, the high wind speed generates more choppy waves.
Figure 3 is a sequence of images captured during the real time animation of the
windy ocean. All examples are executed with mesh resolution of 200 200. More
examples are in our web page, http://isaac.knu.ac.kr/~hope/tma.htm.
Conclusion
Acknowledgements
This research was supported by the Regional Innovation Industry Promotion
Project which was conducted by the Ministry of Commerce, Industry and Energy(MOCIE) of the Korean Government (70000187200601).
References
1. Iglesias, A.: Computer graphics for water modeling and rendering: a survey. Future
Generation Comp. Syst. 20(8) (2004) 13551374
2. Enright, D., Marschner, S., Fedkiw, R.: Animation and rendering of complex water
surfaces. In: SIGGRAPH 02. (2002) 736744
3. Foster, N., Fedkiw, R.: Practical animation of liquids. In: SIGGRAPH 01. (2001)
2330
129
4. Foster, N., Metaxas, D.N.: Realistic animation of liquids. CVGIP: Graphical Model
and Image Processing 58(5) (1996) 471483
5. Foster, N., Metaxas, D.N.: Controlling uid animation. In: Computer Graphics
International 97. (1997) 178188
6. Stam, J.: Stable uids. In: SIGGRAPH 99. (1999) 121128
7. Fournier, A., Reeves, W.T.: A simple model of ocean waves. In: SIGGRAPH 86.
(1986) 7584
8. Gonzato, J.C., Saec, B.L.: On modelling and rendering ocean scenes. J. of Visualization and Computer Animation 11(1) (2000) 2737
9. Mastin, G.A., Watterberg, P.A., Mareda, J.F.: Fourier synthesis of ocean scenes.
IEEE Comput. Graph. Appl. 7(3) (1987) 1623
10. Tessendorf, J.: Simulating ocean water. In: SIGGRAPH 01 Course Notes. (2001)
11. Hinsinger, D., Neyret, F., Cani, M.P.: Interactive animation of ocean waves. In:
SCA 02: Proceedings of the 2002 ACM SIGGRAPH/Eurographics symposium on
Computer animation. (2002) 161166
12. Thon, S., Dischler, J.M., Ghazanfarpour, D.: Ocean waves synthesis using a
spectrumbased turbulence function. In: Computer Graphics International 00.
(2000) 65
13. Pierson, W., Moskowitz, L.: A proposed spectral form for fully developed wind
seas based on the similarity theory of S.A. kitaigorodskii. J. Geophysical Research
(69) (1964) 51815190
14. Hasselmann, D., Dunckel, M., Ewing, J.: Directional wave spectra observed during
JONSWAP 1973. J. Physical Oceanography 10(8) (1980) 12641280
15. Bouws, E., G
unther, H., Rosenthal, W., Vincent, C.L.: Similarity of the wind wave
spectrum in nite depth water: Part 1. spectral form. J. Geophysical Research 90
(1985) 975986
16. Crawford, F.: Waves. McGrawHill (1977)
17. Krogstad, H., Arntsen, .: Linear Wave Theory. Norwegian Univ. of Sci. and Tech.
(2006) http://www.bygg.ntnu.no/ oivarn/.
18. Seyringer, H.: Nature wizard (2006) http://folk.ntnu.no/oivarn/hercules ntnu/
LWTcourse/.
19. Sorensen, R.: Basic Coastal Engineering. SpringerVerlag (2006)
20. US Army Corps of Engineers Internet Publishing Group:
Coastal engineering manual part II (2006) http://www.usace.army.mil/publications/engmanuals/em111021100/PartII/PartII.htm.
Introduction
131
Basic Idea
1in
(1)
1in
(2)
(3)
(4)
i = 1, 2, 3, , n,
which has a quadratic polynomial precision. Assume that the following transformation
x
= x cos 2 + y sin 2
y = x sin 2 + y cos 2
transforms P () (3) to the parabola (4), then we have the following theorem 1.
132
y
2.5
2
P3
P0
1.5
P1
x
P2
0.5
x
1
i = 2, 3, , n
sin 2 = X2
/ X22 + Y22
cos 2 = Y2 / X22 + Y22
(5)
(6)
Proof. In the x
y coordinate system, it follows from (3) that
x
= (X2 2 + X1 + X0 ) cos 2 + (Y2 2 + Y1 + Y0 ) sin 2
y = (X2 2 + X1 + X0 ) sin 2 + (Y2 2 + Y1 + Y0 ) cos 2
(7)
If sin 2 and cos 2 are dened by (6), then the rst expression of (7) becomes
=
x
+ X0 cos 2 + Y0 sin 2
X1 cos 2 + Y1 sin 2
(8)
Substituting (8) into the second expression of (7) and rearranging, a parabola
is obtained, which is dened by
y = a1 x
2 + b1 x
+ c1 ,
where a1 , b1 and c1 are dened by
a1 = Y2 cos 2 X2 sin 2
b1 = 2a1 AB + (Y1 cos 2 X1 sin 2 )A
c1 = a1 A2 B 2 (Y1 cos 2 X1 sin 2 )AB + Y0 cos 2 X0 sin 2
Thus, ti can be dened by x
i , i.e., the knot ti ,i = 1, 2, 3, , n can be dened by
(5), which has a quadratic polynomial precision.
133
The discussion above showed that the key point of determining knots is to
construct the quadratic polynomial, P () = (x(), y()) (3) using the given data
points. This will be discussed in Section 3.
Determining Knots
In this section, we rst discuss how to construct a quadratic polynomial with four
points, then discuss the determination of knots using the quadratic polynomial.
3.1
(9)
(s si )(s 1)
si
s(s si )
2 (s) =
1 si
(10)
where
1 (s) =
(11)
Let si+2 be the knot associated with the point (xi+2 , yi+2 ). As point (xi+2 , yi+2 )
is on the curve, we have
xi+2 = si+2 (si+2 si )/(1 si )
yi+2 = (si+2 si )(si+2 1)/si
(12)
(13)
(14)
134
s
Pi+2
s
Pi
P
s i+1
where
2xi+2
xi+2 + yi+2
(1 xi+2 )xi+2
B(xi+2 , yi+2 ) =
(1 xi+2 yi+2 )(xi+2 + yi+2 )
> 1, the root of (14) is
1
xi+2 yi+2
si =
( xi+2 +
)
xi+2 + yi+2
xi+2 + yi+2 1
A(xi+2 , yi+2 ) =
As si+2
(15)
It follows from (9)(10) that if the given data points are taken from a parametric
quadratic polynomial Q(t), then there is an unique si satisfying 0 < si < 1
to make the curve Qi (s) (9) pass through the given data points. Since si is
determined uniquely by (15), Qi (s) is equivalent to Q(t).
Substituting si+2 > 1 into (11) one obtains
xi+2 > 1 and yi+2 > 0,
(16)
that is, the point (xi+2 , yi+2 ) should be on the dotted region in Figure 2.
3.2
Determining Knots
where
(17)
xi1 xi
xi+1 xi
+
si
1 si
(xi1 xi )(si + 1) (xi+1 xi )si
Xi,1 =
si
1 si
Xi,0 = xi1
yi1 yi
yi+1 yi
Yi,2 =
+
si
1 si
(yi1 yi )(si + 1) (yi+1 yi )si
Yi,1 =
si
1 si
Yi,0 = yi1
(18)
Xi,2 =
135
It follows from Theorem 1 that for i = 2, 3, , n2, the knot interval tj+1 tj =
ij between Pj and Pj+1 , j = i 1, i, i + 1 can be dened by
ij = (xj+1 xj ) cos i + (yj+1 yj ) sin i ,
j = i 1, i, i + 1
(19)
1,
n
are
j1
j
i
similar. Now the knot interval i for the pair of Pi and Pi+1 , i = 1, 3, , n 1
are dened by
1 = 21
2 = 22 + 22
i = ii + 2i1 i2 /(i1 + i2 ), i = 3, 4, , n 3
1
n2 = n2
n2 + n2
n2
n1 = n1
where
(20)
i1 = ii i1

i
i2 = ii i+1

i
If the given set of data points are taken from a parametric quadratic polynomial,
1
2
1
2
1
then i1 = i2 = 0. The terms 22 , 2i1
i1
/(i1
+ i1
) and n2
are correction
n2
2
i
to 2 , i , i = 4, 5, , n 2 and n2 , respectively.
Pi1
Pi2
Pi3
Pi
Pi1
Pi2
For the data points as shown in Figure 3, as the data points change its convexity, the knot interval between Pi and Pi+1 is dened by the combination of
ii1 and ii+1 , i.e, by
i = (ii1 + ii+1 )/2.
(21)
While for data points as shown in Figure 4, the knot intervals are determined by
subdividing the data points at point Pi+1 into two sets of data points. The rst
136
Pi
Pi2
Pi1
set of data point ends at Pi+1 , while the second set of data point starts at Pi+1 .
If Pi1 , Pi and Pi+1 are on a straight line, then setting ti ti1 = Pi1 Pi ,
ti+1 ti = Pi Pi+1 , this determination makes the quadratic polynomial Qi (t)
which passes Pi1 , Pi and Pi+1 be a straight line with the magnitude of the rst
derivative being a constant. Such a straight line is the most well dened curve
one can get in this case.
Experiments
The new method has been compared with the chord length, centripetal, Foley
and ZCMs methods. The comparison is performed by using the knots computed
using these methods in the construction of a parametric cubic spline interpolant.
For brevity, the cubic splines produced using these methods are called chord
spline, centripetal spline, Foleys spline, ZCM spline and new spline, respectively.
The data points used in the comparison are taken from the following ellipse
x = x( ) = 3 cos(2 )
y = y( ) = 2 sin(2 )
(22)
i = 0, 1, 2, , 36
where 0 0.25.
To avoid the maximum error occurred near the end points (x0 , y0 ) and (x20 ,
y20 ), the tangent vectors of F ( ) at = 0 and = 1 are used as the end
conditions to construct the cubic splines.
The ve methods are compared by the absolute error curve E(t), dened by
E(t) = min{P (t) F ( )}
= min{Pi (t) F ( ), i i+1 }
i = 0, 1, 2, , 19
where P (t) denotes one of the chord spline, centripetal spline, Foleys spline,
ZCMs spline or new spline, Pi (t) is the corresponding part of P (t) on the subinterval [ti , ti+1 ], and F ( ) is dened by (22). For the point P (t), E(t) is the
shortest distance from curve F ( ) to P (t) .
137
The maximum values of the error curve E(t) generated by these methods
are shown in table 1. The ve methods have also been compared on data points
which divide [0, 1] into 18, 72, ... etc subintervals. The results are basically similar
as those shown in tables 1.
A new method for determining knots in parametric curve interpolation is presented. The determined knots have a quadratic polynomial precision. This means
that from the approximation point of view, the new method is better than the
chord length, centripetal and Foleys methods in terms of error evaluation in the
associated Taylor series. The ZCMs method has also a quadratic polynomial
precision, but it is a global method, while the new method is a local one.
The new method works well on the data points whose convexity does not
change sign, our next work is to extend it to work on the data points whose
convexity changes sign.
Acknowledgments. This work was supposed by the National Key Basic Research 973 program of China(2006CB303102), the National Natural Science
Foundation of China(60533060, 60633030).
References
1. Ahlberg, J. H., Nilson, E. N. and Walsh, J. L., The theory of splines and their
applications, Academic Press, New York, NY, USA, 1967.
2. de Boor, C., A practical guide to splines, Springer Verlag, New York, 1978.
3. Lee, E. T. Y., Choosing nodes in parametric curve interpolation, CAD, Vol. 21, No.
6, pp. 363370, 1989.
4. Farin G., Curves and surfaces for computer aided geometric design: A practical
guide, Academic Press, 1988.
5. Zhang, C., Cheng, F. and Miura, K., A method for determing knots in parametric
curve interpolation, CAGD 15(1998), pp 399416.
1 Introduction
The automatic generation of cartoons requires the use of two basic techniques in expressive rendering: a specific illumination model for this rendering style and the visualization of the objects silhouettes. This style is known as Cartoon rendering and its
use is common in the production of animation films and in the creation of television
contents. Cartoon rendering techniques in video games is also growing as they can
produce more creative details than the techniques based on realism.
There are several techniques to automatically calculate silhouette outline and celshading [1][2][3]. Shadowing and selfshadowing, along with the silhouettes, are
fundamental effects for expressing volume, position and limits of objects. Most of
these techniques require general meshes and they do not allow representation of
amorphous shapes, which are modeled by particle systems as in the case of clouds and
smoke.
Our objective is to create cartoon vignettes for interactive entertainment applications, combining cartoon techniques with a particle system simulator that allows representation of amorphous shapes such us clouds and smoke. Special attention should
be paid to the visual complexity of this type of gaseous phenomena, therefore we use
implicit surfaces in order to abstract and simplify this complexity [4][5]. To obtain the
expressive appearance, we introduce an algorithm that enhances silhouette visualization, within a cartoon rendering. For the simulation of smoke, we use a particle
system based on Selles [6] hybrid model.
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 138145, 2007.
SpringerVerlag Berlin Heidelberg 2007
139
2 Previous Work
Clouds are important elements in the modeling of natural scenes, both if we want to
obtain high quality images or for interactive applications. Clouds and smoke are gaseous phenomena very complicated to represent because of several issues: their fractal
nature, the intrinsic difficulty of its animation and local illumination differences.
The representation of cloud shapes has been treated by three different strategies:
volumetric clouds (explicit form [7] or procedural [8]), using billboards [9] [10], and
by general surfaces [12][13]. The approach based on volume, in spite of the improvements of graphics hardware, is not yet possible at interactive speed because of
the typical scene size and the level of detail required to represent the sky.
The impostors and billboards approach is the most widely used solution in video
games and, although the results are suitable, their massive use slows the visualization
due to the great number of pixels that must be rendered.
On the other hand, the use of general surfaces allows efficient visualization however it generates overly coarse models for representing volumetric forms. Bouthors
[11], extends Gardners model [12][13] by using a hierarchy of almostspherical particles related to an implicit field that define a surface. This surface is later rendered to
create a volumetric characteristic that provides realistic clouds.
In expressive rendering, the relevant works on gaseous phenomena are scarce in
the literature. The first works published in this field are from Di Fiore [14] and Selle
[6] trying to create streamlined animations of these phenomena. The approach of Di
Fiore combines a variant of second order particle systems to simulate the gaseous
effect movement using 2D billboards drawn by artists, which are called basic visualization components.
Selle introduces a technique that facilitates the animation of cartoon rendering
smoke. He proposes to use a particle system whose movement is generated with the
method presented by Fedkiw [15] for the simulation of photorealistic smoke. To
achieve the expressive appearance, each particle is rendered as a disc in the depth
buffer creating a smoke cloud. In a second iteration of the algorithm, the silhouette of
the whole smoke cloud is calculated reading the depth buffer and applying the depth
differences. This method obtains approximately one image per second and has been
used by Deussen [16] for the generation of illustrations of trees.
McGuire [17], presents an algorithm for the realtime generation of cartoon rendering smoke. He extends Selles model incorporating shading, shadows, and nailboards
(billboards with depth maps). Nailboards are used to calculate intersections between
smoke and geometry, and to render the silhouette without using the depth buffer. The
particle system is based on work recently presented by Selle, Rasmussen, and Fedkiw
[18], which introduces a hybrid method that generates synergies using Lagrangian
vortex particle methods and Eulerian grid based methods.
3 Scene Modeling
The rendering process necessarily requires an abstraction and simplification of the
motif. This is made evident in the generation of handdrawn sketches, even more so
when representing gases. By means of several strokes the artist adds detail to the
140
 q  ci 
Di(q)= 1
ri
2 2
(1)
 q  ci 
Di (q)= mi * 1
ri
2 2
(2)
The implicit surface is generated from the summation of the density function of the
set:
F ( q)= Di (q ) T .
i
(3)
Therefore, the implicit surface F (q) =0 is defined as those points q where summation of the density functions equals threshold T. The influence of the radius ri and the
mass mi of particles, as well as the threshold T, are chosen empirically as they depend
on the number and density of particles. Finally we triangulate the implicit surface and
then we optimize it according to the level of subdivisions si chosen by the user. Fig. 1
and Table 1 provide a comparison between different levels of simplification.
(a)
(b)
141
Table 1. Comparison of the triangles count and the parameters used for the implicit surfaces
Figure
1(a)
1(b)
#particles
12
6
T
0.05
0.6
mi
8
2
si
22
11
4 Rendering
Using an implicit surface allows calculation of the silhouette and to apply a illumination model for rendering. For silhouette detection and to achieve the cartoon appearance we use our previously published method [4]. Next, we describe the proposed
method and discuss the visual results obtained thus far.
The detection algorithm allows silhouette extraction as an analytical representation
obtaining interactive frame rates. As opposed to the methods proposed by other authors [14] [17] [6], the analytical description of the silhouette can be used to
create new textured polygons which improve the appearance of the model. Our system allows us to define the height and the scale of the new polygons that form the
silhouette.
The main drawback of this algorithm is that we need to remove those polygons that
have been generated for interior hidden edges of the original polygon. A simple solution to this problem draws the mesh during a second iteration of the algorithm, once
the hidden polygons have been removed, as shown by Fig. 2, left.
Finally, we select the texture to apply to the polygons of the silhouette and the
background image to compose the final image. In Fig. 2 right, we show the Sketch of
a cloud using this technique.
The illumination model used for the cartoon rendering allows a maximum of 32
gradations, which are applied on the mesh generated from the implicit surface as a 1D
texture. The process of obtaining the final image is similar to the one described previously, however in this case we do not use the mask but instead the polygonal mesh
textured with cartoon style, as shown in Fig. 3 left.
142
Fig. 3. Left, cartoon rendering image. Right, cartoon rendering with transparency.
Given the nature of gaseous phenomena it may be interesting to be able to define
transparency levels at the same time that cartoon rendering is applied. In this case it is
necessary to generate the mask of the cloud and to introduce it in a third step, as it is
shown in Fig. 3, right.
143
Because the second surface is only necessary to add detail through the outline of
the silhouette, and it is inside the outer surface, it is not necessary to visualize it nor to
use it as a mask.
6 Smoke Simulation
Each particle of real smoke has very little mass or volume. Therefore, the smoke simulation is, in fact, the simulation of the instability of the air that contains the smoke particles. Expressive rendering is aimed at obtaining, first of all, a convincing shape of the
object. In the case of the amorphous shape of the smoke, as with clouds, we use a particle set that is the base for calculating the surface that is used for rendering this effect.
Cloud models can be static, however in the case of smoke it is necessary to have a
dynamic particle system. Our model uses a simplified version of the proposal made
recently by Selle et al [18] for the particle system. It allows the user to fit the parameters pertinent to wind, turbulence, environmental forces and vortices, among others.
The positions of particles are calculated interactively according to the initial configuration defined by the user. Once the new positions are computed, we recalculate
the implicit surface using the method described in section 3. Then we calculate the
silhouette and we render it as we have described in the previous sections.
In the real world the smoke particles dissipate according to their speed. Although
speed is a more objective criterion, it is more convincing to do the animation based on
time. This approach allows us to maintain the number of particles steady during the
simulation process. In this way we achieve that the speed of the visualization process
of the smoke remains more or less constant.
144
7 Results
The results obtained show a convincing imitation of handdrawn sketches and drawings, although our approach is not strict in its physical foundations. We have given
priority to the visual appearance with the purpose of simplifying the amount of information to represent while keeping the overall aspect and the capability of the user to
identify the amorphous objects. With our approach we have obtained good results for
interactive models rendering. Still, to obtain high resolution images intended for printing with good quality, we must optimize the algorithms developed.
The performance of our method has been demostrated in a PC platform, with
AMD's Athlon 64 X2 3800+ processor and a GeForce 7950 512 Mb graphics card,
running Windows XP. Once we calculate the geometry of the objects to render, we set
up different shape parameters for the clouds.
Different models have been created and different parameters have been applied,
which entails the necessity to execute different number of iterations of the algorithm
according to the desired target.
Table 2. Rendering times of clouds and smoke
Figure
2
3(a)
3(b)
4
5
6
#particles
6
47
21
9
150
200
#iteration
2
2
3
3
2
2
si
22
21
20
21
8
7
fps
283
88
65
154
38
48
Acknowledgements
This work was partially supported by grant 05VI1C02 of the University of Vigo, rant
TIN200508863C03 of the Spanish Ministry of Education and Science and by
STREP project GameTools (IST004363).
145
References
1. J. Buchanan, and M. Sousa. The edge buffer: a data structure for easy silhouette rendering. In Proceedings of NPAR 00, (2000) 3942
2. L. Markosian, M. Kowalski, D. Goldstein, S. Trychin, and J. Hughes. Realtime nonphotorealistic rendering. In Proceedings of SIGGRAPH 97, (1997) 415420
3. R. Raskar and M. Cohen. Image precision silhouette edges. In Proceedings of I3D.,
(1999) 135140
4. C. Campos, R. Quirs, J. Huerta, E. Camahort, R. Viv, J. Lluch. Real Time Tree Sketching. Lecture Notes in Computer Science. Springer Berlin / Heidelberg, vol, 03029743,
(2004) 197204
5. T. Luft and O. Deussen, RealTime Watercolor Illustrations of Plants Using a Blurred
Depth Test, In Proceedings of NPAR 06, (2006)
6. A. Selle, A. MOHR and S. Chenney, Cartoon Rendering of Smoke Animations. In Proceedings of NPAR 04, (2004) 5760
7. T. Nishita, E. Nakamae, Y. Dobashi. Display of clouds taking into account multiple anisotropic scattering and sky light. In Proceedings of SIGGRAPH96, (1996) 379386
8. J. Schpok, J. Simons, D. S. Ebert, C. Hansen, A realtime cloud modeling, rendering, and
animation system. Symposium on Computer Animation03, (2003) 160166
9. Y. Dobashi, K. Kaneda, H. Yamashita, T. Okita, T. Nishita, A simple, efficient method
for realistic animation of clouds. In Proceedings of ACM SIGGRAPH00, (2000) 1928
10. M. J. Harris, A. Lastra, Realtime cloud rendering. Computer Graphics Forum 20, 3,
(2001) 7684
11. A. Bouthors and F. Neyret, Modeling clouds shape. In Proceedings Eurographics '04,
(2004)
12. G. Y. Gardner, Simulation of natural scenes using textured quadric surfaces. In Computer Graphics In Proceedings of SIGGRAPH84, 18, (1984) 1120
13. G. Y. Gardner, Visual simulation of clouds. In Computer Graphics SIGGRAPH 85,
Barsky B. A., 19, (1985) 297303
14. F. Di Fiore, W. Van Haevre, and F. Van Reeth, "Rendering Artistic and Believable Trees
for Cartoon Animation", Proceedings of CGI2003, (2003)
15. R. Fedkiw, J. Stam, and H. W. Jensen, Visual simulation of smoke. In Proceedings of
SIGGRAPH 01, ACM Press, (2001) 1522
16. O. Deussen, and T. Strothotte, Computergenerated penandink illustration of trees. In
Proceedings of SIGGRAPH 00, (2000) 1318
17. M. McGuire, A. Fein. RealTime Rendering of Cartoon Smoke and Clouds. In Proceedings of NPAR 06, (2006)
18. A. Selle, N. Rasmussen, R. Fedkiw, A vortex particle method for smoke, water and explosions. ACM Trans. Graph., (2005) 910914
19. S. Murakami and H. Ichihara, On a 3d display method by metaball technique. Transactions of the Institute of Electronics, Information and Communication Engineers J70D, 8,
(1987) 16071615
1 Introduction
Spherical image plays an important role in optics, spatial remote sensing, computer
science, etc. Also, in the community of computer graphics, spherical image frequently
finds applications in photorealistic rendering[1], 3D model retrieval[2], virtual reality[3]
or digital geometry processing[45].
Compared with various algorithms for planar images matching and retrieval, there
is nearly no analogy for spherical ones up to now. But in some occasions, one cant
avoid facing the task of matching spherical images. Since spherical binary images
(SBIs) are used in a majority of cases, we emphasize our attentions on them. In this
paper we propose an effective method to match SBIs by measuring the maximal
superposition degree between them.
2 Our Method
In our research, we assume that the similarity between SBIs can be measured by the
maximal superposition degree between them, which also accords with the visual
apperception of human beings. While we know that spherical surface is a finiteunbounded region, it hasnt any information of border and also we cant find its start
and end, which baffles the matching. The key of this problem is trying to obtain the
result in a finite search space and the error is certain to decrease along with the
increase of search space. That is to say, we need to be capable of explicitly controlling
the error according to practical requests. In this paper, we divide the SBIs into umpty
equivalent regions and compare the difference between the corresponding regions of
two SBIs, the sum of which is the superposition in an orientation. Then we rotate one
SBI around its center with given rule and make another analogical calculation. And
after finite comparisons, their similarity can be obtained by choosing the case with the
most superposition.
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 146149, 2007.
SpringerVerlag Berlin Heidelberg 2007
147
As we know that regular polyhedra are uniform and have facets which are all of
one kind of regular polygon and thus better tessellations may be found by projecting
regular polyhedra onto the unit sphere after bringing their center to the center of the
sphere. A division obtained by projecting a regular polyhedron has the desirable
property that the resulting cells all have the same shapes and areas. Also, all cells have
the same geometric relationship to their neighbors. So if we adopt a regular polyhedron
as the basis to divide the SBIs, their distribution will also satisfy the requirements of
uniformity and isotropy. Since the icosahedron has the most facets of all five types of
regular polyhedra, we adopt it as a basis in our realization.
The division for a SBI has random orientation, which makes it difficult to compare.
For simplification, we firstly investigate the method to compare two SBIs in the same
orientation. As the SBIs have been divided into 20 equivalent spherical triangles, our
method is to subdivide each into four small ones according to the well known
geodesic dome constructions for several times(Fig.1) to form more compact trigonal
grids. If the gray of the SBI in the position of a grids center is 1, we tag this grid with
1, or otherwise 0. Then we totalize the superposed grids with the same tags and
calculate its proportion as the metric for similarity.
Suppose that the spherical icosahedron basis has been subdivided for N times and m
be the number of superposed grids with the same tags, then the similarity S between
the SBIs in this orientation can be defined as
m
.
20 * 4 N
Comparison of SBIs in the same orientation only reflects the superposition degree
in one situation, and therefore to obtain an allaround matching, we have to search for
more orientations to get the actual similarity. The varieties of orientation are achieved
through two steps in our realization:
Firstly, we rotate the icosahedron basis of one SBI around its center to obtain
another posture which is superposed with the prior one. Because the icosahedron has a
Symmetrical Group(SG) with its rank being 60, we need only rotate it 60 times to
get the most superposition in the group, that is, the max superposition in one SG
S G = max S i , i = 0,1,",60 . Fig.2 shows three orientations in a SG of a SBI for
example. Notice that the SBI is rotated along with the basis, too.
148
W. Liu and Y. He
Fig. 2. Three orientations in one symmetrical group, from which we can observe that the
trigonal meshes are superposed ( N = 2 )
Secondly, we learn that though rotations and comparison in one symmetrical group
can get a nearly approximate matching, the problem hasnt been completely finished,
yet. An undoubted fact is that the relation between the SBI and its icosahedron basis is
randomly fixed at the beginning, which may create a nonoptimal discretization of SBI
for matching. To solve this problem, we adopt to experiment on other relations, which
will perhaps alter the shape or distribution of the discrete SBIs. Our method is to rotate
the icosahedron basis while maintaining the SBI fixed to obtain another SG. To ensure
that all SGs are distributed uniformly and able to cover different angles to solve the
rotation problem effectively, we adopt the relaxation mechanism proposed by Turk[6],
which intuitively has each directions of a SG push around other ones on the sphere by
repelling neighboring directions, and the most important step is to choose a repulsive
force and a repulsive radius for the interval.
Suppose we need L different SGs, there are totally 60 L rotations between the
two SBIs. The average maximum error of rotation angle A for two SBIs in longitude
and latitude can be roughly estimated using the following formula:
360 180
1080
= 60 L A =
A
A
L
(1)
The calculation is acceptable. Then we can decide the actual similarity between the
SBIs as S max = max S Gj , j = 0,1,", L 1 . Also, we can easily analyze and
conclude that the whole time complexity of our algorithm is O ( L 4 ) .
Foremost, we evaluate the retrieval performance of these combinations. Assume
that the query SBI belongs to the class Q containing k SBIs. The performance of
N
1280 to 5120.
149
In the experiments, we test various kinds of SBIs and from each kind we choose
five SBIs as the query and test the results. Table 1 lists the average performances of
the 18 cases, from which we find that when N = 3 and L = 15 , the arithmetic
obtains the best performance. Of course, since there is nearly no acknowledged
benchmark and interrelated reports on SBI matching up to now, our experiments and
result of performance can only be an attempt.
Table 1. Average Performances (%)
N/L
2
3
4
10
31.3
34.1
33.2
11
33.4
34.9
34.1
12
33.7
35.4
34.5
13
34.1
36.3
35.7
14
34.9
37.1
36.4
15
35.4
37.9.
37.2
References
1. Sing K. A Survey of Imagebased Rendering Techniques. Technical Report Series, CRL
97/4, Cambridge Research Laboratory
2. Kazhdan M, Funkhouser T. Harmonic 3D shape matching. Computer Graphics Proceedings
Annual Conference Series, ACM SIGGRAPH Technical Sketch, Texas, (2002)
3. Shigang L, Norishige C. Estimating Head Pose from Spherical Image for VR Environment.
The 3rd IEEE Pacific Rim Conference on Multimedia, Morioka, (2002), 11691176
4. Wu Y, He Y Tian H. Relaxation of spherical parametrization meshes. The Visual Computer,
(2005), 21(8): 897904
5. Rhaleb Z, Christian R, Hans S. Curvilinear Spherical Parameterization. The 2006 IEEE
International Conference on Shape Modeling and Applications, Matsushima, 1118
6. Turk G. Generating Textures on Arbitrary Surfaces Using ReactionDiffusion. Computer
Graphics, (1991), 25(4): 289298
Abstract. This research studies real time interaction and dynamic data shared
through 3D scenes in virtual network environments. In a distributed virtual
environment of clientserver structure, consistency is maintained by the static
information exchange; as jerks occur by packet delay when updating messages
of dynamic data exchanges are broadcasted disorderly, the network bottleneck
is reduced by predicting the movement path by using the Deadreckoning
algorithm. The shared dynamic data of the 3D virtual environment is
implementation using the VRML EAI.
Keywords: netVE, Deadreckoning, Consistency.
1 Introduction
NetVE(Network Virtual Environment)[1][2] is a system that connection the
distributed network to the virtual reality technology and offers 3D space to
cooperate distributed multiusers interaction through realtime networking.
Consistency at a distributed virtual environment[3] of the clientserver structure is
continued by continuous exchange of static information among distributed clients.
The cycles transfer of static information brings traffic overhead of network. The
precise way for network users to know the others static is to transfer the packet by
hand shaking for each frame, which takes a overload of the synchronization and
decrease the velocity.
Based on the roles by which the dynamic data of the distributed multiusers is
processed through the multicasting communication via the clientserver and the peerpeer server, the network system in this study is composed of the message server and
the application server and distribution servicing loads by allocating realtime data to
the dynamic data server and nonrealtime data to the static data server. When a new
client is connecter to a 3D scene of the network virtual space, it interpolates the prior
location with the Deadreckoning[4] path prediction algorithm of DIS(Distributed
Interactive Simulation) to continue consistency and presentation the dynamic data
sharing scene of the 3D virtual space.
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 150153, 2007.
SpringerVerlag Berlin Heidelberg 2007
151
x = V cos
y = V sin
(1)
Fig. 1 shows the Deadreckoning convergence process. We can get more precise
estimates by increasing the estimate function interval of expression (2) but it results in
more composite calculation. Therefore, we use 2nd level functions such as 1st
differentials or 2nd differentials. We adjusts the threshold of the Deadreckoning
convergence number and control the static information transfer rate. The client that
receives the discreteness dynamic data static information creates a continually shared
static using the shared static location convergence expression (2)
x(t ) = x(t0 ) + (t t0 )
(t t0 ) 2 d 2 x(t )
dx(t )
t =t0 +
t =t0 +"
dt
2
dt 2
(2)
Fig. 2. shows the measurement of the actual location, the convergence location and
the estimated location error when the path from the initial value of the dynamic data
by the Deadreckoning convergence width, ( x, y, ) =(1.5, 1.8, 70.0), to the value,
( xn , yn , n ) =(4.62, 5.64, 70.0), is set to the velocity 2.4, the acceleration 0, the time
stamp 2.0, and the DR Interval 0.75, 0.50, 0.10, 0.05. When the actual location in
Table 1 and the location prediction error by convergence width are measured at the
point ( xn , yn , n ) =(4.62, 5.64, 70.0), the estimated error rate gets smaller and it
becomes possible to predict the location which is closer to the actual path when the
152
(a) DR Interval=0.50
(b) DR Interval=0.10
(c) DR Interval=0.05
The location interpolation includes check of the error between the estimated and
the real values and interpolation of the previous location when the error is over the
predetermined threshold of the Deadreckoning convergence. If the threshold is big,
the average transfer rate of static information is low, even though the error of the
shared static gets bigger. If the threshold is small, the average transfer rate and
broadband width get heighten even though the error of the shared static gets smaller.
Pt 0 and V r mean the ESPDU location and velocity, respectively. expression (3)is for
interpolating the previous location of the entity using the initial location value
the time stamp velocity at the linear block
t0 by
Pt1 = Pt 0 + V r (t1 t0 ) .
(3)
3 Conclusion
The dynamic data whose path was predicted by a Deadreckoning algorithm
interpolates the previous location with an interpolation node(Interpolation), transfers
the shared object static information, and continues consistency with other clients.
At the network 3D virtual space, the movement path was predicted using the Deadreckoning algorithm at the client buffer because the congested broadcast by
interaction and static information caused network delay and jerks. The error between
the estimated and the actual static values, which is more than the threshold based on
153
the shared object location, required interpolation of the prior location using the Deadreckoning estimate function and multicasting of the ESPDU packet of the DIS.
Fig. 3 is the 3D scene with the output through the client rendering engine at the
network virtual space. The actual path of the dynamic data agent_A is 'Actual Path',
and as the Deadreckoning estimate location path is a 'DR path' and the dynamic data
moves suddenly when the user who received the shared static updates the information,
it does not change right away to a client cache value, but moves to the 'Interpolation
path' by the convergence interval.
References
[1] Singhal, S. and Zyda, M., 1999. Networked Virtual Environments: Design and
Implementation, ACM Press [ISBN 0201325578].
[2] Bouras, C., Triantafillou, V. and Tsiatsos, T., 2001. Aspects of collaborative learning
environment using distributed virtual environments In Proceedings of EDMEDIA,
Tampere, Finland, June2530 pp.173178
[3] Bouras,C., Psaltoulis, D., Psaroudis, C. and Tsiatsos, T., 2003. Multi user layer in the EVE
distributed virtual reality platform In Proceedings of Fifth International Workshop on
Multimedia Networks Systems and Applications (MNSA 2003) Providence, Rhode Island,
USA, May 1922 pp.602607.
[4] W. Cai, F.B.S. Lee, L. Chen, An autoadaptive Deadreckoning algorithm for distributed
interactive simulation, in: Proceedings of the Thirteenth Workshop on Parallel and
Distributed Simulation, 1999, pp.8289.
Abstract. This paper presents a method for effectively modeling the outer
surfaces of inlay/onlay prostheses restoring teeth that are partially destroyed.
We exploit 3D mesh deformation techniques: direct manipulation freeform
deformation (DMFFD) [9] and multiple wires deformation (MWD) [10] with
three kinds of information: standard teeth models, scanned mesh data from the
plaster cast of a patient's tooth, functionally guided plane (FGP) measuring the
occlusion of the patients' teeth. Our implementation can design inlay/onlay
prostheses by setting up various parameters required in dentistry during
visualizing the generated mesh models.
Keywords: Prostheses modeling, inlay/onlay, mesh deformation.
1 Introduction
Many artificial teeth prostheses are composed of cores and crowns [1]: the cores
directly contact the abutment to increase the adhesive strength to the crowns that are
revealed to the outside sight when the artificial teeth prostheses are put in.
Inlay/onlays can be regarded as a kind of single crowns, which are used for
reconstructing only one tooth that are partially destroyed. In general, a tooth adjoins
with adjacent teeth and also contacts other teeth at the opposite side when the upper
and lower jaws occlude. The adjoining surfaces at the adjacent side are said to be
adjacent surfaces, and the contact surfaces at the opposite side during the occlusion
are called occlusal surfaces. The inlay is a prosthesis fabricated when little dental
caries or established prostheses are on the two surfaces, while the onlay is a prosthesis
fabricated when its cusp in tongue side exists soundly but other parts are destroyed.
In modeling inlay/onlays with CAD/CAM and computer graphics techniques, the
most important subject is how to model their 3D shapes same as the dentists want to
form. That is, the adhesive strength to the abutment must be maximized. Furthermore,
the appropriate adjacency with neighboring teeth and the accurate occlusal strength to
the opposite tooth has to be guaranteed. Previous researches for modeling
inlay/onlays can be divided to two categories: 2D imagebased [25] and 3D meshbased [6,7].
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 154157, 2007.
SpringerVerlag Berlin Heidelberg 2007
155
Our method adopts the meshbased modeling approach similarly to the GN1
system [7]. In this paper, however, differently to taking a side view of 3D scanners for
producing mesh models in the GN1 system, an inlay/onlay is modeled by dividing its
surface into two parts: an inner surface adhering to the abutment and an outer surface
revealed to the outside sight. The inner surfaces of inlay/onlays are modeled same as
the results of Yoo et al. [8] with the 2D Minkowski sum: compute a new model that is
the expansion of a terrain model with expansion values given by users. This paper
focuses on modeling the outer surface, which is just the union of two subparts: the
adjacent and occlusal surfaces, by deforming the corresponding standard tooth
according to the inherent features of each tooth.
(1)
In the above equation, the B + is a pseudo inverse of the matrix B . If we apply FFD
to X with the computed P , X is transformed into X ' . Hence, it is possible to
deform a mesh intentionally, if we apply FFD to all vertices of the mesh after
computing P for each vertex with the same method.
The deformation technique of multiple wires deformation (MWD) [10] is used for
more naturally deforming the wired curves representing geometric features of cusp,
ridge, fissure, and pit, which are extracted after scanning the FGP. A wired curve is
represented as a tuple < W , R, s, r , f > , where W and R are the freeform parametric
curves that are the same in an initial state, s is a scalar for adjusting the radial size in
the curve circumference, r is a value representing the range effecting the curve
circumference, and f is a scalar function defined as f : R + [0,1] . The function f
guarantees the C1continuity at least, and satisfies the properties of
1
f (0) = 1, f ( x) = 0 for x 1 and f ' (1) = 0 . Our implementation uses the C continuous
156
(2)
p pR
r
p ' by deforming W with an expansion parameter s for changing the wire size.
p ' = p + ( s 1)( p p R ) f ( x) + ( pW p R ) f ( x) .
(3)
Definitely, the above equation has the property that the expansion parameter s
moves the point p in the direction p p R . This principle of wire deformation is
extended for deforming the multiple wires. Let pi be the variation value of p when
the wire Wi is deformed. Then, the deformed point p ' in deforming all wires
Wi , i = 1,", n is written as.
n
p' = p +
pi f i ( x) m
i =1
i =1
(4)
f i ( x) m
The parameter m is used for locally controlling the shapes of the multiple wires, i.e.,
it controls the effects of Wi and si during the deformation. For example, the effects
of Wi and si rapidly increase according to the increasing value of m when f i (x)
approaches to 1.
In modeling the occlusal surfaces, Ri is the curve interpolating all points of the the
geometric features lines of cusp, ridge, fissure, and pit. The wired curve Wi
corresponding to Ri is determined by more complicated computations; for each
segment Li of the polygonal lines, we compute the intersection line segment Li '
between FGP and a zaxis parallel plane passing Li , cut Li ' so that it has the same xand y coordinates with the end points of Li , and finally obtain a curve interpolating
all points of the cut line segments. Since the two curves interpolates the same number
of points, we can get the parametric value of the curves for any point on Wi . In our
implementation, we use the CatmullRom curve for the interpolating curves, and the
one suggested by Singh et al. [10] for the function f . Our implementation assigns the
values 1, 5, and 1 to si , ri and m , respectively. For the all of points p on the
standard tooth, W , and R , we compute pR and pW and then obtain pi with
Equation (4). By applying Equation (5) to pi of all wired curves and f , we can get
the finally deformed point q' .
157
(a)
(b)
(c)
(d)
Fig. 1. Designing the outer surface for an onlay; (a) a standard tooth model, (b) a scanned FGP
model, (c) a finally designed onlay, and (d) an onlay put in on the abutment
For more accurate modeling, several parameters can be set up through a simple
interface as the designed inlay/onlays are visualized. Currently, our implementation
gets the adjacent points manually for designing the adjacent surfaces of inlay/onlays.
In future, an automatic method for determining such adjacent points is needed to be
developed. It is another research subject to simulate the teeth occlusion by using the
FGP and the geometric features of teeth.
Acknowledgements. This work was partially supported by the Korea Research
Foundation Grant funded by the Korean Government (MOEHRD) (KRF2006D00413).
References
1. Yoon, C.G., Kang, D.W., Chung, S.M.: Stateofarts in Fixed Prosthodontics, Jongii Press,
Korea (1999)
2. Myszkowski, K., Savchenko, V.V., Kunii, T.L.: Computer modeling for the occlusal
surface of teeth, Proc. of Conf. on Computer Graphics International (1996)
3. Savchenko, V.V., Schmitt, L.M.: Reconstructing occlusal surfaces of teeth using a genetic
algorithm with simulated annealing type selection, Proc. of Solid Modeling (2001) 3946
4. Yoo, K.Y., Ha, J.S.: UserSteered Methods for Extracting of Geometric Features in 3D
Meshes, ComputerAided Design and Applications, Vol. 2 (2005)
5. Sirona Corporation, http://www.sirona.com (1985)
6. Nobel Digital Process Corporation, Procera Systems, Nobel Digital Process Corporation,
Sweden (2001)
7. GC Corporation, GNI Systems, GC Corporation, Japan (2001)
8. Yoo, K.Y., Ha, J.S.: An Effective Modeling of Single Cores prostheses using Geometric
Techniques, Journal of ComputerAided Design, Vol. 37, No. 1 (2005)
9. Hsu, W.M., Hughes, J.F., Kaufman, H.: Direct manipulation of freeform deformations, In
Computer Graphics (SIGGRAPH '92), Vol. 26 (1992) 177184
10. Singh, K., Fiume, E.: Wires: A Geometric Deformation Techniques, SIGGRAPH (1998)
11. Sederberg, T., Parry, S.: Freeform deformation of solid geometric models, In Computer
Graphics (SIGGRAPH86) (1986) 151160
Abstract. In this paper, some natural links between virtual reality and
interactive 3D computer graphics are specied and Web3D technologies especially VRML and X3D are briey introduced. Webbased tool
which is called EasyLab3D was designed and implemented using X3D.
This webbased tool is used to generate automatically 3D virtual computer rooms that can be navigated in. It is important for introduction
of departments, companies and organizations which have computer laboratories and for planning new computer rooms. As a result, stateofthe
art technologies and methods in development of automatic 3D scene and
model generation tools are discussed.
Introduction
Extensible 3D (X3D)
159
http://www.xml.com/pub/a/2003/08/06/x3d.html
http://yzgrak.ege.edu.tr/projects/easylab3d/
http://www.mediamachines.com/make.php
160
A. U
gur and T.E. Kalayc
and to use an object many times without coding same things repeatedly. Created
model prototypes are stored at web space4 for online use.
Scenes are generated using our layout algorithms and prototype instances are
created with calculated transformations and put in a temp le on the y. Thus
user can save the scene generated as a le and publish on the web site. User
can also examine these les later using other browsers and plugins. Scenes are
created on the y, shown on the Xj3D browser using Java programming language.
Xj3D provides to change X3D scenes dynamically using SAI5 (Scene Authoring
Interface) technology. Java Web Start technology6 is used to make easier run of
program and to be downloaded all required libraries automatically.
Automatic generation algorithms for most popular rectangular computer
room layouts are implemented in this project. Computers which are on the tables are placed in that order. Computer Room Layout 1 has equally sized gaps
between computer tables and Layout 2 includes one corridor has two computer
blocks one at the left side of room and one at the right side shown in Fig. 2.
Room parameters given by the user are width (sizeX), length (sizeY), height
and distance to board (gapY, minimum feasible distance between board and
tables). Table/desk parameters are width (sizeX, width of table), length (sizeY)
and height. Some other parameters are Desk Count (room.tableCount), Sitting
Gap (table.gapY, feasible distance between tables that a computer user works
easily, in Y axis), Desk Gap (table.gapX, gap between tables in X axis).
Fig. 2. Computer Room Layout 1 (on the left) and Layout 2 (on the right)
http://yzgrak.ege.edu.tr/elab/modeller/
http://www.xj3d.org/tutorials/general sai.html
http://java.sun.com/products/javawebstart/
161
room.tCountY = (room.usableLength+table.gapY)/
(table.sizeY+table.gapY);
room.maxTableCount = room.tCountX * room.tCountY;
if(room.tableCount>room.maxTableCount)
room.tableCount=room.maxTableCount;
// Placement
foreach(table in room) calculatePosition(table);
Tables and computers exceeding the room capacity are not inserted into the
scene as specied in the algorithm.
Conclusion
New generation 3D languages, APIs and key Web3D technologies (X3D, Java
3D) oer possibilities for creating and manipulating with 3D objects and scenes
easily. X3D provides support to insert 3D shapes, text and objects into scene, to
transform objects, to modify attributes of objects and others such as grouping,
animation, illumination, etc. X3D also uses XMLs advantages such as rehostability, page integration, integration with the nextgeneration web technologies,
extensive tool chain support. Developments in Web3D technologies and authoring tools are important for the future of VR.
Increasing number of webbased 3D graphics projects easy to use like EasyLab3D will make 3D graphics natural part of web and will improve web quality.
3D interactive model of a computer lab is more than a series of 2D pictures and
also more enjoyable and realistic. Companies and organizations can use this tool
for generating 3D models of their labs only giving a few parameters. Internet
users can access and navigate in these lab models. This automatic generation
tool is also useful for interior designs of new labs by providing 3D previews.
References
1. Sherman, W.R., Craig, A.B.: Understanding Virtual Reality: Interface, Application,
and Design. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA (2002)
2. Sowizral, H.A., Deering, M.F.: The java 3d api and virtual reality. IEEE Computer
Graphics and Applications 19 (1999) 1215
3. Blais, C., Brutzman, D., Horner, D., Nicklaus, S.: Webbased 3d technology for
scenario authoring and visualization: The savage project. In: I/ITSEC. (2001)
4. Patel, M., White, M., Walczak, K., Sayd, P.: Digitisation to presentation  building
virtual museum exhibitions. In: VVG. (2003) 189196
5. Barbieri, T., Garzotto, F., Beltrame, G., Ceresoli, L., Gritti, M., Misani, D.: From
dust to stardust: A collaborative 3d virtual museum of computer science. In: ICHIM
(2). (2001) 341345
6. Hetherington, R., Farrimond, B., Presland, S.: Information rich temporal virtual
models using x3d. Computers & Graphics 30 (2006) 287298
7. Yan, W.: Integrating web 2d and 3d technologies for architectural visualization: applications of svg and x3d/vrml in environmental behavior simulation. In: Web3D 06:
Proceedings of the eleventh international conference on 3D web technology, New
York, NY, USA, ACM Press (2006) 3745
Abstract. We introduce a new glass tile generation method for simulating Stained Glass using region segmentation algorithm and cubic spline
interpolation method. We apply a Mean shift segmentation algorithm
to a source image to extract a shape of glass tile. We merge regions
by user input and use morphological operation to remove the invalid
shape. To make the shape of glass tile, we apply cubic spline interpolation and obtain the leading and the region with smooth boundary. Next,
we resegment the region using the spline curves. Finally we apply the
transformed colors to each region to create a whole glass tile.
Introduction
This study is to make the Stained Glass image that looks like manually produced
by artists using the 2D image as the input. The Stained Glass rendering is a
eld of NPR(NonPhoto realistic Rendering) and it is very much dierent from
the traditional realistic rendering. While the rendering primitive of the realistic
rendering is a pixel that of the Stained Glass rendering is a region, the collection
of the pixels. Therefore the output image may be varied according to the size and
the shape of the area. In this paper, we would like to introduce a new method
to create glass tile. The Stained Glass is made by cutting and pasting the glass
therefore the unit of the Stained Glass is a glass tile. As conventional algorithm
used to create a glass tile simply using region segmentation, it could not have
the Stained Glass like feeling if the region segmentation were not appropriate.
In order to resolve this problem, we interpolated the boundaries between the
regions, resegmented each segmented area to create the region to compose glass
tiles.
Related Work
Although many dierent studies have been performed since the studies regarding
the NPR were started Strothotte[1], Recently, there have been many trials to
simulate the Stained Glass using computer technology.
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 162165, 2007.
c SpringerVerlag Berlin Heidelberg 2007
163
In Photoshop, The Stained Glass lter is one of them. The Stained Glass
lter of the Photoshop basically makes the image using Voronoi Diagram having
random Voronoi sites(Ho[5]).
Mould[2] approached to the studies on the Stained Glass in dierent ways.
This method dividied the input image using the region segmentation method
based on the color, and then it mitigated the segmented regions applying the
morphological operation. However the regions created by Mould[2] method are
far from the formative structures.
3
3.1
It is very important to abstract the segments that can be expressed in glass tiles.
In this study, we used the Mean Shift segmentation algorithm(Comanicu[4]) to
generate the basic segmented regions creating the glass tiles(Fig. 1(b)).
Additionally, as the regions with unexpected shapes can be created from the
application of the segmentation algorithm, we made it possible for the user to
merge the regions through input(Fig. 1(c)).
Fig. 1. Stained glass rendering process (a) Input image (b) Mean shift segmentation
(c) Region merge (d) Morphological operation (e) Region boundary interpolation (f)
Region redivision (g) Rendered image after color transform
3.2
164
S. Seo et al.
Fig. 2. (a)Search control points for spline interpolation (b)Region resegmentation process (c)Resegmentation result
We applied the same method to create the leading that lls the gaps between
glasses in the actual stained glass during the interpolation process. It is to abstract the parts that did not create the segment as the leading by creating and
applying the smaller spline curves than the basic segments.
3.3
For securing the formative beauty that shown in the actual stained glass. We
resegmented the large segment region(Fig. 1(f)).
In the resegmentation process, we made random curve and resegmented the
regions based on the curve.
First of all, select a random point on the region and identify two points
on the boundary near the selected point to use them as the control points.
Based on the selected three points, create a curve using the cubic spline interpolation (Fig. 2(b)). We limited the number of the control points as three
because if we use too many points on the segment it would bend the curve too
much. It is improper to apply the overbent curve to the stained glass rendering
(Fig. 2(c)).
3.4
Mould[2] converted the colors in the input image to the colors that could be
used in the Middle Age to designate the colors of the glass tiles. We applied the
same method to this study. Through this process, we could have the strong color
contrast eects(Fig. 1(g)).
165
Conclusion
In this study, we created the shapes of the smooth glass tiles similar to those in
the actual stained glass by interpolating the boundaries between the segments
to simulate the stained glass image, and then created the frame shape of leading
with irregular thickness that we could nd between the glass tiles. Additionally
we created the formative characteristics that composed a meaningful segment by
gathering small glass tiles through the resegmentation of the segment. We also
expressed the strong color contrast through the color conversion process(Fig. 3).
Additionally, to emphasize the formative shapes, we highlighted the boundaries
before resegmentation with thick lines. As the stained glass is mainly used in
windows, we gave the round light source eects to the image so that we could
get the lighting eects. Fig. 3 shows the comparison between the image after the
light source eect application and the image from Mould[2].
Actual stained glass is made of color glasses.
References
1. Thomas Strothotte and Stefan Schlechtweg, NonPhotorealistic Computer Graphics: Modeling, Rendering and Animation, (2002), Morgan Kaufmann, ISBN:
1558607870
2. David Mould: A Stained Glass Image Filter. In the proceedings of the 14th EUROGRAPHICS Workshop on Rendering, pp. 2025
3. Grodecki, L., Brisac, C. : Gothic Stained Glass. Thames and Hudson, London, (1985)
4. Comanicu, D., Meer, P. : Mean shift: a robust approach toward feature space analysis. IEEE Trans. Pattern Anal. Machine Intell, 24, 4 (2002), 603619
5. Ho, K., Keyser, J., Lin, M., Manocha, D. and Culver, T. : Fast Computation
of Generalized Voronoi Diagrams Using Graphics Hardware. In the proceedings of
SIGGRAPH 99: 277286
6. Gonzalez, Woods: Digital Image Processing, Addison Wesley, (1993)
7. Adam Finkelstein, Marisa Range, :Image Mosaics, Technical Report of Princeton
Univ., (1998)
Abstract. Interval arithmetic has been used to create guaranteed intersection tests in the ray tracing algorithms. Although those algorithms
improve the reliability in the visualization of implicit surfaces, they do
not provide an alternative to avoid point sampling inside the pixel. In
this paper, we develop an interval adaptive antialiasing algorithm (IAA)
by means of the study of the coherence of sets of rays crossing a pixel
(instead of individual rays) in order to detect variations over the hit
surface. This method allows us to obtain better visualizations than the
traditional interval ray tracing algorithms.
Introduction
The ray tracing of implicit surfaces suers of accuracy problems, which are related to thin features that disappear when some special surfaces are rendered.
This occurs because the computers can not guarantee the robustness in oating
point operations during the intersection test [3,6]. Many authors have proposed
reliable ray tracing algorithms that perform guaranteed intersection tests based
on interval arithmetic [2,7,8].
However, those authors do not propose a reliable way to reduce aliasing in the
visualization of the surfaces. An alternative is to use adaptive sampling [9]. In
this technique, rays are traced for every corner of the pixel. If the values are too
dierent, the pixel is subdivided and new rays are traced in the new corners. Due
to the fact that it is still possible to miss thin parts of the surface, this method
uses bounding boxes for small objects. If the ray intersects a bounding box, the
sampling rate is increased to guarantee that view rays do not miss the object.
Although eective in most of the cases, this technique does not work very well
with long thin objects [4].
Other approaches are based on gathering information of adjacent rays as cone
tracing [1] and beam tracing [5]. The main disadvantage of those proposals is
that they require computationally complex intersection tests.
This paper introduces a method called interval adaptive antialiasing (IAA)
with the following characteristics:
This method examines areas of the pixel instead of points as in point sampling. Interval arithmetic is used to guarantee that small parts of the surface
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 166169, 2007.
c SpringerVerlag Berlin Heidelberg 2007
167
inside the pixel are not missed. All the set of rays that cover an area of the
pixel are treated as a unique ray.
The information obtained from sets of rays is studied to determine if the
area covered by the rays presents too much variation over the surface.
This method does not require bounding boxes to detect small features as
adaptive sampling does. Also, the complexity of the intersection test is almost the same as the traditional interval ray tracing.
The intersection between the implicit function f (x, y, z) = 0 and a ray dened
by:
x = sx + t(xp sx ); y = sy + t(yp sy ); z = sz + t(zp sz )
is dened by the function:
f (sx + t(xp sx ), sy + t(yp sy ), sz + t(zp sz ))
where (sx , sy , sz ) are the coordinates of the origin or view point, (xp , yp , zp ) are
the values of a point in the screen and t indicates the magnitude in the direction
of the ray. If the parameter t is replaced with an interval T , a set of real values
can be evaluated instead of a unique value. To cover pixel areas instead of points,
the real values of xp and yp of the screen must be considered as interval values
too. The function to include the new interval values can be dened as follows:
F (Xp , Yp , T ) = F (sx + T (Xp sx ), Sy + T (Yp sy ), sz + T (zp sz ))
(1)
168
J. Fl
orez et al.
is calculated. If the width of the interval containing the dot products between
the set of rays and the normals is bigger than a predened threshold, or if the
surface is not monotonic for the values of T , the surface varies too much in the
evaluated area.
The interval adaptive antialiasing is perfomed in every pixel as follows: all the
area of the pixel is evaluated using process described in section 2.1. If the surface
varies too much inside the pixel, the pixel is divided in four subpixels and the
process is performed on them. In other case, the pixel or subpixel evaluated is
shaded using the average of the normals. If the pixel is divided, the average of the
shade values of the subpixels is used to obtain the nal shade value of the pixel.
The IAA method was tested over the surfaces presented in gure 1. The comparisons have been performed between an adaptive algorithm using a traditional
ray tracing algorithm, and our interval adaptive algorithm. Figures 1a and 1b
show a twist with a shadow. The problems in the visualization in (a) occur because shadow rays miss the thin details of the twister. Also, the visualization
of gure 1a takes 27 minutes; gure 1b takes 20 minutes. The time dierence
Fig. 1. Experimentation images. (a) Fine details of the shadow are not well visualized
using traditional interval ray tracing. (b) Using IAA, those details are better visualized.
(c) A Blobby surface rendered by IAA algorithm. (d)A tritrumpet surface, in which
some sections appear separated although interval arithmetic is used for the intersection
test, as is shown in (d). Using IAA, the surface is rendered correctly (f).
169
is due to IAA detect pixels without too much variation inside, using only one
intersection test. Using the traditional ray tracing algorithm, at least four rays
are traced for every pixel.
Conclusions
Acknowledgements
This work has been partially funded by the European Union (European Regional Development Fund) and the Spanish Government (Plan Nacional de Investigacin Cientca, Desarrollo e Innovacin Tecnolgica, Ministerio de Ciencia
y Tecnologa) through the coordinated research projects DPI200204018C0202, DPI200307146C0202, DPI200407167C0202, DPI200508668C0302 and
TIN200407451C0301 and by the government of Catalonia through SGR00296.
References
1. Amanatides, J.: Ray Tracing with Cones. Computer Graphics. 18 (1984) 129135
2. Capriani, O., Hvidegaard, L., Mortensen, M., Schneider, T: Robust and ecient ray
intersection of implicit surfaces. Reliable Computing. 1(6) (2000) 921
3. Fl
orez, J., Sbert, M., Sainz, M., Veh: Improving the interval ray tracing of implicit
surfaces. Lecture Notes in Computer Science. 4035 (2006) 655664
4. Genetti, J., Gordon, D.: Ray Tracing With Adaptive Supersampling in Object Space.
Graphics Interface. (1993) 7077
5. Heckbert, P., Hanrahan, P.: Beam Tracing Polygonal Objects. Computer Graphics.
18 (1984) 119127,
6. Kalra, D., Barr, A.: Guaranteed ray intersection with implicit surfaces. Computer
Graphics (Siggraph proceedings). 23 (1982) 297206
7. Mitchell, Don: Robust ray intersection with interval arithmetic. Proceedings on
Graphics interface 90. (1990) 6874
8. SanjuanEstrada, J., Casado, L., Garca I.: Reliable Algorithms for Ray Intersection
in Computer Graphics Based on Interval Arithmetic. XVI Brazilian Symposium on
Computer Graphics and Image Processing. (2003) 3544
9. Whitted, T: An Improved Illumination Model for Shaded Display. Communications
of the ACM. 23 (1980) 343349
Abstract. Traditional noncooperative game theory has been an extraordinarily powerful tool in modeling biological and economic behavior,
as well as the eect of legal rules. And, although it contains plausible concepts of equilibrium behavior, it does not contain a theory of dynamics
as to how equilibria are to be reached. This paper on Restricted NonCooperative Games inserts dynamic content into traditional game theory
and thus permits modeling of more realistic settings by imposing topologies that restrict the strategies available to players. It uses Mathematica
to show how the payo array used in conventional game theory, coupled
with these strategy topologies, can construct a "game network", which
can be further visualized, analyzed, and "scored" for each of the players.
The paper likewise uses Mathematica to analyze settings in which each
player has the ability to engineer its own strategy topology and suggests
other potential extensions of Restricted NonCooperative Games.1
Keywords: noncooperative game theory, Mathematica, law, Nash
Equilibrium, game network, New Kind of Science, directed graphs.
Introduction
In conventional noncooperative game theory, each player can see and can instantaneously select any element of its strategy set in response to the other
players strategy selections.[1] In real settings, however, the strategies available
to a player at any given time will often be a function of the strategy it selected
at a prior time.[2] It may, for example, be possible to change only one aspect
of a strategy at a time. Alternatively, as in work earlier done by the author in
"Foggy Game Theory,"[3] the strategies may be placed in some cyclic topology
and only changes within some distance of the current stategy are permitted.
Sometimes these constraints on the dynamics of strategy selection may be the
result of external circumstances or cognitive limitations on the part of the player;
other times they may be deliberately engineered by the player itself.[4] Either
1
Mathematica code used to create the framework is available from the author on
request.
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 170177, 2007.
c SpringerVerlag Berlin Heidelberg 2007
171
way, however, the result is to overlay the strategies with a network connecting
them (a topology) in which some strategies are connected and others are not.2
2
C
E
A
All strategies have at least one outgoing edge, though that edge can be a selfloop.
Otherwise a player would not know what to do on their next move. One can imagine
a yet more general case in which the strategies available to each player are a function
not simply of the strategy employed by that particular player on the prior move but
the strategy combination used on the prior move or move history. Conventional noncooperative game theory may be thought of as a special case of restricted game
theory in which each player has a complete graph as their strategy topology.
172
S.J. Chandler
Driver Payoffs
1
Pedestrian Payoffs
B1
D1
C1
A1
E1
B3
D3
B2
D2
A3
A2
E3
E2
Fig. 2. Game network for driver and pedestrian based on payo array
choose the one whose associated strategy combination (given the complementary
strategy selections of the other players) oers them the highest payo.3 This
modication results in a thinning of the network created above so that, in an
nplayer game, only n edges can generally emerge from each node. Each edge
represents the best move for one of the n players.
To use more formal notation, if there are n players in some restricted game
and the strategy topology (graph) of player i {1,. . .,n} is denoted as si , and
n
173
M [u, s1 , . . . , sn ] = M [u, s1 , . . . , sn , i]
(2)
M [s1 , . . . , sn ] = M [u, s1 , . . . , sn ]
(3)
i=1
uS
One now uses the payos to narrow the set of moves to a subset of the set of
potential moves. A plausible way of doing so is, as in conventional game theory, to
create a payo function mapping each strategy combination to a set of payos,
one for each of the players. One can conveniently represent that function as
the n s1  . . . sn  array P (dimensionality n + 1), where s assumes its
conventional meaning of the cardinality of a set s. Pi is in turn the ndimensional
array in which element {u1 , . . . , un } represents the the payo to the ith player
resulting from strategy combination u. One can then denote the restricted game
G as having the following set of moves:
G[P, s1 , . . . , sn ]={{{u, v}, i} M [s1, . . . , sn ]Pi [v]
max
Pi [m]}
(4)
This mathematical formalism is visualized in Figure 2. The top panel represents the payos associated with each strategy combination in the sample driverpedestrian game. The bottom panel shows the new "Game Network." Moves by
the driver are shown as mediumwidth solid lines while moves by the pedestrian
are thick dashed lines. Very faint, thin, dotted lines represent moves that were
potentially available but were discarded because they were not the best move
for either player.
We can now assign a score to each of the players from the game network described
above. The players score is simply a weighted average of the payos the player
receives from each strategy combination. A plausible weighting scheme assumes
that a random walk is taken by the players on the game network (starting from
some random node) and that the weights are thus the stationary probabilities
of being at each node (strategy combination). Thus, if there were, as in some
conventional noncooperative games, a single strategy combination to which all
the players inexorably converged regardless of some "starting point" (a classic
Nash Equilibrium), that strategy combination would receive a weight of one.
If there were several such nodes, each would receive a weight corresponding
to the size (number of nodes) of its basin of attraction. These weights can be
computed readily by creating a Markov transition matrix associated with the
game network and then computing the stationary values.4 The scores can be
normalized by dividing each score by the score that would result if all nodes of
4
174
S.J. Chandler
the network were weighted equally. In formal notation, the normalized score for
player i in game g = G[P, s1 , . . . , sn ] is equal to
[P, g, i] =
wu [g]Pi [u]/V [g] ,
(5)
uV [g]
Driver Payoffs
1
Pedestrian Payoffs
B1
D1
C1
D3
A1
E1
B3
B2
D2
A3
A2
E3
E2
Fig. 3. Modication of payo array generates new game network and scores
Just as in conventional game theory one can study how changes in the strategy combinationpayo mapping alter the Nash Equilibria and/or the payos
at the equilibria, in restricted noncooperative game theory one can study how
changes in the strategy combinationpayo mapping alter the game network,
which in turn alter the players scores. Figure 3 shows the new payo array (top
panel) that results from requiring the driver to pay the pedestrian an amount of
0.5 if strategy combination E1 is employed, and the resulting new game network
5
In traditional game theory, the ability to nd at least one "Nash equilibrium" for all
games and the accompanying payos is preserved by permitting the players to use
probabilistic strategies[1] and to then indulge contested assumptions about the behavior of players under uncertainty. Probabilistic strategy selection is not permitted
here.
175
(bottom).6 The new normalized scores are 1.49 for the driver and 1.60 for the
pedestrian.
With this framework in place we can also undertake studies not possible in
conventional noncooperative game theory. We can examine how, given a payo
matrix, changing the strategy topologies aects the associated game network,
which in turn aects the weights received by each strategy combination, which
in turn aects the scores received by each player. We can examine properties
of the game network itself, such as the lengths of its maximal cycles. We can
also, in eect, create a metagame in which the strategies are not just things
such as A or B but also choices about whether to permit oneself to transition
from A to B. Physical sabotage of otherwise existing transition possibilities can
create such restrictions; so can economic relationships with third parties such
that various strategy transitions become suciently unprotable (dominated)
and thus disregarded.
I now begin to examine this last proposition systematically using ideas of
Stephen Wolframs A New Kind of Science involving consideration of very simple cases and enumeration of possibilities.[6] Consider a game of n players
indexed over
i with
each player having s strategies available to it. Each player
now has 1 + 2s s possible strategy topologies. This is so because each strategy can connect with the other strategies in 2s ways, but one of those ways, the
empty set, is prohibited, as each player must always
have a next move,
and there
are s strategies to be considered. There are thus ni=1 1 + 2s s strategy
combination topologies that can exist. Although the number of strategy topologies can readily become quite large, if there are two players and each player has
three strategies available to it, each player has 343 strategy topologies and there
are 117649 strategy combination topologies that can be enumerated along with
an identical number of associated game networks.7 It is well within the ability of
the framework we have created and todays computers to extract the maximal
cycle lengths and the scores for each of these game networks.
I can create a random payo array and then create adjacency list representations for each possible strategy topology. I can then invoke a command that
creates a losslessly compressed representation of the game network for all pairs
of strategy topologies. On a 2006 Macbook Pro, the computation for all game
networks of n = 2, s = 3 takes about 30 minutes and produces an expression consuming ve megabytes. (Mathematica permits a monitor to be attached
6
Legal rules often change payo arrays in just the fashion shown here by requiring one
player in a "game" to pay another player in a "game" if certain strategy combinations
are employed.[5] Total payos are generally conserved within a strategy combination,
unless there are transaction costs or payos to nonparties, in which event the total
payo can diminish.
If there were three players and each player had four strategies, there would be
129746337890625 game networks to be considered, which shows a limitation of a
"brute force" approach on contemporary computers.
176
S.J. Chandler
to the computation to watch its progress and the data can be stored for later
examination.)
With this listing of all possible networks and a decompression algorithm, I
can then compute the lengths of each maximal cycle for each of the 3432 game
networks. It ends up being most common for game networks to have the potential to cycle through at most three strategy combinations before returning
to a previously played strategy combination. Maximal cycles of 7, 8 and even
9 strategy combinations prove possible, however. Indeed, we can focus on the
smaller number of game networks that show complex dynamics with long cycles in which, depending on the sequence of player moves, there is at least the
potential for many strategy combinations to be pursued before returning to a
previously played combination.
Alternatively, I can take the game networks and compute a mapping between
pairs of strategy topologies and the scores for each player. This computation takes
only 10 minutes, much of which is spent in decompressing the game networks.
One can do several things at this point. One can examine which strategy
topology tends to have the highest average score for a particular payo array.
Figure 4 shows the results of this experiment. It shows that both players tend to
do best when they have signicant choices available to them regardless of their
current strategy choice. "Precommitment strategies," which attempt to restrict
strategy selections, tend not to do well when one does not know the strategy
topology of the opposing player.
Player 1
Player 2
One can also examine the character of any pure traditional Nash equilibrium
for the "metagame" created by this process in which the "strategies" are now
strategy topologies and the payos are the "scores." When one runs this experiment on the sample game shown above, one nds that there are eight Nash
Equilibria.8 Figure 5 shows a sample Nash equilibrium.9
8
All the equilibria have the following characteristics: the second player always chooses
strategy topologies in which it must move to strategy 1 no matter what strategy it
has played before; the rst player never permits a move to strategy 3 no matter what
player 1 does and no matter what it has done on any prior move.
One could create meta  metagames by imagining that the players can not only alter
their strategy topologies but also their ability to transition from among strategy
topologies. Because this would create over 5.7 1070831 possible game networks,
however, any exhaustive study of the possibilities is, for the forseeable future, impractical.
0.214
0.727
0.766
0.27
0.848
0.56
0.74
0.026
0.575
0.889
0.019
0.938
0.46
0.049
0.051
0.653
0.724
1
1, 3
1, 1
1
2
2, 1
2, 2
3, 3
2
1
1 2
2
1, 2
2, 3
2
3
177
3, 1
2
1
3, 2
Fig. 5. A sample Nash Equilibrium set of strategy topologies and the associated game
network
Conclusion
Mathematica successfully creates a useful and exible framework for the study
of nplayer Restricted NonCooperative Games in which the players have potentially dierent strategy topologies. The paper does not purport to study this
extension of game theory exhaustively. The intent is to develop a general set of
tools from which further study can be protably pursued.
Acknowledgments. The author thanks Jason Cawley of Wolfram Research,
Professor Darren Bush of the University of Houston Law Center and Professor
Steven Brams of New York University for extraordinarily helpful comments on
a draft of this paper, as well as Yifan Hu of Wolfram Research for designing
Mathematicas GraphPlot package used extensively here.
References
1. Gintis, H.: Game theory evolving a problemcentered introduction to modeling
strategic behavior. Princeton University Press, Princeton, N.J. (2000)
2. Brams, S.J.: Theory of moves. Cambridge University Press, Cambridge [England] ;
New York, NY, USA (1994)
3. Chandler, S.J.: Foggy game theory and the structure of legal rules. In: Tazawa, Y.
(ed.): Symbolic Computations: New Horizons. Tokyo Denki University Press, Tokyo
(2001) 3146
4. Dixit, A.K.: Strategic Behavior in Contests. American Economic Review 77 5 (1987)
891898
5. Baird, D.G., Gertner, R.H., Picker, R.C.: Game theory and the law. Harvard University Press, Cambridge, Mass. (1994)
6. Wolfram, S.: A new kind of science. Wolfram Media, Champaign, IL (2002)
Abstract. We have found a new application of Computer Algebra System (CAS), KETpic which has been developed as a macro package for
a CAS. One of aspects in its philosophy is CASaided visualization in
LATEX documents. We aim to extend KETpic to other CASs, and derive
necessary conditions from the basic idea for CASs to accept it, i.e., I/O
functions with external les and manipulating numerical or string data.
Finally, we describe KETpic for Maple as a successful example. By using
KETpic we can draw ne pictures in LATEX documents.
Keywords: CAS, LATEX.
Introduction
In many cases, mathematicians or mathematics teachers, as well as other scientists, need to prepare good illustrations or educational materials. In general, CAS
gives us a set of highly accurate numerical data. Therefore, it is quite natural
to utilize CAS for the purpose of creating ne pictures. CASs support beautiful
and impressive graphics and some of them can output the picture in graphical
formats (EPS, JPEG, GIF, BMP, etc). However, the authors have not been satised with printed matters obtained as a direct output from CASs, as well as
from CADs (Computer Aided Design) or from data/functionplotting programs,
like Gnuplot. The reason is that mathematical lettering in their pictures is not
clear. We need to optimize their outputs so as to be available for mathematical
textbooks or academic papers.
On the other hand, LATEX has a quality in lettering high enough to satisfy
us suciently but no abilities of symbolic or numerical computation (see [5]).
It has the picture environment or ability of displaying graphical data les in
EPS format. By using Tpic, a graphical extension of LATEX, we can draw various
pictures based on 2D numerical data (see [2,4]). However, it is cumbersome to
handle numerical data directly and to generate tpic special commands. It is better to write a program generating tpic special commands from numerical plotting
data. The program will be another individual software or a macro package for
a CAS.
The authors have developed KETpic for Maple, a Maple macro package. It
generates tpic special commands, and enables us to draw complicated but 2D
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 178185, 2007.
c SpringerVerlag Berlin Heidelberg 2007
179
mathematical objects in LATEX documents at the highest accuracy. Detailed description of KETpic for Maple is given in [7]. Recently we organized a project
in which we aim to extend KETpic to other CASs. We consider necessary conditions for CASs to accept KETpic. Philosophy of designing KETpic includes a
basic idea, CASaided visualization in LATEX documents which we call CASaided
LATEX plottings. The requirements will be naturally derived from the basic idea.
Section 2 is devoted to construction of necessary conditions for a CAS to
generate graphic les which we can include in LATEX documents. In section 3, we
show that Maple satises the requirements, describe how KETpic realizes the
idea, and illustrate its outputs.
180
M. Sekiguchi et al.
3
3.1
181
> g1:=plot(sin(x),x=0..5);
g1:=PLOT(CURVES([[0.,0.],...
...,[5.,0.958924274663138453]],COLOUR(RGB,1.0,0.,0.)),...))
This operation satises the condition R3. This internal expression can be constructed through DOloop operations and string manipulation. Maple command
op returns nth operand of its argument.
> op(g1);
CURVES(...),COLOUR(...),AXESLABELS(...),VIEW(...)
> op(3,g1);
AXESLABELS(...)
> op(1,op(1,g1))
[[0.,0.],...,[5.,0.958924274663138453]]
> op(1,op(1,op(1,g1)))
[0.,0.]
Maple commands sscanf and convert can translate characters into numerical
data, and vice versa. Other commands cat, substring, and length can be used
for string manipulations, concatenating, and so on. One of drawing commands
of KETpic is drwline. The usage is as follows.
> drwline(g1):
This command returns a set of tpic special codes as follows.
> drwline(g1);
\special{pa 0 0}\special{pa 43 43}...\special{pa 164 160}%
...
\special{pa 1844 394}...\special{pa 1969 378}%
\special{fp}%
%
Commands for hatching area, drawing dashed curves, and customizing graph
accessories are as follows.
>
>
>
>
>
>
setax("","\\xi","","\\eta","","",""):
g2:=plot(cos(x),x=0..5):
g3:=hatchdata(["ii"],[3,0],[g1,"s"],[g2,"n"]):
drwline(g3):
dashline(g1,g2):
expr([2,1],"ne","\\displaystyle
\\int_{\\pi/4}^{5\\pi/4}(\\sin\\xi\\cos\\xi)d\\xi"):
Double backslash \\ returns single backslash because single backslash is a control code in Maple. The rst command setax denes axes, the origin, and their
names. In this case, the name of the horizontal axis is , and the vertical one
. The command hatchdata returns a set of stripes inside a closed curve obtained
182
M. Sekiguchi et al.
from g1 and g2. Its third argument [g1,"s"] indicates a region in the south of
curve g1. Similarly the forth argument [g2,"n"] indicates a region. The rst
argument ["ii"] indicates inside areas of them. The second argument [3,0]
denes a reference point. The command dashline(g1,g2) returns plotting data
5/4
of g1 and g2 with dashed lines. The last command line puts a legend /4 (sin
cos )d at a point whose position is slightly dierent from (2, 1) to the northeast. The resulting gure is given in Fig. 1.
5/4
/4
(sin cos )d
O
1
Fig. 1. Output of 3.1
3.2
Using Maple, we can call special functions, calculate values of them, and plot
graphs. The Chisquare distribution is dened by the gamma function (x) as
follows.
x 2 1 e 2
.
n
2 2 ( n2 )
n
fn (x) =
(1)
20 0
20
183
> f:=(n,x)>x^{n/21}*exp(x/2)/2^{n/2}/GAMMA(n/2);
> tmp:=[]:
for i from 1 to 9 do
tmp:=[op(tmp),plot(f(i,x),x=0..20)]:
od:
g4:=display(tmp):
The internal expression of g4 is
plot(CURVES(...),CURVES(...),...,CURVES(...))
One can nd a denition of the Chisquare distribution in the rst line. This is
an advantage of CAS. Another advantage is an iterative operation which one can
nd in the last three lines. To dene a function, one can use an integral form.
The following function is a denite integral of the Chisquare distribution (see
Fig. 2 (right)).
x
Fn (x) =
fn (t) dt.
(2)
Using Maple, we can draw a curve dened by implicit functions. In general, contours are obtained by the same way. Fig. 3 (left) shows contours of the following
Coulomb potential,
1
1
(x, y) =
+
,
2
2
(x + 1) + y
(x 1)2 + y 2
(3)
where two electric charges place on (1, 0). The corresponding sequence of KETpic commands are given below.
> g6:=contourplot(((x+1)^2+y^2)^(1/2)+((x1)^2+y^2)^(1/2),
x=XMIN..XMAX,y=YMIN..YMAX,grid=[100,100],
contours=[3,2,1.5,1.2,0.95]):
There are no technical diculties in this case. As well, it is not dicult to plot
parametric curves. Conformal mappings of complex functions consist of a set of
parametric curves. Fig. 3 (right) shows a conformal mapping of the following
complex function.
1
g(z) = .
(4)
z
184
M. Sekiguchi et al.
In this case, we emphasize its dierent images of Re(z) and Im(z). The images
of Im(z) in Fig. 3 (right) are plotted in bold curves. We explain the technique
briey. The corresponding sequence of KETpic commands are given below.
> g7:=conformal(1/z,z=1I..1+I):
> g8:=[]:
for i from 1 to 11 do
g8:=[op(g8),op(i,g7)]:
od:
> g9:=[]:
for i from 12 to 22 do
g9:=[op(g9),op(i,g7)]:
od:
The rst line simply gives plotting data to a variable g7. The second argument in conformal, z=1I..1+I, indicates a range of z, i.e., Re(z) 1 and
Im(z) 1. The value of g7 consists of 11 (default) curves of g(Im(z)) and 11
ones of g(Re(z)) in this order. The second (resp. third) line collects the rst
(resp. remaining) 11 curves and saves them in a variable g8 (resp. g9). We obtain Fig. 3 (right) by writing g8 with the doubled width and g9 with the default
width in a text le. The corresponding KETpic commands are as follows.
> drwline(g8,2):
> drwline(g9):
The option, 2 after g8 in the rst command, implies multiplier of the line
width.
(z)
2
1
1
(z)
2
1
2
Fig. 3. Contours of a Coulomb potential in (3) (left) and a conformal mapping of a
complex function in (4) (right)
185
References
1. Char, B.W. and Geddes, K.O., et al: Maple V Library Reference Manual, (1991),
SpringerVerlag.
2. Goossens, M., Rahtz, S. and Mittelbach, F.: The LATEX Graphics Companion,
(1997), AddisonWesley.
3. Heal, K.M., Hansen, M.L. and Rickard, K.M.: Maple V Learning Guide, (1996),
SpringerVerlag.
4. Kwok, K.: EEPIC: Extensions to epic and LATEX Picture Environment Version 1.1,
1988, http://www.ntg.nl/doc/kwok/eepic.pdf
5. Mittelbach, F. and Goossens, M., et al: The LATEX Companion, (2004), AddisonWesley.
6. Sekiguchi, M.: http://www.kisarazu.ac.jp/~masa/math/
7. Sekiguchi, M., Yamashita, S. and Takato, S.: Development of a Maple Macro Package Suitable for Drawing Fine TEXPictures, (2006), Lecture Notes in Computer
Science 4151 (eds. A. Iglesias & N. Takayama), pp.2434, SpringerVerlag.
Introduction
Design of a RDB system consists of four main phases, namely, (i) determination
of user requirements, (ii) conceptual design, (ii) logical design, and nally, (iv)
physical design [2]. During the conceptual design phase, set of business rules is
transformed into a set of entities with a set attributes and relationships among
them. Extended Entity Relationship (EER) modeling tool can be utilized for the
graphical representation of this transformation. The entity set in the EER model
is then mapped into a set of relation schemas {R1 , R2 , R3 , ..., Rn } where each Ri
represents one of the relations of the DB schema. A temporary primary key is
designated, and a set of functional dependencies (FDs) among the attributes of
each schema are established as an outcome of this phase.
As a side product of the logical design phase, each Ri is transformed into
wellformed groupings such that one fact in one group is connected to other
facts in other groups through relationships [3]. The ultimate aim of this article is
to perform this rather mechanical transformation process, called normalization,
eciently in an automatic fashion.
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 186193, 2007.
c SpringerVerlag Berlin Heidelberg 2007
187
A functional dependency (FD) is a constraint about sets of attributes of a relation Ri in the DB schema. A FD between two sets of attributes X and Y,
denoted by, X Y species that there exists at most one value of Y for every
value of X (determinant)[2,10,11]. In this case, one asserts that X determines Y
or Y is functionally dependent on X.
For example, for a DB schema PURCHASEITEM = {orderNo, partNo,
partDescription, quantity, price}, with P K = {orderNo, partNo}, using a set of
business rule one can speciy the following FDs:
F D1 : {orderNo, partNo} {partDescription, quantity, price}
F D2 : partNo partDescription
For a given schema, other FDs among the attributes can be inferred from the
Armstrongs inference rules [2]. Alternatively, for an attribute set X, one can
188
189
3
3.1
Mathematica Implementation
BCNF with Mathematica
In Fig.1, a use case diagram is given to demonstrate the functions and modules
used in the tool.
Tasks in Fig.1 are eectively implemented as Mathematica modules by utilizing only the Mathematicas list structure and the wellknown set operations
[8]. These operations are U nion[], Complement[], Intersection[], M emberQ[],
Extract[], Append[], Length[], and Sort[].
A FD set F of a schema is represented by two lists, one for the left hand
sides (FL), and the other for the right hand sides of F (FR). Obviously, the
order of attributes in such a list is important and should be maintained by care
throughout the normalization process.
For the example above, the FD set is represented in Mathematica as follows:
F L = {{orderNo, partNo}, {orderNo, partNo},{orderNo, partNo},partNo}
F R = {partDescription, quantity, price, partDescription}
Accordingly, F L[[i]] F R[[i]], for i = 1, 2, 3, 4 as specied by the FD set F.
As an illustration, the Mathematica code for the BCNF algorithm is given
below. Given a FD set and a 3NF relation R, BCNF algorithm rst looks for a
BCNF violation using the function violatesBCNF. When found, it returns in Q
two sub relations satisfying the BCNF constraint.
BCNF[FL_, FR_, R_] := Module[{i, X, D, Q, DIF, REL}, D = R; Q = {};
For[i = 1, i <= Length[FL], i++,
If[Length[FL[[i]]] > 1, X = Sort[FL[[i]]], X = {FL[[i]]}];
flag = violatesBCNF[FL, FR, X, FR[[i]], U];
190
uses
2NF
FullClosureX
*
*
ClosureX
IsItaKey
*
*
*
uses
uses
*
*
** *
* *
uses
uses
uses
Minimal Cover
*
uses
3NF
*
Elim. Red. Deps.
uses
BCNF
violatesBCNF
191
192
Several benchmark tests found in the literature are successfully applied with
varying number of FDs having dierent initial normal forms. Normalization
algorithms used in the tool possess at most quadratic time complexity providing
in the number of FDs and are computationally eective.
JMathNorm was also used in a classroom environment during a Database Systems course oered to about 25 third year computer engineering majors during
the Spring semester of 200607 academic year. Students are requested to form
project teams and design a medium size database system involving 810 relations. During the design process, they ended up with normalizing the relational
schema. Students usually preferred using JMathNorm to support or validate the
normalization process. It was reported that each team used JMathNorm on average of four times. In addition to the use in the project, students utilized the
tool to understand the normalization process and the underlying theory based
on the set theoretic operations discussed earlier.
193
In the course evaluation forms, majority of the students have indicated that
the tool was quite useful to check their manual work in studying the normalization algorithms and to normalize schemas for the database design project of the
course.
Modules of JMathNorm was written in Mathematica utilizing only basic
list/set operations as the fundamental data structure. These operations empowered by the symbolic nature of Mathematica resulted in an eective normalization tool. Currently, it does not have the ability to create SQL statements for
the normalized schema. A table creation facility geared towards a specic DBMS
is to be included to JMathNorm.
References
1. Yazici, A. and Karakaya, Z.: Normalizing Relational Database Schemas Using
Mathematica, LNCS, SpringerVerlag, Vol.3992 (2006) 375382.
2. Elmasri, R. and Navathe, S.B.: Fundamentals of Database Systems, 5th Ed., Addison Wesley (2007).
3. Kung, H. and Case, T.: Traditional and Alternative Database Normalization Techniques: Their Impacts on IS/IT Students Perceptions and Performance, International Journal of Information Technology Education, Vol.1, No.1 (2004) 5376.
4. Ceri, S. and Gottlob, G.: Normalization of Relations and Prolog, Communications
of the ACM, Vol.29, No.6 (1986)
5. Welzer, W., Rozman, I. and Gyrks, J.G.: Automated Normalization Tool, Microprocessing and Microprogramming, Vol.25 (1989) 375380.
6. Akehurst, D.H., Bordbar, B., Rodgers, P.J., and Dalgliesh, N.T.G.: Automatic
Normalization via Metamodelling, Proc. of the ASE 2002 Workshop on Declarative
Meta Programming to Support Software Development (2002)
7. Kung, HJ. and Tung, HL.: A Webbased Tool to Enhance Teaching/Learning
Database Normalization, Proc. of the 2006 Southern Association for Information
Systems Conference (2006) 251258.
8. Wolfram, S.: The Mathematica Book, 4th Ed., Cambridge University Press (1999).
9. Du, H. and Wery, L.: Micro: A Normalization Tool for Relational Database Designers, Journal of Network and Computer Applications, Vol.22 (1999) 215232.
10. Manning, M.V.: Database Design, Application Development and Administration,
2nd. Ed., McGrawHill (2004).
11. Diederich, J. and Milton, J.: New Methods and Fast Algorithms for Database
Normalization, ACM Trans. on Database Systems, Vol.13, No.3(1988) 339365.
12. Ozharahan, E.: Database Management: Concepts, Design and Practice, Prentice
Hall (1990).
13. Bernstein, P.A.: Synthesizing Third Norm Relations from Functional Dependencies,
ACM Trans. on Database Systems, Vol.1, No.4 (1976) 277298.
Abstract. Bspline curves and surfaces are the most common and most
important geometric entities in many elds, such as computer design and
manufacturing (CAD/CAM) and computer graphics. However, up to our
knowledge no computer algebra package includes especialized symbolic
routines for dealing with Bsplines so far. In this paper, we describe a
new Mathematica program to compute the Bspline basis functions symbolically. The performance of the code along with the description of the
main commands are discussed by using some illustrative examples.
Introduction
Bspline curves and surfaces are the most common and most important geometric
entities in many elds, such as computer design and manufacturing (CAD/CAM)
and computer graphics. In fact, they become the standard for computer representation, design and data exchange of geometric information in the automotive,
aerospace and shipbuilding industries [1]. In addition, they are very intuitive,
easy to modify and manipulate  thus allowing the designers to modify the shape
interactively. Moreover, the algorithms involved are quite fast and numerically
stable and, therefore, well suited for realtime applications in a variety of elds,
such as CAD/CAM [1,7], computer graphics and animation, geometric processing [5], articial intelligence [2,3] and many others.
Although there is a wealth of powerful algorithms for Bsplines (see, for instance, [6]), they usually perform in a numerical way. Surpringly, although there
is a large collection of very powerful generalpurpose computer algebra systems,
none of them includes specic commands or specialized routines for dealing with
Bsplines symbolically. The present work is aimed at bridging this gap. This paper
describes a new Mathematica program for computing Bspline basis functions in
a fully symbolic way. Because these basis functions are at the core of almost any
algorithm for Bspline curves and surfaces, their ecient manipulation is a critical
step we have accomplished in this paper. The program is also able to deal with
Bspline curves and surfaces. However, this paper focuses on the computation of
Bspline basis functions because of limitations of space. The program has been
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 194202, 2007.
c SpringerVerlag Berlin Heidelberg 2007
195
implemented in Mathematica v4.2 [8] although later releases are also supported.
The program provides the user with a highly intuitive, mathematicallooking
output consistent with Mathematicas notation and syntax [4].
The structure of this paper is as follows: Section 2 provides some mathematical background on Bspline basis functions. Then, Section 3 introduces the new
Mathematica program for computing them and describes the main commands
implemented within. The performance of the code is also discussed in this section
by using some illustrative examples.
Mathematical Preliminaries
t ui
ui+k t
Ni,k1 (t) +
Ni+1,k1 (t)
ui+k1 ui
ui+k ui+1
(2)
for k > 1. Note that ith Bspline basis function of order 1, Ni,1 (t), is a piecewise
constant function with value 1 on the interval [ui , ui+1 ), called the support of
Ni,1 (t), and zero elsewhere. This support can be either an interval or reduce to
a point, as knots ui and ui+1 must not necessarily be dierent. If necessary, the
0
convention = 0 in eq. (2) is applied. The number of times a knot appears in
0
the knot vector is called the multiplicity of the knot and has an important eect
on the shape and properties of the associated basis functions. Any basis function
of order k > 1, Ni,k (t), is a linear combination of two consecutive functions of
order k 1, where the coecients are linear polinomials in t, such that its order
(and hence its degree) increases by 1. Simultaneously, its support is the union of
the (partially overlapping) supports of the former basis functions of order k 1
and, consequently, it usually enlarges.
196
where the output consists of several couples (condition,value) that reproduce the
structure of the righthand side of eq. (1). The command Which evaluates those
conditions and returns the value associated with the rst condition yielding True.
Our command PiecewiseForm displays the same output with a more similar
appearance to eq. (1):
In[2]:=PiecewiseForm[%]
t < ui
0
Out[2] := 1
ui t < ui+1
0
t ui+1
This output shows the good performance of these commands to handle fully
symbolic input. Let us now consider a symbolic knot vector of length 4 such as:
In[3]:=Array[x,4]
Out[3] := {x(1), x(2), x(3), x(4)}
Now, we compute the basis functions up to order 3 for this knot vector as
follows:
In[4]:Table[Table[Ni,k[%,t] // PiecewiseForm,{i,0,3k}],{k,1,3}]
Out[4] :=
0
0
0
t < x(1)
t < x(1)
t < x(1)
0 x(1) t < x(2)
0 x(1) t < x(2)
0
x(2)
t
<
x(3)
1
x(2)
t
<
x(3)
0
x(2)
t
<
x(3)
,
,
,
0 x(3) t < x(4)
1 x(3) t < x(4)
0
t x(4)
0
t x(4)
0
t x(4)
0
t
<
x(1)
0
t
<
x(1)
tx(1)
0
x(1)
t
<
x(2)
x(1)
t
<
x(2)
x(1)+x(2)
tx(2)
tx(3)
x(2)
t
<
x(3)
,
,
x(2)+x(3)
x(2)
t
<
x(3)
x(2)x(3)
tx(4)
0
x(3) t < x(4)
0
t
x(4)
0
t
x(4)
0
t
<
x(1)
(tx(1))
x(1)
t
<
x(2)
(x(1)x(2)) (x(1)x(3))
(tx(1))
(tx(3))
(tx(2))
(t+x(4))
+
x(2)
t
<
x(3)
(x(1)x(3))
(x(2)+x(3))
(x(2)x(3))
(x(2)x(4))
(tx(4))
x(3)
t
<
x(4)
(x(2)+x(4))
(x(3)+x(4))
0
t x(4)
Note that, according to eq. (2), the ith basis function of order k is obtained
from the ith and (i + 1)th basis functions of order k 1. This means that
the number of basis functions decreases as the order increases and conversely.
Therefore, for the set of basis functions up to order 3 we compute the Ni,k , with
i = 0, . . . , 3 k for k = 1, 2, 3. The whole set exhibits a triangular structure of
embedded lists in Out[4] for each hierarchical level (i.e. for each order value).
The knot vectors can be classied into three groups. The rst one is the
uniform knot vector; in it, each knot appears only once and the distance between
197
Fig. 1. (topbottom, leftright) Bspline basis functions for the uniform knot vector
{1, 2, 3, 4, 5} and orders 1, 2, 3 and 4 respectively
:=
0
t<1
1 t < 2
0
1
2t<3
,
0
3 t < 4
4 t < 5
0
0
t5
0
t<1
1 t < 2
2t<3
0
,
3 t < 4
1
4 t < 5
0
t5
0
0
t<1
1 t < 2
2t<3
0
,
3 t < 4
0
4 t < 5
1
t5
0
t<1
1 t < 2
2t<3
3 t < 4
4 t < 5
t5
From (2) we can see that the basis functions of order 2 are linear combinations
of these step functions of order 1 (shown in Figure 1(topleft)). The coecients
of such a linear combination are linear polynomials as well, so the resulting basis
functions are actually piecewise linear functions (see Fig. 1(topright)):
In[6]:=Table[Ni,2[{1,2,3,4,5},t] //PiecewiseForm,{i,0,2}]
0
1 + t
3t
Out[6] :=
0
0
0
0
t<1
0
1 t < 2
2 + t
2t<3
,
4t
3 t < 4
4 t < 5
0
t5
0
0
t<1
0
1 t < 2
2t<3
0
,
3 t < 4
3 + t
5t
4 t < 5
t5
0
t<1
1 t < 2
2t<3
3 t < 4
4 t < 5
t5
Similarly, the basis functions of order 3 are linear combinations of the basis
functions of order 2 in Out[6] according to (2):
198
In[7]:=Table[Ni,3[{1,2,3,4,5},t] //PiecewiseForm,{i,0,1}]
0
t < 1
0 2
t<1
(1+t)
0
1 t < 2
1 t < 2
2
2
(2+t)
11 + 5 t t2 2 t < 3
t
<
3
2
2
2
Out[7] :=
,
23
2
(4t)
2 + 7tt 3 t < 4
3 t < 4
(5t)2
0
4
t
<
5
4
t
<
5
0
t5
0
t5
Note that we obtain two piecewise polynomial functions of degree 2 (i.e. order 3), displayed in Fig. 1(bottomleft), both having a similar shape but shifted
by length 1 with respect to each other. Finally, there is only one basis function of
order 4 for the given knot vector (the piecewise polynomial function of degree 3
in Fig. 1(bottomright)):
In[8]:=Ni,4[{1,2,3,4,5},t] //PiecewiseForm
0 3
t<1
(1+t)
1 t < 2
3145 t+21 t2 3 t3
t
<
3
6
Out[8] := 131+117 t33 t2 +3 t3
3 t < 4
(5+t)3
t
<
5
0
t5
One of the most exciting features of modern computer algebra packages is
their ability to integrate symbolic, numerical and graphical capabilities within
a unied framework. For example, we can easily display the basis functions of
Out[5]Out[8] on the interval (1, 5):
In[9]:=Plot[Table[Ni,#[{1,2,3,4,5},t],{i,0,4#}]
//Evaluate,{t,1,5},PlotStyle>Table[Hue[(i+1)/(5#)],
{i,0,4#}],DisplayFunction>Identity]& /@ Range[4];
In[10]:=Show[GraphicsArray[Partition[%,2],
DisplayFunction>$DisplayFunction]]
Out[10] := See F igure 1
A qualitatively dierent behavior is obtained when any of the knots appears
more than once (this case is usually referred to as nonuniform knot vector).
An example is given by the knot vector {0, 0, 1, 1, 2, 2, 2}. In this case, the basis
functions of order 1 are given by:
In[11]:=Table[Ni,1[{0,0,1,1,2,2,2},t] // PiecewiseForm,{i,0,5}]
0
t < 0 0
t < 0 0
t<0
0 0t<1
1 0t<1
0 0t<1
,
,
,
0
1
t
<
2
0
1
t
<
2
0
1
t
<
2
t 2 0
t2
0
t 2 0
Out[11] :=
0
t < 0 0
t < 0 0
t<0
0
0
t
<
1
0
0
t
<
1
0
0
t<1
,
,
1
1
t
<
2
0
1
t
<
2
0
1
t
<
2
0
t2
0
t2
0
t2
199
t<0 0
t<0
0
t < 0 0
0
0t<1
1t 0t<1
t 0t<1
,
,
,
t
1
t
<
2
0
1
t
<
2
0
1
t
<
2
0
t
2
0
t
2
0
t
Out[12] :=
0
t < 0 0
t<0
0
0
t
<
1
0
0
t
<
1
1
+
t
1
t
<
2
0
1
t
<
2
0
t2
0
t2
The basis functions of order 3 become:
In[13]:=Table[Ni,3[{0,0,1,1,2,2,2},t] // PiecewiseForm,{i,0,3}]
0
t<0
0
t<0
2t 2t2 0 t < 1
t2
0t<1
,
,
2
0
1
t
<
2
(2
+
t)
1
t
<
2
0
t
2
0
t
Out[13] :=
0
t<0
0
t < 0
0
0
t
<
1
0
0
t<1
2
2
4
+
6t
2t
1
t
<
2
(1
+
t)
1
t
<
2
0
t2
0
t2
Multiple knots do inuence the shape and properties of basis functions; for
instance, each time a knot is repeated, the continuity of the basis functions whose
support includes this multiple knot decreases. In particular, the continuity of
Ni,k at an interior knot is C km1 [6], m being the multiplicity of the knot. To
illustrate this fact, we compute the unique basis function of order 6:
In[14]:=(f6=N0,6[{0,0,1,1,2,2,2},t]) // PiecewiseForm
0
t<0
1
4
(10 7t)t
0t<1
8
Out[14] :=
0
t2
As we can see, m = 2 for the knot t = 1 and hence N0,6 is C 3 continuous at
this point. This implies that its third derivative, given by:
In[15]:=(f63=D[f6,{t,3}])//Simplify //PiecewiseForm
15
(4 7t)t
0 t < 1
2
Out[15] :=
15
23t2 68t + 48 1 t < 2
2
200
Fig. 3. Bspline curve and its control polygon (the set of segments connecting the control
points) for: (left) a nonperiodic knot vector; (right) a uniform knot vector
is still continuous but no longer smooth (the continuity of tangent vectors is lost
at this point). Figure 2 displays both the basis function of order 6 (on the left)
and its third derivative (on the right):
In[16]:=Plot[#,{t,0,2},PlotStyle>{RGBColor[1,0,0]},
PlotRange>All]& /@ {f6,f63}
Out[16] := See F igure 2
The most common case of nonuniform knot vectors consists of repeating the
end knots as many times as the order while interior knots appear only once
(such a knot vector is called nonperiodic knot vector). In general, a Bspline
curve does not interpolate any of the control points; interpolation only occurs
for nonperiodic knot vectors (the Bspline curve does interpolate the end control
points) [6,7]. To illustrate this property, we consider the BSplineCurve command
(whose input consists of the list of control points pts, the order k, the knot vector
knots and the variable var), dened as:
In[17]:=BSplineCurve[pts List,k ,knots List,var ]:=
Module[{bs,n=Length[pts]},bs=Table[Ni,k[knots,var],{i,0,n1}];
bs.pts // Simplify];
For instance, let us consider a set of 2D control points and two dierent knot
vectors (a nonperiodic vector kv1 and a uniform knot vector kv2) and compute
the Bspline curve of order 3:
201
In[18]:=cp={{0,0},{2,1},{4,9},{6,10},{8,5}};
In[19]:={kv1,kv2}={{0,0,0,1,2,3,3,3},{1,2,3,4,5,6,7,8}};
In[20]:=BSplineCurve[cp,3,#,t]& /@ {kv1,kv2};
In[21]:=MapThread[Show[Graphics[{RGBColor[1,0,0],Line[pts]}],
ParametricPlot[#1 //Evaluate,#2,PlotRange>All,
PlotStyle>RGBColor[0,0,1],DisplayFunction>Identity],
PlotRange>All,Frame>True,
DisplayFunction>$DisplayFunction]&,{%,{{t,0,3},{t,3,6}}}];
In[22]:=Show[GraphicsArray[%]]
Out[22] := See F igure 3
The curve interpolates the end control points in the rst case, while no control
points are interpolated in the second case at all. For graphical purposes, the
rk
support of the Bspline curves restrict to the points such that
Ni,k (t) = 1.
i=0
The next input computes the graphical support for the curves in Fig. 3:
In[23]:=
1
Out[23] :=
1
i=0
1
2
(t
2 2 1)
t<0
1
t + 6t 7
0 t < 1
1
1t<2 ,
1
2 t < 3
t3
t2
+
6t 17
2
1
(t
8)2
2
t < 1
1 t < 2
2 t < 3
3t<4
4 t < 5
5 t < 6
6 t < 7
7t<8
This result makes evident that the Bspline curves in Fig. 3 must be displayed
on the intervals (0, 3) and (3, 6) respectively (see the last line of In[21]).
Acknowledgements. This research has been supported by the Spanish Ministry of Education and Science, Project Ref. #TIN200613615.
References
1. Choi, B.K., Jerard, R.B: Sculptured Surface Machining. Theory and Applications.
Kluwer Academic Publishers, Dordrecht/Boston/London (1998)
2. Echevarra, G., Iglesias, A., G
alvez, A.: Extending neural networks for Bspline
surface reconstruction. Lectures Notes in Computer Science, 2330 (2002) 305314
3. Iglesias, A., Echevarra, G., G
alvez, A.: Functional networks for Bspline surface
reconstruction. Future Generation Computer Systems, 20(8), (2004) 13371353
4. Maeder, R.: Programming in Mathematica, Second Edition, AddisonWesley, Redwood City, CA (1991)
5. Patrikalakis, N.M., Maekawa, T.: Shape Interrogation for Computer Aided Design
and Manufacturing. Springer Verlag (2002)
202
6. Piegl, L., Tiller, W.: The NURBS Book (Second Edition). Springer Verlag, Berlin
Heidelberg (1997)
7. Rogers, D.F.: An Introduction to NURBS. With Historical Perspective. Morgan
Kaufmann, San Francisco (2001)
8. Wolfram, S.: The Mathematica Book, Fourth Edition, Wolfram Media, Champaign,
IL & Cambridge University Press, Cambridge (1999)
It is a farfetched concept to think about a transient electrical circuit and incorporate its characteristics to a discrete and abstract geometrical problem. The
authors have even taken the initiative one step further, relating these two basic concepts to the kinematics of mechanics. In other words, this article shows
how these three discrete concepts are brought together and molded into one
coherent and unique project. To accomplish this, one needs to think creatively,
Mathematica is the tool of choice helping to explore the possibilities. This article
including the Introduction is composed of eight sections. In Section 2, we apply
Mathematica to evaluate the overlapping area of the two rotating squares about
their common vertical axis. In section 3 we incorporate the rotational kinematics
and consider two dierent scenarios: 1) a symmetrical, uniform rotation; and 2)
an asymmetrical, accelerated rotation.
In Section 47, we view the overlapping squares as being two parallel metallic
plates that are separated by a gap forming a parallelplate capacitor. Since the
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 203210, 2007.
c SpringerVerlag Berlin Heidelberg 2007
204
area of the overlapping plates evaluates the capacitance of the capacitor, the rotating plates make the capacitor a variable one. Technical literature particularly
Mathematicabased articles and reports lack one such view. It is the ultimate
objective of this project to analyze the response of the electrical circuits to the
kinematics of the rotating plates.
Specically, in this article, we address the modications of the basic responses
of the electrical circuits composed of a resistor connected in a series with our
designed, timedependent capacitor. In particular, we analyze the characteristics
of the RC circuits driven with DC as well as AC sources. In conjunction with
our analysis, in section 8 we close the article suggesting a few related research
avored circuit analysis projects.
Analysis
Figure 1 shows two identical overlapping squares. The bottom square designated
with nonprime vertices is fastened to the xy coordinate system. The top square,
designated with prime vertices is rotated counter clockwise about the common
vertical axis through the common origin O by an angle . The squares have the
side length of L and the rotation angle is the angle between the semi diagonals
OP 1 and OP 1 .
To evaluate the overlapping area of these two squares we evaluate the area
of trapezoid oabco; the overlapping area then equals four times the latter. The
intersecting points of the rotated sides of the top square with the sides of the
bottom one are labeled a, b, and c. Utilizing the coordinates of these points,
the area of the trapezoid is the sum of the areas of two triangles abc, and oac.
y
p1
b p1
p2
p2
45
a
x
O
p4
p4
p3
p3
Fig. 1. Display of two rotated squares. The bottom square is fastened to the xy coordinate system, the top square is rotated counter clockwise by radian.
205
1+tan 2
L
L
tan
,
.
2
2
2
To evaluate the areas of the needed triangles, we convert the above coordinates
into Mathematica code. The inserted 1s in the thirdposition of
the
coordinates
L L
are for further
calculations.
o
=
{0,
0,
1},a[L
,
]
=
,
tan
2 2
2 , 1 ,b[L , ] =
L 1tan 2 L
, 2 , 1 , c[L , ] =
L2 tan 2 , L2 , 1 . We dene two auxiliary
2
1+tan
normalized area
1
0.8
0.6
0.4
0.2
3 5 3 7 ,rad
16 8 16 4
16 8 16 2
Fig. 2. The normalized values of the overlapping area of the squares as a function of
the rotation angle
In this section we extend the analysis of Section 2. Here, instead of viewing the
rotation as being a discrete and purely geometrical concept, we view it as a
kinematic process. We set the rotation angle = t; that is, we introduce the
continuous time parameter t. For = 2
T with the period T = 4s, we explore
206
rad
2 in one second yields = s2 . The corresponding normalized overlapping
areas are displayed in Fig 3.
Show[GraphicsArray[{U nif ormRotation,
AcceleratedRotation}], DisplayF uncton DisplayF unction].
area
1
area
1
0.8
0.8
0.6
0.6
0.4
0.4
0.2
0.2
1 1 3 1 5 3 7
8 4 8 2 8 4 8
t,s
1 1 3 1 5 3 7
8 4 8 2 8 4 8
t,s
Fig. 3. The graphs are the normalized values of the overlapping areas for: a: a uniform
rotation with = 2 rad/s, (the left graph) and b: a uniform angular acceleration with
= rad
(the right graph)
s2
Electrical Networks
Fig. 4. The schematics of a DC driven RC circuit. Throwing the DPDT switch onto
as charges the capacitor, while throwing the switch onto bs discharges the charged
capacitor.
207
For the charging process we apply Kirchho circuit law [2], this gives
dQ 1 A0
1
+
Q(t) = 0,
(1)
dt
A(t)
Charging
0.20.40.60.8 1 t,sec
Q Discharging
1
0.8
0.6
0.4
0.2
1 1 3 1 5 3 7 1
8 4 8 2 8 4 8
area
1
0.8
0.6
0.4
0.2
t,sec
1 1 3 1 5 3 7 1
8 4 8 2 8 4 8
t,s
Fig. 5. Display of charging, discharging and the overlapping area of the uniformly
rotating plates. For the rst two graphs from left to right, the outer and the inner
curves/dots represent the constant and timedependent capacitors, respectively. The
far right graph is borrowed from Fig 3.
208
capacitor is more pronounced for the former. Moreover, for the chosen timeconstant = 16 s, although the constant capacitor reaches its plateau within one
second, it appears the variable capacitor requires a longer time span.
One may comfortably also apply the analysis of Section IIa to generate the
characteristic curves associated with the uniformly accelerated rotating plates.
The Mathematica codes may easily be modied to yield the needed information.
The codes along with the associated graphic outputs are
Q
1
0.8
0.6
0.4
0.2
Q Discharging
1
0.8
0.6
0.4
0.2
Charging
1 1 3 1 5 3 7 1
8 4 8 2 8 4 8
t,sec
1 1 3 1 5 3 7 1
8 4 8 2 8 4 8
area
1
0.8
0.6
0.4
0.2
t,sec
1 1 3 1 5 3 7 1
8 4 8 2 8 4 8
t,s
Fig. 6. Display of charging, discharging and the overlapping area of the uniformly
accelerated rotating plates. The graph codes are the same as Fig 5. The far right graph
is borrowed from Fig 3.
To form an opinion about the characteristics of the charging curve for the
variable capacitor, one needs to view it together with the far right graph. The
rotating plates in this case are accelerated, illustrating that for identical time
intervals, the overlapping area at the beginning is greater than the overlapping
area at the end of the interval. The eects of the asymmetrical rotation are most
clearly visible at the tail of the curve. Similar to the uniform rotation (see the
second plot of Fig 5) the impact of the nonuniform rotation for the discharge
circuit is negligible.
(2)
209
In this equation f is the frequency of the signal and the voltage amplitude is
set to one volt.
Equation (1) is a nontrivial, nonlinear dierential equation. To solve the
eq(2), we apply NDSolve along with the corresponding initial condition. The
response of the circuit is compared to the equivalent circuit with a constant
capacitor.
AC Driver
0.8
0.6
0.4
0.2
0.2
0.4
0.6
0.8
t,sec
Fig. 7. Plot of the charge vs. time. The outer, inner and the dashed curves are the
capacitors charge for the constant and the timedependent capacitors for uniform and
accelerated rotations, respectively.
Utilizing the Mathematica code, one may analyze the frequency sensitivity of
the circuit. As the result of one such analysis, we observe that the dierences
between these characteristics are pronounced, provided the frequencies are set
to less than 1 hz.
Conclusions
210
References
1. S. Wolfram, The Mathematica Book, 5th Ed., Cambridge University Publication,
2003.
2. D. Halliday, R. Resnick, and J. Walker, Fundamentals of Physics, 7th Ed, New York:
John Wiley and Sons, 2005.
Introduction
The analysis of chaotic dynamical systems is one of the most challenging tasks
in computational science. Because these systems are essentially nonlinear, their
behavior is much more complicated than that of linear systems. In fact, even
the simplest chaotic systems exhibit a bulk of dierent behaviors that can only
be fully analyzed with the help of powerful hardware and software resources.
This challenging issue has motivated an intensive development of programs and
packages aimed at analyzing the range of dierent phenomena associated with
the chaotic systems.
Among these programs and packages, those based on computer algebra systems ( CAS) are receiving increasing attention during the last few years. Recent
examples can be found, for instance, in [2,3,5] for Matlab, in [4,7,9,10,11,12,16]
for Mathematica and in [17] for Maple, to mention just a few examples. In addition to their outstanding symbolic features, the CAS also include optimized
numerical routines, nice graphical capabilities and  in a few cases such as in
Matlab  the possibility to generate appealing GUIs (Graphical User Interfaces).
In this paper, the abovementioned features have been successfully applied to
generate a new numericalsymbolic Matlab program for the analysis of threedimensional chaotic systems. The program provides the users with a GUI that
allows us to analyze any continuous threedimensional system with a minimal input (the symbolic ordinary dierential equations of the system along with some
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 211218, 2007.
c SpringerVerlag Berlin Heidelberg 2007
212
A. G
alvez
213
rendering purposes. The numerical kernel has been implemented in the native
Matlab programming language, and the symbolic kernel has been created by
using the commands of the Symbolic Math Toolbox.
In this section we show some applications of the program through some illustrative examples.
3.1
This example is aimed at showing the numerical and graphical features of the
program. Figure 1 shows a screenshot of a typical session for visualization of
chaotic attractors. The dierent windows involved in this task have been numbered for the sake of clarity: #1 indicates the main window of the program, from
where the other windows will show up when invoked. The workow is as follows:
rstly, the user inputs the system equations (upper part of window #1), which
are expressed symbolically. At this stage, only continuous threedimensional
ows  described by a system of ordinary dierential equations (EDOs)  are
considered. For instance, in Fig. 1 we consider Chuas circuit, given by:
x = [y x f (x)]
y = x y + z
,
(1)
z = y
where
1
f (x) = bx + (a b) [x + 1 x 1]
(2)
2
is the 3segment piecewiselinear characteristic of the nonlinear resistor (Chuas
diode) and , , a and b are the circuit parameters. Then, the user declares the
system parameters and their values. In our example, we consider = 8.9, =
14.28, a = 1.14 and b = 0.71, for which the system exhibits chaotic behavior
[1]. In order to display the attractor and/or the evolution of the system variables
over the time, some kind of numerical integration is required. The lower part of
window #1 allows the user to choose dierent numerical integration methods
[15], including the classical Euler and 2nd and 4thorder RungeKutta methods
(implemented by the author) along with some more sophisticated methods from
the Matlab kernel such as ode45, ode23, ode113, ode15s, ode23s, ode23t and
ode23tb (see [14] for details). Some input required for the numerical integration
(such as the initial point and the integration time) is also given at this stage. By
pressing the Numerical Integration settings button, window #2 appears and
some additional options (such as the absolute and relative error tolerance, the
initial and maximum stepsize and renement, the computation speed and others)
can be set up. Once chosen, the user proceeds to the graphical representation
stage, where he/she can display the attractor of the dynamical system and/or
the evolution of any of the system variables over the time. Such variables can
214
A. G
alvez
Fig. 1. Screenshots of the Matlab program for the analysis of chaotic systems: general
setup for the visualization of chaotic attractors
215
Fig. 2. Symbolic computation of the Jacobian matrix for the Lorenz system
3.2
216
A. G
alvez
Fig. 3. Numerical computation of the equilibrium points and the Lyapunov exponents
of the Lorenz system
8
in this example), the
3
Lyapunov exponents (LE) of the system can be numerically computed. To this
purpose, a numerical integration method is applied. Figure 3 shows the window at which the dierent options for this numerical integration process can
be chosen (left window) along with the graphical representation of the three
Lyapunov exponents over the time (right window). As shown in the gure, the
numerical values of these LE are 1.4 and 0.0022 and 15 respectively. Roughly
speaking, the LE are a generalization of the eigenvalues for nonlinear ows.
They are intensively applied to analyze the behavior of nonlinear systems, since
they indicate if small displacements of trajectories are along stable or unstable
parameter values are given ( = 10, R = 60 and b =
217
Fig. 4. (left) Attractor and equilibrium points of the Lorenz system analyzed in Figure 3; (right) evolution of the system variables over the time
218
A. G
alvez
References
1. Chua, L.O., Komuro, M., Matsumoto, T. The doublescroll family. IEEE Transactions on Circuits and Systems, 33 (1986) 10731118
2. Dhooge, A., Govaerts, W., Kuznetsov, Y.A.: Matcont: A Matlab package for numerical bifurcation analysis of ODEs. ACM Transactions on Mathematical Software
29(2) (2003) 141164
3. Dhooge, A., Govaerts, W., Kuznetsov, Y.A.: Numerical continuation of fold bifurcations of limit cycles in MATCONT. Proceedings of CASA2003. Lecture Notes
in Computer Science, 2657 (2003) 701710
4. G
alvez, A. Iglesias, A.: Symbolic/numeric analysis of chaotic synchronization with
a CAS. Future Generation Computer Systems (2007) (in press)
5. Govaerts, W., Sautois, B.: Phase response curves, delays and synchronization in
Matlab. Proceedings of CASA2006. Lectures Notes in Computer Science 3992
(2006) 391398
6. Gutierrez, J.M., Iglesias, A., Guemez, J., Matas, M.A.: Suppression of chaos
through changes in the system variables through Poincare and Lorenz return maps.
International Journal of Bifurcation and Chaos, 6 (1996) 13511362
7. Gutierrez, J.M., Iglesias, A.: A Mathematica package for the analysis and control
of chaos in nonlinear systems. Computers in Physics, 12(6) (1998) 608619
8. Iglesias, A., Gutierrez, J.M., Guemez, J., Matas, M.A.: Chaos suppression through
changes in the system variables and numerical rounding errors. Chaos, Solitons and
Fractals, 7(8) (1996) 13051316
9. Iglesias, A.: A new scheme based on semiconductor lasers with phaseconjugate
feedback for cryptographic communications. Lectures Notes in Computer Science,
2510 (2002) 135144
10. Iglesias, A., G
alvez, A.: Analyzing the synchronization of chaotic dynamical systems with Mathematica: Part I. Proceedings of CASA2005. Lectures Notes in
Computer Science 3482 (2005) 472481
11. Iglesias, A., G
alvez, A.: Analyzing the synchronization of chaotic dynamical systems with Mathematica: Part II. Proceedings of CASA2005. Lectures Notes in
Computer Science 3482 (2005) 482491
12. Iglesias, A., G
alvez, A.: Revisiting some control schemes for chaotic synchronization
with Mathematica. Lectures Notes in Computer Science 3516 (2005) 651658
13. Lorenz, E.N.: Journal of Atmospheric Sciences, 20 (1963) 130141
14. The Mathworks Inc: Using Matlab. Natick, MA (1999)
15. Press, W.H., Teukolsky, S.A., Vetterling, W.T., Flannery, B.P.: Numerical Recipes
(2nd edition), Cambridge University Press, Cambridge (1992)
16. Saraan, H.: A closed form solution of the runtime of a sliding bead along a freely
hanging slinky. Proceedings of CASA2004. Lecture Notes in Computer Science,
3039 (2004) 319326
17. Zhou, W., Jerey, D.J. Reid, G.J.: An algebraic method for analyzing openloop
dynamic systems. Proceedings of CASA2005. Lecture Notes in Computer Science,
3516 (2005) 586593
Abstract. The article briey shows how to estimate the safety of recreational water slides by numerical analysis of motion of the users. There
are presented: mathematical description of a typical water slides geometry, simplied model of a sliding person, model of contact between the
user and the inner surface of the slide, equations of motion written for
a rigid body with 6 degrees of freedom and nally some sample results
compared to the limitations set by current European Standard.
Keywords: water slide, safety, water park, motion, dynamics, nite
dierence, numerical integration, modeling, Mathematica.
Introduction
Water slides are one of the most popular facilities in water parks. They are
built all over the world. One of the most important problems associated with
them is safety. It is not well recognized, both mathematically and technically.
There are very few scientic papers concerning the problem. The most complete
publication [1] deals with the mathematical model of a water sliding process
using the assumption that the user has constant contact with the inner surface of
the chute. Actually, the most dangerous situations happen when the user looses
contact and cannot control the ride. The next problem is acceleration, often
called Gload. The human body, and especially brain and heart, is sensitive to
acceleration that signicantly exceeds gravity acceleration g. Several accidents,
in a variety of countries resulted in severe injuries and even death.
The contemporary practice, due to lack of design methodology, consists in
testing by a water slides expert after nishing the construction, however this
expert is described only as a t person, dressed in bathing suit [2]. It is not
acceptable from the point of view of modern engineering philosophy, which requires prior analysis based on mathematical model, which should be veried
experimentally.
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 219226, 2007.
c SpringerVerlag Berlin Heidelberg 2007
220
Most of the water slides (especially those built high over the ground level) are
constructed of two basic types of elements: the straight ones, being just a simple
cylinder, and the curved ones, having the shape of a slice of a torus. All these
elements are equipped on both ends with anges that allow connecting the following parts of the slide with screws (see Fig. 1 and 2). Because the resulting
axis of the chute consists of straight lines and circular arcs, it cant be described
by a simple equation, but some kind of an interval changing function is needed.
The best choice seems to be the IntepolatingFunction within the Mathematica system. To obtain a parametric equation of the axis, one must rst
calculate a set of coordinates of discrete points, lying on the axis at small intervals. It can be done using procedures described in [3] or with the aid of any
software for 3D graphics. The next step is to build an IntepolatingFunction
for each of the coordinates separately and nally join them into one vector function axis[l]. Having this function one can get the parametric equation of the
surface of the slide surface[l,phi,radius] using the following Mathematica
code:
221
The next task is to create a model of the human body. Its obvious, that a
complete biomechanical model with all its degrees of freedom (DOF) and parameters would be the best, but unfortunately its almost impossible to predict
the values of dimensions, mass, moments of inertia and stiness of all parts of
the users body, especially at the design stage of the construction process. Thats
why a simpler model is needed.
To create it, one can notice, that sliding people are quite stiened and the
fastest users touch the surface of the chute only with their heels and bladebones. This allows us to replace the sliding person by a rigid body, constrained
by 3 unilateral supports located at the vicinity of the previous mentioned parts
of the body (spheres at the vertices of the triangle representing the body on
Fig. 3). Such a body has 6 DOFs  translations xi and rotations i around 3
axes of the local (i ) or global (Xi ) coordinates system, and is subjected to the
inuence of the following forces: gravity F G , normal contact forces F Ni and
friction forces F Ti , shown on Fig. 4. Vectors of these forces can be calculated
using the following formulae:
0 if (ui < 0) [(k ui + c ui u i ) < 0]
F Ni =
,
(1)
(k ui + c ui u i ) ni otherwise
F Ti = F Ni 
v Ti
,
v Ti 
FG = mg ,
F Sum =
3
i=1
(F Ni + F Ti ) + F G ,
(2)
(3)
(4)
222
Fig. 4. Model of contact between the moving body (grey circles) and the inner surface
of the chute (dotted line). Dot (black ) in the upper left corner denotes the center of
the current crosssection (axis of the slide).
M Sum =
3
pi (F Ni + F Ti ) ,
(5)
i=1
where:
i number of the current zone of contact,
k, c constants of the quasi viscouselastic model of human body,
ui deection of the zone of contact,
ni unit vector, normal to the surface of the slide,
coecient of friction,
v Ti tangent component of the velocity vector,
m mass of the user,
g vector of gravitational acceleration,
F Sum summary force,
M Sum summary moment of forces.
At this stage the main problem is calculating ui and ni . The best way to solve
it, is to nd on the axis of the slide these points, that are nearest to the current
223
positions of the centers of the contact spheres, because vectors ni must lie on
lines connecting these pairs of points. It can be easily done with the Mathematica
FindMinimum command.
Equations of Motion
The applied equations of motion are based on the well known Newtons laws of
motion [4]:
d2
[m x(t)] = F Sum ,
(6)
dt2
d
[K(t)] = M Sum ,
(7)
dt
K(t) = A(t) J (t) ,
(8)
0
1
0
A(t) = sin[3 (t)] cos[3 (t)] 0
0
0
1
sin[2 (t)] 0 cos[2 (t)]
1
0
0
0 cos[1 (t)] sin[1 (t)] ,
0 sin[1 (t)] cos[1 (t)]
J1 0 0
J = 0 J2 0 ,
0 0 J3
1
0
d1 (t) d2 (t)
cos[1 (t)] +
(t) =
0 +
dt
dt
0
sin[1 (t)]
sin[2 (t)]
d3 (t)
+
sin[1 (t)] cos[2 (t)] ,
dt
cos[ (t)] cos[ (t)]
1
(9)
(10)
(11)
where:
K(t) vector of moment of momentum,
A(t) matrix of transformation from local (rotating)
to global (xed) coordinates system,
J tensor of main moments of inertia,
(t) vector of angular velocity.
As one can see, the equations of motion are so complicated, that it is impossible to obtain an analytical solution. In fact, even NDSolve, the numerical
solution of dierential equations in Mathematica, does not work due to the usage of the FindMinimum command within the equations of motion (see Sect. 3).
So a special code had to be written, and it follows an algorithm based on a
combination of the Taylors series and multistep methods [5]:
224
Sample Results
Some sample results were obtained for the slide shown in Fig. 2. There is shown
the trajectory of the motion and the axis of the slide in Fig. 5. The beginning
is at the point (0,0), and then the body goes along the direction of the X2 axis,
next turns left and follows the curved axis of the slide, slightly swinging. More
Fig. 5. Top view of the axis of the slide (dotted line) and the trajectory of motion (bold
line)
225
Fig. 7. Results of the Gload calculations. Shades of grey denotes dierent values of G.
detailed results can be read from Fig. 6. There are presented: the Gload acting
on the moving body
G = F Sum F G  /(9.81 m) ,
(12)
226
value of velocity and rst and second angular coordinates (longitudinal and
transversal rotations around 1 and 2 axes  see Fig. 3), where on the horizontal
axes of these charts is marked the length of the chute.
The current design code [2] sets some limitations on the values of permissible
Gload for safety reasons. It says, that G 2.6 g is safe, and 2.6 g < G 4.0 g is
acceptable, but only for less then 0.1 second. Within the presented example these
limitations are kept, but sometimes it is hard to do so. Especially the second
condition can cause some problems when designing a very steep and fast water
slide, where the high speed generates huge centrifugal force at each bend.
Conclusions
References
1. Joo, S.H., Chang, K.H.: Design for the safety of recreational water slides. Mech.
Struct. & Mach. 29 (2001) 261294
2. European Standard EN 10691:2000 Water slides of 2 m height and more  Part 1:
Safety requirements and test methods. CEN, Bruxelles (2000)
3. Szczepaniak, P.: Zjezdzalnie wodne. Obliczanie geometrii zjezdzalni i modelowanie
ruchu uzytkownika (Water slides. Calculating the geometry and modelling of a motion of a user). MSc thesis. Silesian University of Technology, Gliwice (2003)
4. Borkowski, Sz.: Mechanika og
olna. Dynamika Newtonowska (General Mechanics.
Newtons Dynamics). 2nd edn. Silesian University of Technology Press, Gliwice
(1995)
5. Burden, R.L., Faires, J.D.: Numerical Analysis. 5th ed. PWS Publishing Company,
Boston (1993)
geometry, Automated
deduction, Locus,
Introduction
Dynamic geometry programs are probably the most used computers tools in
mathematics education today, from elementary to pregraduate level. At the same
time, computer algebra systems are widely employed in the learning of scientic
disciplines, generally starting from high school. Nevertheless, the top ranked
programs in both elds have evolved separately: although almost all of the computer algebra systems oer some specialized library for the study of geometry (cf.
Mathematica, Maple, Derive, ...), none of them use the dynamic paradigm, that
is, in their geometric constructions free elements cannot be graphically dragged
making dependent elements behave accordingly. On the other side, standard
dynamic geometry environments, such as Cabri Geometry [11] and The Geometers Sketchpad [10], are selfcontained: whenever, albeit rarely, they need some
symbolic computation, they use their own resources.
Some attempts connecting both types of systems have been reported, mainly
coming from academia. Besides the above mentioned geometric libraries, specialized packages for geometry using the symbolic capabilities of computer algebra
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 227234, 2007.
c SpringerVerlag Berlin Heidelberg 2007
228
F. Botana, M.A. Ab
anades, and J. Escribano
systems exist (see, for instance, [1]). Nevertheless, they lack the dynamic approach, being more an environment for exact drawing than a tool for interactive
experiments. We can also cite [12] as an interesting work, where a dynamic geometric system is developed inside Mathematica through an exhaustive use of
MathLink.
The approach of using computer algebra algorithms in dynamic geometry has
been more fruitful. Two ways have been devised for dealing with this cooperation.
Some systems incorporate their own code for coping with algebraic techniques
in geometry ([14,8,9],...), while other systems emphasize on reusing software
([2,15,17],...). Both strategies have been partially successful on solving some of
the three main points in dynamic geometry, that is, the continuitydeterminism
dilemma, the proof and discovery abilities, and the complete determination of
loci (see [6] for an extensive study of the subject).
This paper describes a webbased resource allowing the remote discovery of
equations of algebraic loci specied through the wellknown Cabri and The
Geometers Sketchpad environments. Moreover, OpenMath has been chosen as
the communicating language allowing other OpenMath compliant systems to
make use of the tool.
229
loci: our proposal also obtains the equations of algebraic loci and bans out some
anomalous results in standard systems. The equations are sound (since the used
Groebner bases method is), and the method is fast enough to be integrated in a
dynamic environment, as tested with GDI (see [4] where the detailed algorithm
is described).
Although conceived with the spirit of a plugin for Cabri and The Geometers
Sketchpad, simplicity and convenience of use were the guiding lines in the design
of GLI. Consequently, its interface (http://nash.sip.ucm.es/GLI/GLI.html) has
been designed to look like a simple web page (see Figure 1). The user makes use
of an applet to create a text le that is uploaded to the server. The equation
and graph of the locus are then displayed in a new browser window.
230
F. Botana, M.A. Ab
anades, and J. Escribano
4
4.1
Examples
An Ellipse
The old exercise of drawing an ellipse using a pencil, two pins, and a piece
of string is frequently proposed as the rst one when young students begin
practising loci computation.
231
It is well known that both environments, Cabri and The Geometers Sketchpad, return a surprising answer when simulating the construction, giving just
half of the ellipse. Figure 2 shows the construction made in The Geometers
Sketchpad (inside the square) and the answer returned by GLI. The plot range
in the graph produced by GLI depends on adhoc computations of the graph size
made by Mathematica. Despite being an independent process, the computations
of an optimum plot range can be directed by a line of code in the webDiscovery
description of the task. A default but modiable value has been included in all
webDiscovery descriptions.
4.2
Lima
con of Pascal
Given a xed point P3 and a variable one P6 on a circle, the limacon of Pascal
is the locus of points P14 such that P3 , P6 and P14 are collinear and the distance
from P6 to P14 is a constant, specied in Figure 4 by the segment P8 P9 (see
http://wwwgroups.dcs.stand.ac.uk/~history for a historical reference).
As in the case of the preceding subsection, computing the locus of P14 gives
just a part of it (Figure 3, left). It is necessary to compute the locus of the other
intersection, P14
, in order to get the whole locus (Figure 3, right). It seems that
Cabri is making some extra assumptions, for instance, the point P14 is inside
the circle, whereas the imposed constraints subsume both points in just one.
Regarding the locus equation, Cabri returns two equations (instead of one!)
0.04x2 y + 0.04y 3 + 0.22x2 + 0.19xy + 0.82y 2 + 0.87x + 5.07y + 10 = 0
0.04x2 y + 0.04y 3 + 0.17x2 + 0.20xy + 0.95y 2 + 0.77x + 5.62y + 10 = 0.
Plotting these equations with Mathematica we get the curves in Figure 4, left,
while the curve returned by our system GLI is shown at the right. The equation
of the limacon, a quartic, is included as a factor of the solution (see Figure 5).
The extraneous factor of the circle is due to a degenerated condition: note that,
232
F. Botana, M.A. Ab
anades, and J. Escribano
4.3
We will use a very simple example to illustrate the dierent behavior of standard
systems and the one proposed here. Let us consider a line P1 P2 with a variable
point on it, P4 , taken as the center of a circle with radius P5 P6 . Compute the
locus of a point P9 bound to the circle when P4 moves along the line. The locus found by The Geometers Sketchpad is, as expected, a line parallel to P1 P2
(Figure 6). Nevertheless, GLI answers that The locus is (or is contained in) the
whole plane. This is due to the dierent treatment of point P9 : in standard systems its denition is taken not just as a point on the circle, but other constraints
not explicitly given are assumed. However, from an strictly algebraic point of
view, P9 is any point on the circle. So, when the circle moves, the locus is a non
linear part of the plane, and our non semialgebraic approach detects this fact
answering as stated.
Note that if Cabri is used and the rst line is dened through a point and
a graphically specied slope, the translation of the construction will fail since
the current version of GLI does not support this Cabri primitive. When working
with a non allowed locus le an error message will appear in the corresponding
text area in the applet. The user is then instructed to inspect the JAVA console
233
to see a sequential description of the translation process, with which one can
determine the primitive not admitted by the current version of GLI that has
been used.
4.4
Cabri and The Geometers Sketchpad can only nd loci of points that have been
eectively constructed in their systems, that is, points who parametrically depend on another one. Hence, points which are implicitly dened by simultaneous
multiple conditions cannot be used for generating loci. A classical result such
as the theorem of WallaceSteiner (stating that the locus of points X such that
their orthogonal projections to a given triangle are collinear is the triangles circumcircle) cannot be discovered unless the user previously knows the result! The
symbolic kernel of GLI has been designed to be easily modied to support this
type of implicit loci. Further versions of GLI are under development to support
an extended class of computable loci.
Conclusion
The work presented here, although of a small magnitude, shows the possibilities of the interconnection between dynamic geometry and computer algebra
systems. Moreover, we think that the generalization of broad band internet connections will make remote access to applications the main general trend, of which
GLI is a perfect example. The decision of making OpenMath the communication
language between the systems involved could be seen as secondary from a computational point of view. However, the use of standard semantic representation
of mathematical objects is, as we see it, the main challenge in the computational community. GLI wants to be an example of that too. Moreover, the use
of OpenMath as intercommunicating language opens the door to further connections with dierent geometry related systems. As future work, a twofolded
ongoing research is being conducted to extend GLIs domain, to other Dynamic
Geometry Systems on one hand, and to nonpolynomial equations and inequalities on the other. This latter extension of GLI will allow a considerable increase
in the set of possible relations between the dierent geometric elements and
hence of its applications.
234
F. Botana, M.A. Ab
anades, and J. Escribano
References
1. Autin, B.: Pure and applied geometry with Geometrica. Proc. 8th Int. Conf. on
Applications of Computer Algebra (ACA 2002), 109110 (2002)
2. Botana, F., Valcarce, J.L.: A dynamicsymbolic interface for geometric theorem
discovery. Computers and Education, 38(13), 2135 (2002)
3. Botana, F.: Interactive versus symbolic approaches to plane loci generation in
dynamic geometry environments. Proc. I Int. Workshop on Computer Graphics
and Geometric Modeling (CGGM 2002), LNCS, 2330, 211218 (2002)
4. Botana, F., Valcarce, J.L.: A software tool for the investigation of plane loci. Mathematics and Computers in Simulation, 61(2), 141154 (2003)
5. Botana, F.: A Webbased intelligent system for geometric discovery. Proc. I Int.
Workshop on Computer Algebra Systems and Applications (CASA 2003), LNCS,
2657, 801810 (2003)
6. Botana, F., Recio, T.: Towards solving the dynamic geometry bottleneck via a
symbolic approach. Proc. V Int. Workshop on Automated Deduction in Geometry
(ADG 2004), LNAI, 3763, 92110 (2006)
7. Capani, A., Niesi, G., Robbiano, L.: CoCoA, a system for doing Computations in
Commutative Algebra. Available via anonymous ftp from: cocoa.dima.unige.it
8. Gao, X.S., Zhang, J.Z., Chou, S.C.: Geometry Expert. Nine Chapters, Taiwan
(1998)
9. http://www.geogebra.at
10. Jackiw, N.: The Geometers Sketchpad v 4.0. Key Curriculum Press, Berkeley
(2002)
11. Laborde, J. M., Bellemain, F.: Cabri Geometry II. Texas Instruments, Dallas (1998)
12. Miyaji, C., Kimura, H.: Writing a graphical user interface for Mathematica using
Mathematica and Mathlink. Proc. 2nd Int. Mathematica Symposium (IMS97),
345352 (1997)
13. http://www.openmath.org/
14. RichterGebert, J., Kortenkamp, U.: The Interactive Geometry Software Cinderella. Springer, Berlin (1999)
15. RoanesLozano, E., RoanesMacas, E., Villar, M.: A bridge between dynamic
geometry and computer algebra. Mathematical and Computer Modelling, 37(910),
10051028 (2003)
16. Schumann, H.: A dynamic approach to simple algebraic curves. Zentralblatt f
ur
Didaktik der Mathematik, 35(6), 301316 (2003)
17. Wang, D.: GEOTHER: A geometry theorem prover. Proc. 13th International Conference on Automated Deduction (CADE 1996), LNCS, 1104, 166170 (1996)
18. http://www.wolfram.com/products/webmathematica/index.html
Abstract. Petri nets are receiving increasing attention from the scientic community during the last few years. They provide the users with a
powerful formalism for describing and analyzing a variety of information
processing systems such as nitestate machines, concurrent systems,
multiprocessors and parallel computation, formal languages, communication protocols, etc. Although the mathematical theory of Petri nets
has been intensively analyzed from several points of view, the symbolic
computation of these nets is still a challenge, particularly for generalpurpose computer algebra systems (CAS). In this paper, a new Mathematica package for dealing with some Petri nets is introduced.
Introduction
Petri nets (PN) are receiving increasing attention from the scientic community
during the last few years. Most of their interest lies on their ability to represent a number of events and states in a distributed, parallel, nondeterministic or
stochastic system and to simulate accurately processes such as concurrency, sequentiality or asynchronous control [1,3]. Petri nets provide the users with a very
powerful formalism for describing and analyzing a broad variety of information
processing systems both from the graphical and the mathematical viewpoints.
Since its inception in the early 60s, they have been successfully applied to many
interesting problems including nitestate machines, concurrent systems, multiprocessors and parallel computation, formal languages, communication protocols
and many others.
Although the mathematical fundamentals of Petri nets have been analyzed by
using many powerful techniques (linear algebraic techniques to verify properties
such as place invariants, transition invariants and reachability; graph analysis
and state equations to analyze their dynamic behavior; simulation and Markovchain analysis for performance evaluation, etc.), and several computer programs
for PN have been developed so far, the symbolic computation of these nets is still
a challenge, particularly for generalpurpose computer algebra systems (CAS).
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 235242, 2007.
c SpringerVerlag Berlin Heidelberg 2007
236
In this paper, a new Mathematica package for dealing with some Petri nets
is introduced. The structure of this paper is as follows: Section 2 provides a
gentle introduction to the basic concepts and denitions on Petri nets. Then,
Section 3 introduces the new Mathematica package for computing them and
describes the main commands implemented within. The performance of the code
is also discussed in this section by using some illustrative examples. Conclusions
and further remarks close the paper.
A Petri net (PN) is a special kind of directed graph, together with an initial
state called the initial marking (see Table 1 for the mathematical details). The
graph of a PN is a bipartite graph containing places {P1 , . . . , Pm } and transitions
{t1 , . . . , tn }. Figure 1 shows an example of a Petri net comprised of three places
and six transitions. In graphical representation, places are usually displayed as
circles while transitions appear as vertical rectangular boxes. The graph also
contains arcs either from a place Pi to a transition tj (input arcs for tj ) or from
a transition to a place (output arcs for tj ). These arcs are labeled with their
weights (positive integers), with the meaning that an arc of weight w can be
understood as a set of w parallel arcs of unity weight (whose labels are usually
omitted). In Fig. 1 the input arcs from P1 to t3 and P2 to t4 and the output arc
from t1 to P1 have weight 2, the rest having unity weight.
Fig. 1. Example of a Petri net comprised of three places and six transitions
237
238
places of a net have nite capacity, the net itself is referred to as a nite capacity
net. All nets in this paper will belong to this later category. For instance, the
net in Figure 1 is a nite capacity net, with capacities 2, 2 and 1 for places P1 ,
P2 and P3 , respectively.
If so, there is another condition to be fullled for any transition tj to be
enabled: the number of tokens at each output place of tj must not exceed its
capacity after ring tj . For instance, transition t1 in Figure 1 is initially disabled
because place P1 has already two tokens. If transitions t2 and/or t3 are applied
more than once, the two tokens of place P1 will be removed, so t1 becomes
enabled. Note also that transition t3 cannot be red initially more than once, as
capacity of P2 is 2.
In this section a new Mathematica package for dealing with Petri nets is introduced. For the sake of clarity, the main commands of the package will be
described by means of its application to some Petri net examples. In particular,
in this paper we will restrict to the case of pure and nite capacity nets, a kind
of nets with many interesting applications. We start our discussion by loading
the package:
In[1]:= <<PetriNets
According to Table 1, a Petri net (like that in Figure 1 and denoted onwards
as net1) is described as a collection of lists. In our representation, net1 consists
of three elements: a list of couples {place, capacity}, a list of transitions and a
list of arcs from places to transitions along with its weights:
In[2]:= net1={{{p1,2},{p2,2},{p3,1}},{t1,t2,t3,t4,t5,t6},
{{p1,t1,2},{p1,t2,1},{p1,t3,2},{p2,t3,1},
{p2,t4,2},{p2,t5,1},{p3,t5,1},{p3,t6,1}}};
Note that the arcs are represented by triplets {place, transition, weight},
where positive value for the weights mean output arcs and negative values denote input arcs. This notation is consistent with the fact that output arcs add
tokens to the places while input arcs remove them. Now, given the initial marking {2, 1, 0} and any transition, the FireTransition command returns the new
marking obtained by ring such a transition:
In[3]:= FireTransition[net1,{2,1,0},t2];
Out[3]:= {1,1,0}
Given a net and its initial marking, an interesting question is to determine
whether or not a transition can be red. The EnabledTransitions command
returns the list of all enabled transitions for the given input:
In[4]:= EnabledTransitions[net1,{2,1,0}];
Out[4]:= {t2,t3,t5}
The FireTransition command allows us to compute the resulting markings
obtained by applying these transitions onto the initial marking:
239
In[5]:= FireTransition[net1,{2,1,0},#]& /@ %;
Out[5]:= {{1,1,0},{0,2,0},{2,0,1}}
Note that, since transition t1 cannot be red, an error message is returned:
In[6]:= FireTransition[net1,{2,1,0},t1];
Out[6]:= FireTransition: Disabled transition: t1 cannot be red for the given net
and the {2,1,0} marking.
Fig. 2. The reachability graph for the Petri net net1 and the initial marking {2, 1, 0}
From Out[4] and Out[5], the reader can easily realize the successive application
of the EnabledTransitions and FireTransition commands allows us to obtain
all possible markings and all possible rings at each marking. However, this is
a tedious and timeconsuming task to be done by hand. Usually, such markings
and rings are graphically displayed in what is called a reachability graph. The
next input returns the reachability graph for our Petri net and its initial marking:
In[7]:= ReachabilityGraph[net1,{2,1,0}];
Out[7]:= See Figure 2
Figure 2 can be interpreted as follows: the outer column on the left provides
the list of all possible markings for the net. Their components are sorted from the
left to the right according to the standard lexicographic order. For any marking,
the row in front gives the collection of its enabled transitions. For instance, the
enabled transitions for the initial marking {2, 1, 0} are {t2, t3, t5} (as expected
from Out[4]), while they are {t1, t4, t6} for {0, 2, 1}. Given a marking and one
240
of its enabled transitions, you can determine the output marking of ring such
transition by simply moving up/down in the transition column until reaching
the star symbol: the marking in that row is the desired output. By this simple
procedure, results such as those in Out[5] can readily be obtained.
241
Fig. 5. Reachability graph after modifying the weight of the arc from P5 to t6
242
On the other hand, the reachability graph in Figure 4 has some markings no
transitions can be applied onto. Examples of such markings are {1, 3, 3, 2, 0},
{1, 2, 3, 2, 0} or {0, 4, 3, 1, 0} (although not the only ones). They are sometimes
called end markings. Note that not end markings appear in the rst net of this
paper. Note also that the transition t6 is never red (it never appears in the
graph of Figure 4). By simply decreasing the weight of the arc from P5 to t6
to the unity, the transition becomes enabled, as shown in the new reachability
graph depicted in Figure 5.
In this paper, a new Mathematica package for dealing with nite capacity Petri
nets has been introduced. The main features of the package have been discussed
by its application to some simple yet illustrative examples. Our future work
includes the application of this package to real problems, the extension to other
cases of Petri nets, the implementation of new commands for the mathematical
analysis of these nets and the characterization of the possible relationship (if
any) with the functional networks and other networked structures [2,4,5].
This research has been supported by the Spanish Ministry of Education and
Science, Project Ref. #TIN200613615. The second author also thanks the nancial support from the Erasmus Program of the European Union for his stay
at the University of Cantabria during the period this paper was written.
References
1. Murata, T.: Petri nets: Properties, analysis and applications. Proceedings of the
IEEE, 77(4) (1989) 541580
2. Echevarra, G., Iglesias, A., G
alvez, A.: Extending neural networks for Bspline
surface reconstruction. Lectures Notes in Computer Science, 2330 (2002) 305314
3. German, R.: Performance Analysis of Communication Systems with NonMarkovian
Stochastic Petri Nets. John Wiley and Sons, Inc. New York (2000)
4. Iglesias, A., G
alvez, A.: A New Articial Intelligence Paradigm for ComputerAided
Geometric Design. Lectures Notes in Articial Intelligence, 1930 (2001) 200213
5. Iglesias, A., Echevarra, G., G
alvez, A.: Functional networks for Bspline surface
reconstruction. Future Generation Computer Systems, 20(8) (2004) 13371353
Introduction
How to handle mathematical expressions on screens of computers has been discussed from 1960s[1]. While many systems have been proposed, there are no
easytouse systems for beginners. Users must choose not too bad(wrong) one
from existing systems. One of the reasons for the situation is that APIs of the
existing systems are not designed adequately in consideration of handling 2D
structure.
For example, a cursor(caret) of GUI text editors has 2D coordinates, but the
information is not used eectively. A Cursor is placed on or before or after one
of characters. Because of texts linear structure, the position of a cursor is able
to be converted to 1D information. Therefore, although the cursor of GUI text
editors looks like 2D cursor, it is 1D cursor in practice. And, many systems which
handle mathematical expressions are based on this type of cursor models.
1.1
Computer algebra systems handle mathematical expressions, but their input interfaces are generally based on template models, such as word processors equation editor part which are treated like sub programs. An equation editor with
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 243250, 2007.
c SpringerVerlag Berlin Heidelberg 2007
244
H. Deguchi
GUI Operations
Using computers with GUI, users can manipulate objects on screens directly.
Especially, drag and drop operations are intuitive. However, it is hard to say
that they are eectively utilized in interfaces treating mathematical expressions.
For example, in some systems, to connect a selection to a target, users can select
and drag the selection, but can drop them only onto prepared boxes related to
the target. These boxes have to be prepared by using templates before drag and
drop operations.
245
Fig. 1. MathBlackBoard
2.1
In general, drag and drop means drag an object and drop it to dierent places
or onto other objects. Each object on GUI screens has its own selection area
which is used to be selected or to be dropped onto. And when a dragged object
is released by manipulation of pointing devices, all of the selection areas are
scanned. If the pointer lies inside the selection area of any object, the dragged
object is dropped onto such pointed object. Otherwise, the dragged object is
dropped to the place marked by the pointer.
Using these operations, users can drag and drop expressions onto a box prepared or into an insertion point which is used in linear structure of texts. Insertion points have 1D information (or convertable to 1D information) of their
position, and are used with text stream, where text includes characters and symbols. When a dragged object is released, all of the boxes are scanned. And then,
if a box is pointed, all of the insertion points in the box are scanned.
In the model of templates and their box structures, that is used with drag
and drop operations generally, mathematical expressions are constructed from
nested boxes which contain other boxes or text stream as contents.
2.2
As mentioned above, existing drag and drop operations and template models are
not suitable for 2D structure of mathematical expressions, because a mathematical formula is constructed as boxstructured texts.
To extend drag and drop operation, we have added new elements to objects.
The most important element added is area for target of drag and drop operations.
Notice that the areas are used to be targets of drag and drop, not to be boxstructured containers. These new added areas are called peripheral area. Left
246
H. Deguchi
Fig. 2. Left: A symbol object x with a selection area, peripheral areas, and a baseline. Right: Base points and their link relations.
hand of Fig. 2 shows the symbol object x with M as a selection area, R0R5
as peripheral areas, and BL as a baseline.
By using objects with peripheral areas, users can drag mathematical expressions and drop them onto the peripheral area of the target, for connecting the
selection to the target with the desired position. Each object of the system has
information of its connected childnodes. And, it has information of location
and display size of its childnodes. Right hand of Fig. 2 shows the symbol object
x with P0P5 as base points. Each base point of P0P5 is related to each
peripheral area of R0R5. Base points are used as link points to connect their
childnodes. For each base point, information of link relation for its childnode is
congured(right hand of Fig. 2). Size of a dotted line square means childnodes
display size. And relation between a dotted line square and related base point
means the relative point of the childnode.
The operations for objects with these new elements are able to be explained
as drag and drop operations. But, in this case, drag and drop is an operation
between the selection and the peripheral area of the target. It is not an operation between the selection and the target itself. Therefore it could be a new
GUI operation. In case the selection is dropped onto peripheral areas, the GUI
operation is called drag and draw. The drag and draw operation is an operation between the selection and the target. In this case, drag and draw means
drag the selection and draw it near to the target. The system with drag and
draw operations is suitable for mathematical expressions, because objects are
associated with other objects in the nature of 2D structures by using peripheral
areas and their related elements.
2.3
Dynaput Operation
The drag and draw operations are suitable to handle 2D structure of mathematical expressions. And there are other elements to extend GUI operations for
beginners. The new elements are feedbacks from drag operations and feedbacks
from draw operations.
247
Feedbacks from drag operations should show what object is dragged. Such
information helps novice users to know which object is selected and is dragging.
MathBlackBoard is the system which provides this kind of information, from the
early stages of development.
Feedbacks from draw operations also show useful information, categories of
which are where the selection object will be connected to, and which size the
selection object will be changed. With information from feedbacks, users can
check the place where the dragged object will be connected to, or the preview
of size, before dragged object is released by manipulation of pointing devices.
Thus users can check results of various cases by moving pointing devices, without carrying out determination operation that is to release the pressed button
of the pointing device in general. If the preview is what the user wished, determination operation is to be performed by manipulating pointing devices. After
the determination, the selection is connected to the target, and is placed on the
desired position with the previewed size.
The environment with these two kinds of feedbacks provides interactive
dynamic input interface. In the dynamic input interface of MathBlackBoard,
operations include not only an inputting aspect but also an editing aspect.
Users can input expressions and edit expressions in the same way. For example, input operation in MathBlackBoard is performed as follows: drag the object
in the palette area of Fig. 1 and drop it onto other objects, peripheral areas,
or the blackboard area of Fig. 1. And edit operation is performed as follows:
drag the object in the blackboard area and drop it onto other objects, peripheral areas, or the blackboard area.
Since same operations in the user interface mean both of inputting and editing,
as described above, that could be new GUI operations. Because the operations
are not simple input operations but dynamic input operations, the operations
are called dynaput instead of input. Dynaput is a coined word combining
dyna (from dynamic) and put (from input or put).
3
3.1
Data Structure
Layout Tree
Symbol objects for dynaputting are structured as tree. Each node has information of numbered direction for linking to childnodes(left hand of Fig. 3). In
Fig. 3, the thick lines mean the default direction. In this case, the default direction is 2. Right hand of Fig. 3 shows a layout tree of the following expression:
f (x) =
n
ai xi
i=0
248
H. Deguchi
Fig. 3. Left: Numbered directions. (The thick line means the default direction.) Right:
An example of layout tree. (The numbers beside lines mean directions.)
The MathML
(Presentation Markup) output is similar in method to the TeX
output. The part of a MathML output example is as follows:
<munderover>
<mo>∑</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
<mrow>
<mi>n</mi>
</mrow>
</munderover>
249
Layout tree traversal with outputting text characters is the common method
of these. The tasks for outputting are simple because of the simple structure of
layout trees. Thus layout trees are converted to presentation markup languages
easily.
3.2
][a][x][i][power][invisible times][apply][=]
[f][x][apply function][
As to and a, only childnodes of direction 2 are visited in that scan
process. The ignored childnodes are called after the process, if it is needed. That
is decided by the parser. Temporary objects (such as power or apply) are
generated in the scan process.
And then, a binary tree of the symbol objects(left hand of Fig. 5) is constructed from the reverse Polish notation. Right hand of Fig. 5 shows another
example. The parser can decide meaning of f (x).
Fig. 5. Left: An example of binary tree. Right: A left sub tree of another example.
Finally, the binary tree of the symbol objects is traversed, and outputs which
depend on contents
of symbol objects are generated. Notice that the ignored
childnodes of and a are called, when the binary tree is traversed.
The binary trees of symbol objects are used internally and temporarily in
the process of the converting. Users can get mathematical notations of wished
format after the process, because binary trees are able to be converted to various notations of mathematical expressions including inx, prex, and postx
notations.
250
H. Deguchi
Conclusion
The new dynamic input interface has been developed. We have added new elements to objects of the system. For such objects, new GUI operations have
been dened. Drag and draw is one of drag and drop operations. In case the
selection is dragged and drawn near to the target, the operation is called drag
and draw. The exact actions of the operations are to drag over the peripheral
areas and to drop onto these areas.
Dynaput has also been dened as operations which include input and edit,
and provide dynamic input interface by previewing results. To provide dynaput
operations, the interface should have operations drag and draw and peripheral
areas for symbol objects. Using dynaput operations, users can input and edit
mathematical expressions intuitively by using only pointing devices.
In this user interface, mathematical expressions are constructed from treestructured symbol objects. Boxes as containers and text stream as contents,
which are used in other systems with templates, are not used. The structure
of layout tree is based on 2D structure of symbols on computer screens, and
mathematical meanings of objects are ignored temporarily.
The presentation markup outputs, such as TeX and MathML, are generated
easily because of the simple structure of layout trees. Mathematical notations
for computer algebra systems evaluations are also converted from layout trees
via tree transformation. What it means appears when you need is our strategy
for handling 2D structures of expressions.
Using this new input interface with the operation dynaput, users can manipulate mathematical formulas intuitively, and users are able to acquire mathematical expressions of various formats.
A demo video of MathBlackBoard is available on the following URL:
http://wwwmain.h.kobeu.ac.jp/MathBB/
References
1. Kajler, N., Soier, N.: A Survey of User Interfaces for Computer Algebra Systems.
J. Symb. Comput. 25(2) (1998) 127159
2. Matsushima J.: An EasytoUse Computer Algebra System by Using Java. Master
Thesis, Kobe University (1998) [in Japanese]
3. Deguchi H.: Blackboard Applet. Journal of Japan Society for Symbolic and Algebraic
Computation 9(1) (2002) 3237 [in Japanese]
4. Deguchi H.: MathBlackBoard. Journal of Japan Society for Symbolic and Algebraic
Computation 11(3,4) (2005) 7788 [in Japanese]
5. Deguchi H.: MathBlackBoard as User Interface of Computer Algebra Systems. Proceedings of the 10th Asian Technology Conference in Mathematics (2005) 246252
6. Deguchi H.: A Practical Lesson Using MathBlackBoard. Journal of Japan Society
for Symbolic and Algebraic Computation 12(4) (2006) 2130 [in Japanese]
7. Deguchi H.: A Dynamic Input Interface for Mathematical Expressions. Proceedings
of the Human Interface Symposium 2006 (2006) 627630 [in Japanese]
8. Deguchi H., Hashiba H.: MathBlackBoard as Eective Tool in Classroom. ICCS
2006, Part II Springer LNCS 3992 (2006) 490493
Introduction
252
Schost
X. Li, M.M. Maza, and E.
Software Overview
2.1
253
Let R be an AXIOM Ring. The domain SUP(R) implements the ring of univariate
polynomials with coecients in R. The data representation of SUP(R) is sparse,
that is, only nonzero terms are encoded. The domain constructor SUP is written
in the AXIOM language.
The domains DUP(R) implements exactly the same operations as SUP(R).
More precisely, these two domains satisfy the category UnivariatePolynomialCategory(R). However, the representation of the latter domain is dense: all
terms, null or not, are encoded. The domain constructor DUP was developed in
the AXIOM language, see [11] for details.
Another important domain constructor in our study is PF: for a prime number
p, the domain PF(p) implements the prime eld Z/pZ.
Our C code is dedicated to multivariate polynomials with dense representation
and coecients in a prime eld To make this code available at the AXIOM level,
we have implemented a domain constructor DUP2 wrapping our C code. For a
prime number p, the domains DUP2(p) and DUP(PF(p)) implement the same
category, that is, UnivariatePolynomialCategory(PF(p)).
2.2
The implementation reported here focuses on some special small nite elds. By
a small nite eld, we mean a eld of the form K = Z/pZ, for p a prime that
ts in a 26 bit word (so that the product of two elements reduced modulo p ts
into a double register). Furthermore, the primes p we consider have the form
k2 + 1, with k a small odd integer (typically k 7), which enables us to write
specic code for integer Euclidean division.
The elements of Z/pZ are represented by integers from 0 to p 1. Additions
and subtractions in Z/pZ are performed in a straightforward way: we perform
integer operations, and the result is then reduced modulo p. Since the result of
additions and subtractions is always in (p 1), . . . , 2(p 1), modular reduction
requires at most a single addition or subtraction of p; for the reduction, we use
routines coming from Shoups NTL library [9,14].
Multiplication in Z/pZ requires more work. A standard solution, present in
NTL, consists in performing the multiplication in double precision oatingpoint
registers, compute numerically the quotient appearing in the Euclidean division
by p, and nally deduce the remainder.
Using the special form of the prime p, we designed the following faster
approximate Euclidean division, that shares similarities with Montgomerys
REDC algorithm [13]; for another use of arithmetic modulo special primes,
see [4]. Let thus Z be in 0, . . . , (p 1)2 ; in actual computations, Z is obtained
as the product of two integers less than p. The following algorithm computes an
approximation of the remainder of kZ by p, where we recall that p has the form
k2 + 1:
1. Compute q = 2Z .
2. Compute r = k(Z q2 ) q.
254
Schost
X. Li, M.M. Maza, and E.
In terms of operations, this reduction is faster than the usual algorithms, which
rely on either Montgomerys REDC or Shoups oatingpoint techniques. The
computation of q is done by a logical shift; that of r requires a logical AND (to
obtain Z 2q), and a single multiplication by the constant c. Classical reduction
algorithms involve 2 multiplications, and other operations (additions and logical
operations). Accordingly, in practical terms, our approach turned out to be more
ecient.
There are however drawbacks to this approach. First, the algorithm above does
not compute Z mod p, but a number congruent to kZ modulo p (this multiplication by a constant is also present in Montgomerys approach). This is however
easy to circumvent in several cases, for instance when doing multiplications by
precomputed constants (this is the case in FFT polynomial multiplication, see
below), since a correcting factor k 1 mod p can be incorporated in these constants. The second drawback is that the output of our reduction routine is not
reduced modulo p. When results are reused in several computations, errors accumulate, so it is necessary to perform some error reduction at regular time steps,
which slows down the computations.
2.3
Polynomial Arithmetic
For polynomial multiplication, we use the Fast Fourier Transform (FFT) [6,
Chapter 8], and its variant the Truncated Fourier Transform [8]. Indeed, since
we work modulo primes p of the form k2 + 1, Lemma 8.8 in [6] shows that Z/pZ
admits 2 th primitive roots of unity, so that it is suitable for FFT multiplication
for output degrees up to 2 1.
Both variants feature a O(d log(d)) asymptotic complexity; the latter oers a
smoother running time, avoiding the usual abrupt jumps that occur at powers
of 2 in classical Fast Fourier Transforms.
Using fast multiplication enables us to write a fast Euclidean division for
polynomials, using CookSievekingKungs approach through power series inversion [6, Chapter 9]. Recall that this algorithm is based on the remark that the
quotient q in the Euclidean division u = qv + r in K[x] satises
revdeg udeg v (q) = revdeg u (u) revdeg v (v)1 mod xdeg udeg v+1 ,
255
where revm (p) denotes the reverse polynomial xm p(1/x). Hence, computing the
quotient q is reduced to a power series division, which itself can be done in time
O(d log(d)) using Newtons iteration [6, Chapter 9].
Newtons iteration was implemented using middle product techniques [7],
which enable us to reduce the cost of a direct implementation by a constant
factor (these techniques are particularly easy to implement when using FFT
multiplication, and are already described in this case in [14].
Our last ingredient is GCD computation. We implemented both the classical
Euclidean algorithm, as well as its faster divideandconquer variant using socalled HalfGCD techniques [6, Chapter 11]. The former features a complexity
in O(d2 ), whereas the latter has cost in O(d log(d)2 ), but is hindered by a large
multiplicative constant hidden by the bigO notation.
2.4
Code Connection
Open AXIOM is based on GNU Common Lisp (GCL), GCL being developed
in C [12]. We follow the GCL developers approach to integrate our C level
code into GCLs kernel. The crucial step is converting dierent polynomial data
representations between AXIOM and the ones in our C library via GCL level.
The overhead of these conversions may signicantly reduce the eectiveness of
our C implementation. Thus, good understanding of data structures in AXIOM
and GCL is a necessity to establish an ecient code connection.
Experimentation
In this section, we compare our specialized domain constructor DUP2 with our
generic domain constructor DUP and the standard AXIOM domain constructor
SUP. Our experimentation takes place into the polynomial rings:
Ap = Z/pZ[x],
Bp = (Z/pZ[x]/m)[y],
for a machine word prime number p and an irreducible polynomial m Z/pZ[x].
The ring Ap can be implemented by any of the three domain constructors DUP2,
DUP and SUP applied to PF(p), whereas Bp is implemented by either DUP and SUP
applied to Ap . In both Ap and Bp , we compare the performances of factorization
and resultant computations provided by theses dierent constructions. These
experimentations deserve two goals.
(G1 ) When there is a large proportion of the running time which is spent in
computing products, remainders, quotients, GCDs in Ap , we believe that
there are opportunities for signicant speedup when using DUP2 and we
want to measure this speedup w.r.t. SUP and DUP.
(G2 ) When there is a little proportion of the running time which is spent in
computing products, remainders, quotients, GCDs in Ap , we want to check
whether using DUP2, rather than SUP and DUP, could slow down computations.
Schost
X. Li, M.M. Maza, and E.
256
For computing univariate polynomial resultants over a eld, AXIOM runs the
package PseudoRemainderSequence implementing the algorithms of Ducos [3].
This package takes R: IntegralDomain and polR: UnivariatePolynomialCategory(R) as parameters. However, this code has its private divide operation
and does not rely on the one provided by the domain polR. In fact, the only nontrivial operation that will be run from polR is addition! Therefore, if polR has
a fast division with remainder, this will not benet to resultant computations
performed by the package PseudoRemainderSequence. Hence, in this case, there
is very little opportunities for DUP2 to provide speedup w.r.t. SUP and DUP.
For squarefree factorization over a nite eld, AXIOM runs the package
UnivariatePolynomialSquareFree. It takes RC: IntegralDomain P: UnivariatePolynomialCategory(RC) as parameters. In this case, the code relies on
the operations gcd and exquo provided by P. Hence, if P provides fast GCD computations and fast divisions, this will benet to the package UnivariatePolynomialSquareFree. In this case, there is a potential for DUP2 to speedup
computations w.r.t. SUP and DUP.
30
160
SUP(FP(p))
DUP2(FP(p))
SUP(FP(p))
DUP2(FP(p))
140
25
120
Time [sec]
Time [sec]
20
15
100
80
60
10
40
5
20
0
0
500
1000
1500
2000
2500 3000
Degree
Fig. 1. Resultant
Z/pZ[x]
3500
4000
4500
computation
5000
in
1000 2000 3000 4000 5000 6000 7000 8000 9000 10000
Degree
We start the description of our experimental results with resultant computations in Ap = Z/pZ[x]. As mentioned above, this is not a good place for obtaining
signicant performance gain. Figure 1 shows that computations with DUP2 are
just slightly faster than those with SUP. In fact, it is satisfactory to verify that
using DUP2, which implies datatype conversions between the AXIOM and C
datastructures, does not slow down computations.
We continue with squarefree factorization and irreducible factorization in
Ap . Figure 2 (resp. Figure 3) shows that DUP2 provides a speedup ratio of 8
(resp. 7) for polynomial with degrees about 9000 (resp. 400). This is due to
the combination of the fast arithmetic (FFTbased multiplication, Fast division,
HalfGCD) and highly optimized code of this domain constructor.
In the case of irreducible factorization, we could have obtained a better ratio
if the code was more generic. Indeed, the irreducible factorization over nite
elds in AXIOM involves a package which has its private univariate polynomial arithmetic, leading to a problem similar to that observed with resultant
257
4
SUP(FP(p))
DUP2(FP(p))
SUP(SUP(FP(p)))
DUP(DUP(FP(p)))
DUP(DUP2(FP(p)))
3.5
200
Time [sec]
Time [sec]
150
100
2.5
2
1.5
1
50
0.5
0
0
0
50
100
150
200
Degree
250
300
350
400
in
10
20
30
40
50
60
Total Degree
Fig. 4. Resultant
(Z/pZ[x]/m)[y]
3000
70
80
90
computation
100
in
35
SUP(SUP(FP(p)))
DUP(DUP(FP(p)))
DUP(DUP2(FP(p)))
30
2500
AXIOMApr06
Magma2.112
Maple9.5
25
Time [sec]
Time [sec]
2000
1500
20
15
1000
10
500
0
0
Total Degree
500
1000
1500
2000
2500
3000
3500
4000
4500
5000
Total Degree
in
Conclusion
The purpose of this study is to measure the impact of our C level specialized
implementation for fast polynomial arithmetic on the performances of AXIOM
258
Schost
X. Li, M.M. Maza, and E.
References
1. W. Bosma, J. J. Cannon, and G. Matthews. Programming with algebraic structures: design of the Magma language. In ISSAC94, pages 5257. ACM Press,
1994.
2. The Computational Algebra Group in the School of Mathematics and Statistics at
the University of Sydney. The MAGMA Computational Algebra System for Algebra, Number Theory and Geometry. http://magma.maths.usyd.edu.au/magma/.
3. L. Ducos. Optimizations of the subresultant algorithm. J. of Pure Appl. Alg.,
145:149163, 2000.
4. T. F
arnqvist. Number theory meets cache locality: ecient implementation of
a small prime FFT for the GNU Multiple Precision arithmetic library. Masters
thesis, Stockholms Universitet, 2005.
Schost. Implementation techniques for
5. A. Filatei, X. Li, M. Moreno Maza, and E.
fast polynomial arithmetic in a highlevel programming environment. In ISSAC06,
pages 93100. ACM Press, 2006.
6. J. von zur Gathen and J. Gerhard. Modern Computer Algebra. Cambridge University Press, 1999.
7. G. Hanrot, M. Quercia, and P. Zimmermann. The middle product algorithm, I.
Appl. Algebra Engrg. Comm. Comput., 14(6):415438, 2004.
8. J. van der Hoeven. The truncated Fourier transform and applications. In ISSAC04,
pages 290296. ACM Press, 2004.
9. http://www.shoup.net/ntl. The Number Theory Library. V. Shoup, 19962006.
10. R. D. Jenks and R. S. Sutor. AXIOM, The Scientic Computation System.
SpringerVerlag, 1992.
11. X. Li. Ecient management of symbolic computations with polynomials, 2005.
University of Western Ontario.
12. X. Li and M. Moreno Maza. Ecient implementation of polynomial arithmetic
in a multiplelevel programming environment. In A. Iglesias and N. Takayama,
editors, ICMS 2006, pages 1223. Springer, 2006.
13. P. L. Montgomery. Modular multiplication without trial division. Math. of Comp.,
44(170):519521, 1985.
14. V. Shoup. A new polynomial factorization algorithm and its implementation. J.
Symb. Comp., 20(4):363397, 1995.
15. S. M. Watt, P. A. Broadbery, S. S. Dooley, P. Iglio, S. C. Morrison, J. M. Steinbach,
and R. S. Sutor. A rst report on the A# compiler. In ISSAC94, pages 2531.
ACM Press, 1994.
Algimantas Cepulkauskas
, Regina Kulvietiene1 , Genadijus Kulvietis1 ,
and Jurate Mikucioniene2
1
Abstract. A semianalytical approach, combining the features of analytical and numerical computations, is proposed. Separating the linear
and nonlinear parts of equations of motion, the harmonic balance method
and computer algebra have been synthesized for obtaining analytical solutions of the nonlinear part, whereas the linear part was solved by the
numerical methods. On the basis of this technique, the numerical investigation of abrasive treatment process dynamics has been performed and
regimes ensuring the most eective treatment process determined.
Introduction
Mechanical systems exhibiting impacts, socalled impact oscillators in the English literature at the present time, or vibroimpact systems in the Russian literature, are strongly nonlinear or piecewise linear, due to sudden changes in
velocities of vibrating bodies at the instant of impact or friction forces when the
velocity of motion changes its polarity. Their practical signicance is considerable and the investigation of the motion of such systems was begun about fty
years ago [7].
Several methods of the theoretical analysis were developed and dierent models of impacts were presented [1,6,7]. The method of tting which uses the
Newton restitution coecient seems to be most important. It is accurate and
applicable under the assumption that the time during an impact is negligible. It
can solve certain assumed periodic impact motion and its stability, but this procedure can be realized in the explicit form only for simple mechanical systems,
simple types of periodic motion, and for undamped impactless motion.
As usual, the solution method must correlate with the type of motion equations and concurrently with the character of the initial mechanic system. The
harmonic balance method was chosen for the investigation of a vibratory abrasive
treatment process [2,8] as it is easily applied to systems where calculations are
made by computer algebra methods and, in this case, considerably less computer
memory is needed than by other methods [3]. As a result, we obtain a nonlinear algebra equation system with many very short expressions. So it is possible
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 259262, 2007.
c SpringerVerlag Berlin Heidelberg 2007
260
A. Cepulkauskas
et al.
and expedient to process the results by numerical methods. The analytic calculation system VIBRAN is extremely eective in this case. Since an adequate
method for solving the motion equation of dynamically complicated systems has
to contain a large amount of analytic as well as numerical calculations, there
must be a strong program connection among them. The analytic calculation
system VIBRAN was selected in order to ensure this connection [3].The system
is designed to generate subroutines in FORTRAN, to select and reject excessive
operations while generating programs in accordance with analytic expressions.
Besides, this system stands out by exibility of inputoutput and the unique
means for operations with sparse matrices.
Consider the system of s degrees of freedom with the Lagrangian function [5]:
L = L(qi , qi , t) (i = 1, 2, ...s),
(1)
= Fqi .
(2)
dt qi
qi
These equations can be divided into the linear and nonlinear parts by formal
replacements L = LL + LN and Fqi = FLi + FN i . The equations of motion may
now be expressed in the form:
d LL
LL
d LN
LN
FLi +
FN i = 0,
(3)
dt qi
qi
dt qi
qi
where Fqi , FN i , FLi are generalized force, nonlinear (polynomial with respect to
generalized coordinates and periodical or Fourier expansion of time) and linear
parts; and LN , LL are nonlinear and linear parts of the Lagrangian function,
respectively.
The linear part can be formalized for numerical analysis without diculty and
we used special VIBRAN programs to analyze the nonlinear part of the system.
The proposed method provides shorter expressions for analytical computation
and allows the analysis of systems of higher order. After some wellknown perturbations, the equations of motion can be rewritten in the matrix form:
[M ]{
q} + [B]{q}
+ [C]{q} = {H(q, q,
t)} + {f (t)},
(4)
(5)
261
where {Ai } are the unknown vectors that can be found by the nonlinear algebraic
equations.
According to the harmonic balance method, these equations for the rst three
vector coecients in the matrix form are:
[U ] {A} {f } {H(A)} = {0} ,
(6)
The new method for the treatment of miniature ringshaped details was proposed
in [8], where the internal surface of the detail is treated as well as an external
one. During the vibratory treatment process the working medium particles are
constantly striking each other. As a result, slight scratches and cratershaped
crevasses occur on the surface of treated details that form the surface microrelief. In this way, abrasive friction and impacts on the treated details perform
the treatment process.
The equations of motion describe the dynamics of a vibratory abrasive treatment process [5]:
1 + bx 1 + bk (x 1 x a ) + (c + c1 )x1
m1 x
ma x
a + bx a + bk (x a x 1 ) + cxa = c(t) + F2 sign(x 1 x a ) + b(t).
where m1 is the mass of components treated; ma is the mass of abrasive particles; the load mechanical properties are evaluated by elasticity c and working
medium resistance b; F1 , F2 are forces of dry friction between a component and
abrasive; bk is viscosity resistance; the elasticity of magnetic eld is evaluated by
a stiness coecient c1 , the detail was additionally excited by generating a variable component of magnetic eld Fm (x1 ). Its stiness properties were obtained
experimentally by the least squares method.
The kinematics excitation of a loaded vessel is (t) = A sin t.
Analytic expressions obtained according to the VIBRAN program conclude
the part of analytic calculations of H(A) [3]. The corresponding derivatives are
very simple and there are only 25 nonzero terms.
All the properties complying with the dynamic pattern of the process are
investigated in the numerical way and the program itself is composed in the
FORTRAN language. For this reason, in order to calculate the factors of analytic expressions and their partial derivatives, two FORTRAN subroutines have
262
A. Cepulkauskas
et al.
been generated: one for compiling a dictionary and another for calculating the
expressions themselves. Besides, the program, created by applying the harmonic
balance method for systems of dierential equations in addition to the equations
where amplitudes and constant components are found, also presents equation
derivatives from unknown quantities. In this case, one or some criteria of further
numerical parameter optimization may be calculated.
Conclusions
References
1. Baron, J.M.: Abrasive and Magnetic Treatment of Details and Cutters, St. Petersburg, Mashinostrojenie (in Russian), (1986)
2. Blekhman, I.I.: Forming the properties of nonlinear mechanical systems by means of
vibration, Proc. IUTAM/IFToMM Symposium on Synthesis of Nonlinear Dynamical
Systems, Solid Mechanics and Its Applications, vol. 73, Kluwer Academic Publ.,
Dordrecht (2000) 113.
3. Cepulkauskas, A., Kulvietiene, R., Kulvietis G.: Computer Algebra for Analyzing
the Vibrations of Nonlinear Structures. Lecture Notes in Computer Science, Vol.
2657. SpringerVerlag, Berlin Heidelberg New York (2003) 747753
4. Klymov, D.O., Rudenko, V.O.: Metody kompiuternoj algebry v zadachah mechaniki
Nau , O(r)scow, (in russian), (1989)
5. Kulvietiene, R., Kulvietis, G., Fedaravicius, A., Mikucioniene, J.: NumericSymbolic
Analysis of Abrasive Treatment Process Dynamics, Proc. Tenth World Congress of
the Theory of Machines and Mechanisms, Vol. 6, Oulu, Finland, (1999) 25362541
6. Lewandowski, R.: Computational Formulation for periodic vibration of Geometrically Nonlinear Structures Part 1: Theoretical Background.  Int. J. Solid Structures, 34 (15) (1997) 19251947
7. Malkin, I.G.: Some Problems of Nonlinear Oscillation Theory, Moscow, Gostisdat
(in russian), (1956)
8. Mikucioniene, J.: Investigation of vibratory magnetic abrasive treatment process
dynamics for miniature details, Ph.D. Thesis, KTU, Technologija, Kaunas, (1997)
1 Introduction
With the latest advancement of semiconductors technology, the integration of the digital, analog and mixedsignal (AMS) designs into a single chip was possible and led into
the development of System on Chip (SoC) designs. One of the main challenges of SoC
designs is the verification of AMS components, which interface digital and analog parts.
Traditionally, analyzing the symbolically extracted equations is done through simulation [1]. Due to its exhaustive nature, simulation of all possible scenarios is impossible,
and hence it cannot guarantee the correctness of the design. In contrast to simulation,
formal verification techniques aim to prove that a circuit behaves correctly for all possible input signals and initial conditions and that none of them drives the system into
an undesired behavior. In fact, existing formal methods [2] are time bounded, where
verification is achieved only on a finite time interval. We overcome this limitation by
basing our methodology on mathematical induction, hence any proof of correctness of
the system is time independent. In this paper, we show how symbolic algebra in Mathematica can be used to formally verify the correctness of AMS designs. We illustrate
our methodology by applying it to prove the stability of a modulator [3].
The proposed verification methodology is based on combining induction and constraints solving to generate correctness proof for the system. This is achieved in two
phases; modeling and verification, as shown in Figure 1. Starting with an AMS description (digital part and analog part) and a set of properties, we extract, using symbolic
simulation, a System of Recurrence Equations (SRE) [4]. These are combined recurrence relations that describe each property in terms of the behavior of the system. SRE
is used in the verification phase along with an inductive based proof with constraints
defined inside Mathematica (details can be found in [4]). If a proof is obtained, then the
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 263267, 2007.
c SpringerVerlag Berlin Heidelberg 2007
264
property is verified. Otherwise, we provide counterexamples for the nonproved properties using reachability criteria. If the counterexample is realistic (strong instance),
then we have identified a problem (bug) in the design, otherwise the counterexample is
spurious (weak instance) and should be eliminated from the verification process.
AMS Description
Analog
Properties
Digital
Symbolic
Simulation
System of Recurrence
Equations (SRE)
Modeling
Verification
Verified
True
Constraints
Refinement
Yes
Inductive Proof
With Constraints
No
Counterexample
Counterexample
Analyzer
Weak
Instance
Strong Instance
Verified
False
2 Implementation in Mathematica
An SRE is a system of the form: Xi (n) = fi (X j (n )), ( j, ) i , n Z, where
fi (X j (n )) is a generalized Ifformula (see [5] for a complete definition). The set i
is a finite non empty subset of 1, . . . , k N. The integer is called the delay. A property
is a relation of the form: P = quanta(X, cond, expr), where quanta {, }, X is a set
of variables. cond is a logical proposition formula constructed over X and expr is an
Ifformula that takes values in the Boolean Domain B.
Proving Properties. Mathematical induction is then used to prove that a property P(n)
holds for all nonnegative integers n n0 , where n0 is the time point after which the
property should be True:
Prove that P(n0 ) is True.
Prove that n > n0 , P(n) P(n + 1).
The induction algorithm is implemented in Mathematica using functions like Reduce,
Assuming and Re f ine. It tries to prove a property of the form quanta(X, cond, expr),
otherwise it gives a counterexample using FindCounterExample:
If Prove(quanta(X, cond, expr)) = True then
Return(True)
else
FindCounterExample(cond expr, var)
Finding Counterexamples. The basic idea is to find particular variable values for
which the property is not satisfied. This is implemented using the Mathematica function FindInstance[expr, vars, assum]. It finds an instance of vars that makes expr True
265
if an instance exists, and gives {} if it does not. The result is of the following form
{{v1 instance1, v2 instance2, . . . , vm instancem }}, where vars={v1 , v2 , . . . , vm }.
FindInstance can find instances even if Reduce cannot give a complete reduction. For
example, the Mathematica command FindInstance [x2 ay2 == 1 && x > y, {a, x, y}]
returns {{a 12 , x 12 , y 1}}
We need to insure that the instance is reachable by the SRE before considering it as a
counterexample. For example, we verify the recurrence equation Un = Un1 + 1 against
the property n > 0. Pn = Un > 0. FindInstance transforms Pn to an algebraic one and
gives the instance Un1 2. However, this instance will never be reachable by Un for
U0 = 0. Depending on the reachability, we name two types of SRE instances:
Strong instance: if it is given as a combination of of the design input values. Then,
the counterexample is always reachable.
Weak instance: if it is a combination of input values and recurrence variables values.
In this case,there in no guarantee that the counterexample is reachable.
If the recurrence equations are linear and if the conditions of the Ifformula are
monotones, then we can search directly for a reachable strong instance. We can solve
these equations in Mathematica using the function RSolve[Eq1, Eq2 , . . ., Xi (n), . . ., n]. It
returns an explicit solution of the SRE {Eqn } in terms of time relations where the time
n is an explicit parameter. We use RSolve to identify a time point at which a desired
behavior is reached.
3 FirstOrder Modulator
modulators [3] are used in designing data converters. It is stable if the integrator output remains bounded under a bounded input signal. Figure 2 shows a firstorder of
onebit with two quantization levels, +1V and 1V. The quantizer (input signal y(n))
should be between 2V and +2V in order to not be overload. The SRE of the is :
y(n) = y(n 1) + u(n) v(n 1)
v(n 1) = IF(y(n 1) > 0, 1, 1)
u[n]
y[n]
v[n]
Z1
Z1
266
in[1]:= Reduce[
ForAll[{u,y[n1]}, And[1< u < 1, 2< y[n1] < 2 ],
And[(1+u+y[n1] 2) ,(1+u+y[n1] 2)]], {u,y[n1]}, Reals]
out[1]:= True
Property 2. u > 1 y(0) 1 y(n) > 2. If the input to the modulator does not
conform to the stability requirement in Property 1, then the modulator will be unstable:
in[1]:= FindInstance[And[ 1<u , 1> y>0 ,(1+u+y>2) ],u,y]
out[1]:= {u 72 , y 12 }
As y = 12 is already a valid state for y[n], then the instance is weak. We refine the
instance by adding it to the constraints list and restart the proof:
in[1]:= Assuming[And[ u
out[1]:= True
7
2
7
2,
Property 3. u 1 y(0) > 2 n0 > 0 n > n0 . y(n) < 2. If the input of the
quantizer is distorted and cause the modulator to be temporarily unstable, the system
will return to stable region and stay stable afterwards; which means that there exist
an n for which the modulator will be stable for all n > n0 . Rsolve is used along with
FindInstance to search for this n0 . We have two cases: y[n 1] > 0 and y[n 1] < 0. In
Mathematica to prove the property, we write:
in[1]:= Eq=y[n+1]==(1+u+y[n]);
RSolve[Eq&&y[0]== a ,y[n],n]
out[1]:= y[n] an+n u
in[2]:= Reduce[a+n+n u>2 && u>1 && a Reals,n]
out[2]:= a Reals && u > (1) && n > 2a
1+u
in[3]:= FindInstance[a < 2 && n > 2 && 1 > u > 0.5 &&
n > 2a
, {a, u,n}]
(1+u
out[3]:= {a 5.5, u 0.75, n 4}
Thus, we have found a time value which provides a proof for the property: n > 2a
1+u .
As the property is formalized using the existential quantifier, it is enough to find one
instance: n0 4 .
4 Conclusions
We have presented how Mathematica can be used efficiently to implement a formal verification methodology for AMS designs. We used the notion of SRE as a mathematical
model that can represent both the digital and analog parts of the design. The induction
based technique traverses the structure of the normalized properties and provides a correctness proof or a counterexample, otherwise. Our methodology overcomes the time
bound limitations of conventional exhaustive methods. Additional work is needed in
267
order to integrate the methodology in the design process, like the automatic generation
of the SRE model from design descriptions given in HDLAMS languages.
References
1. Gielen, G.G.E., Rutenbar, R.A.: Computeraided Design of Analog and Mixedsignal Integrated Circuits. In: Proceedings of the IEEE. Volume 88. (2000) 18251852
2. Zaki, M.H., Tahar, S., Bois, G.: Formal Verification of Analog and Mixed Signal Designs:
Survey and Comparison. In: NEWCAS06, Gatineau, Canada, IEEE (2006)
3. Schreier, R., Temes, G.C.: Understanding DeltaSigma Data Converters. IEEE PressWiley
(2005)
4. AlSammane, G., Zaki, M.H., Tahar, S.: A Symbolic Methodology for the Verification of
Analog and Mixed Signal Designs. In: DATE07, Nice, France, IEEE/ACM (2007)
5. AlSammane, G.: Simulation Symbolique des Circuits Decrits au Niveau Algorithmique. PhD
thesis, Universite Joseph Fourier, Grenoble, France (2005)
Introduction
269
In this section we describe our strategies for the inclusion test of quasicomponents based on the RegularChains library. We refer to [1,6,5] for the
notion of a regular chain, its related concepts, such as initial, saturated ideals,
quasicomponents and the related operations.
Let T, U K[X] be two regular chains. Let hT and hU be the respective
products of their initials. We denote by sat(T ) the saturated ideal of T . We
discuss how to decide whether the quasicomponent W (T ) is contained in W (U )
or not. An unproved algorithms for this inclusion test is stated in [4]; it appeared
not to be satisfactory in practice, since it is relying on normalized regular chains,
which tend to have much larger coecients that nonnormalized regular chains
as veried experimentally in [2] and formally proved in [3].
Proposition 1. The inclusion W (T ) W (U ) holds if and only if the following
both statements hold
(C1 ) for all p U we have p sat(T ),
(C2 ) we have W (T ) V (hU ) = .
If sat(T ) is radical, then condition (C1 ) can be replaced by:
(C1 ) for all p U we have p sat(T ),
which is easier to check. Checking (C2 ) can be approached in dierent
ways, depending on the computational cost that one is willing to pay. The
RegularChains library provides an operation Intersect(p, T ) returning regular
chains T1 , . . . , Te such that we have
V (p) W (T ) W (T1 ) W (Te ) V (p) W (T ).
A call to Intersect can be seen as relatively cheap, since Intersect(p, T ) exploits
the fact that T is a regular chain. Checking
(Ch ) Intersect(hU , T )=,
is a good criterion for (C2 ). However, when Intersect(hU , T ) does not return
the empty list, we cannot conclude. To overcome this limitation, we rely on
Proposition 2 and the operation Triangularize of the RegularChains library.
For a polynomial system, Triangularize(F ) returns regular chains T1 , . . . , Te such
that V (F ) = W (T1 ) W (Te ).
Proposition 2. The inclusion W (T ) W (U ) holds if and only if the following
both statements hold
(C1 ) for all p U we have p sat(T ),
(C2 ) for all S Triangularize(T {hU }) we have hT sat(S).
This provides an eective algorithm for testing the inclusion W (T ) W (U ).
However, the cost for computing Triangularize(T {hU }) is clearly higher than
that for Intersect(hU , T ), since the former operation cannot take advantage of
the fact T is a regular chain.
270
C. Chen et al.
271
Certication
(Deterministic)
RC time(s)
17
1.240
7
0.259
27
8.470
4
8.353
5
60.108
16 123.052
5
7.828
120 135.780
9 101.668
7
6.688
Heuristic
(C1 ) and (Ch )
(with split)
RC time(s)
17
0.270
7
0.147
27
3.358
4
6.429
8 54.455
18 96.492
5
5.180
124 48.756
10 105.598
7
5.881
Certication
(Deterministic)
RC time(s)
17
1.214
7
0.325
27
8.239
4
14.045
8 109.928
18 203.937
5
12.842
120 148.341
10 217.837
7
7.424
References
1. P. Aubry, D. Lazard, and M. Moreno Maza. On the theories of triangular sets. J.
Symb. Comp., 28(12):105124, 1999.
2. P. Aubry and M. Moreno Maza. Triangular sets for solving polynomial systems: A
comparative implementation of four methods. J. S. Com., 28(12):125154, 1999.
Schost. Sharp estimates for triangular sets. In ISSAC 04, pages
3. X. Dahan and E.
103110. ACM, 2004.
4. D. Lazard. A new method for solving algebraic systems of positive dimension.
Discr. App. Math, 33:147160, 1991.
5. F. Lemaire, M. Moreno Maza, and Y. Xie. The RegularChains library. In Ilias S.
Kotsireas, editor, Maple Conference 2005, pages 355368, 2005.
6. M. Moreno Maza. On triangular decompositions of algebraic varieties. Technical
Report TR 4/99, NAG Ltd, Oxford, UK, 1999. http://www.csd.uwo.ca/moreno.
7. A.J. Sommese, J. Verschelde, and C.W. Wampler. Numerical decomposition of the
solution sets of polynomial systems into irreducible components. SIAM J. Numer.
Anal., 38(6):20222046, 2001.
8. The SymbolicData Project. http://www.SymbolicData.org, 20002006.
9. D. Wang. Elimination Methods. Springer, 2001.
10. G. Lecerf. Computing the equidimensional decomposition of an algebraic closed
set by means of lifting bers. J. Complexity, 19(4):564596, 2003.
Abstract. The surfactant shell stabilising the calcium cabonate core in overbased
detergent additives of lubricant base oils was characterised by computational and
experimental methods, comprising classical forcefield based molecular simulations and spinprobe Electron Spin Resonance spectroscopy. An atomistic model
is proposed for the detergents micelle structure. The dynamical behaviour observed during diffusion simulations of three nitroxide spinprobe molecules into
micelle models could be correlated to their mobility as determined from ESR
spectra analysis. The molecular mobility was found to be dependent on the
chemical nature of the surfactants in the micelle external shell.
1 Introduction
The lubrication of modern internal combustion engines requires the addition of specific additives to the base oils to improve the overall performance (minimization of
corrosion, deposits and varnish formation in the engine hot areas) [1]. Calcium sulphonates are the most widely used metallic detergent additives. They are produced by
sulfonation of synthetic alkylbenzenes. The simplest member would be a neutral alkylbenzene sulphonate with an alkyl solubilizing group approximately C18 to C20 or
higher to provide adequate oil solubility. In addition to metallic detergents such as the
neutral sulphonate, modern oil formulations contain basic compounds which provide
some detergency. Their main function, however, is to neutralize acid and to prevent
corrosion from acid attack. It is economically advantageous to incorporate as much
neutralizing power in the sulphonate molecule as possible: excess base in the form of
calcium carbonate can be dispersed in micelles [2, 3] to produce the socalled overbased sulphonates. Dispersions of calcium carbonate stabilized by calcium sulphonates have been characterized [4] using different techniques: electron microscopy [5],
ultracentrifugation [6], and neutron scattering [7]. SAXS results show that overbased
calcium sulphonates appear as polydisperse micelles having an average calcium carbonate core radius of 2.0 nm with a standard deviation of 0.4 nm [8]. The overbased
calcium sulphonates form reverse micelles in oil, consisting of amorphous calcium
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 272279, 2007.
SpringerVerlag Berlin Heidelberg 2007
273
carbonate nanoparticles surrounded by sulphonate surfactants. The polar heads (sulphonate) are attached to the metal core, while the hydrocarbon tails of hydrophobic
nature stabilize the colloidal particle in the nonpolar oil medium. Coupling three surface analyses techniques (XPS, XANES and ToFSIMS) it was observed that there is
a presence of some residual calcium hydroxide in the micellar core which is located
prevalently at the surroundings of the micelle core [9]. ToFSIMS shows that the molecular structures of detergent molecules are in good agreement with micelles synthesis data; little is still known on surfactant shell physical nature.
The compactness of the surfactant shells could play an important role to prevent
negative consequences due to the interaction of carbonate core with other additives
used in oil formulation or with water molecules. Such interactions cause the calcium
carbonate separation by precipitation. In this study the molecular dynamics within the
surfactant shell was probed in a combined computational and experimental approach
by a small nitroxide such as TEMPO (2,2,6,6tetramethylpiperidineNoxyl) and two
nitroxidelabelled fatty acids (5 and 16doxylstearic acids). In fact, nitroxides are
known to exhibit ESR spectra that depend on the mobility of the spinprobe and the
microviscosity of the probe environment. They have been used to evaluate the microstructure of the absorbed layer of surfactants and polymers at the solidliquid interface
[1014] and also inside composite polymers [15, 16].
Detailed threedimensional models were previously proposed for small overbased
micelles containing various classes of surfactants [1721]. Experimental measurements collected in our laboratory (data not shown) pointed to a couple of important
micelle features: a flat disk shape for the inner core and a tightly packed outer shell.
The core is mainly composed of amorphous calcium carbonate and it is surrounded by
a distribution of surfactant molecules, arranged as a single layer with polar groups
contacting the core surface. The diffusion of TEMPO and labelled fatty acids through
the overbased micelle surfactant shell was simulated by a classical molecular mechanics methodology. The forcefield based simulations protocols were applied to detailed
atomistic models, which were built limited to the central portion of the micelle structure and contain all its essential features. The slow molecular motions of the stable
surfactant layer around the rigid inorganic core could be reproduced by performing
molecular dynamics calculations. Furthermore, the movements of the nitroxide spinprobes were studied by an approach combining forced diffusion and constraintfree
molecular dynamics. Stable locations of such small molecules could be defined for
each micelle model under investigation.
It is assumed that the polar head groups of the probe molecules (nitroxide for
TEMPO and carboxylic for fatty acids) tend to be placed on the surface of the calcium
carbonate cores. ESR spectra give information about the viscosity of the local environment at different distances from carbonate surface (at the boundary for TEMPO,
while at 5 and 16 carbon positions for the two spinlabelled fatty acids). In our laboratory different surfactant molecules were used in the synthesis of overbased detergents with high calcium carbonate content, expressed as Total Base Number (the
amount of soluble colloidal carbonate and of metal oxide and hydroxide, measured as
equivalent milligrams of KOH per gram of sample [22]). Three overbased detergents
with TBN=300 and a mixture of mono and dialkylbenzenesulphonate were
analyzed.
274
2 Experimental Methods
An approach combining computer graphics and atomistic simulations [17, 19]
produced a detailed model for the central portion of the overbased micelle structure.
The essential model features (thickness and internal structure of the core, concentration and location of excess hydroxide ions, density and molecular arrangement of the
shell) were inferred from analytical determinations performed on the detergent micelles that were produced in our laboratories (data not shown). Different relative concentrations of the surfactants were used to build the external shell of three micelle
models, referred to as model a, b, c throughout this paper. The starting molecular and
ionic building blocks were selected and manually manipulated within the InsightII
[23] graphical interface in order to set up initial atomic distributions. A partial micelle
model was built as an inorganic slab surrounded by two surfactant layers, one on top
of each of its largest surfaces. Threedimensional periodic boundary conditions were
constantly applied during simulations in order to avoid model truncation effects.
Atomic parameters were assigned from the pcff force field [24]. Afterwards an amorphous calcium carbonate core (with a small concentration of hydroxide ions) and a
tight surfactant shell were generated by applying stepwise Monte Carlo docking and
molecular dynamics [25] to limited portions of the micelle models. These simulations
were performed by using InsightII and Discover [23], respectively. Along this part of
the model building process, the uninvolved atoms were kept frozen. Nitroxide spinprobes were then added to the system assembly, after subjecting the obtained micelle
models to extensive energy relaxation. The starting configurations contain a small
cluster of spinprobe molecules, packed in a single layer contacting the micelle surfactant shell. Respectively, 14 molecules of TEMPO, 6 of 5doxylstearic acid and 6
of 16doxylstearic acid were used. The forced diffusion procedure available within
InsightII [23] was carefully tailored to suit the overbased micelle model features. Its
application followed the thorough energy minimisation of each one of the starting
system configurations. Since the molecular motions within tightly packed assemblies
are very slow, they were accelerated by adding a directional force for a very short
time period at the beginning of the simulations, with the effect of gently pushing the
nitroxide spinprobes toward the micelle core. In this way the extremely long process
of generating spontaneous but unfrequent diffusion pathways could be avoided and
the simulations were concentrated on the more interesting task of studying the small
molecule motions throughout the micelle surfactant shell. The potential energy of the
system and the relative distances between the nitroxide groups of the spinprobes and
the micelle core center were derived by analysing the trajectories collected during the
following free molecular dynamics simulations. These values were finally compared
to the results from equivalent simulations, performed without the previous application
of the forced diffusion protocol and used as a reference (nondiffusive) state.
All spinprobe molecules (Aldrich Chemie) were diluted at 0.3 mM concentration
into a mixture of SN150/SN500 (produced by ENI according to ASTM standard
specification) lubricant bases (2/1 by weight). The overbased detergents were dissolved (at 30% by weight) into the spinprobe/lubricant solutions. The ESR spectra
were collected with a Bruker ESP 300E spectrometer conditioned at a temperature
of 50C.
275
3 Results
The diffusion pathways of TEMPO and of 5 and 16 spinprobe labelled stearic acids
were followed and compared in the three modelbuilt partial micelles (identified as a,
b, c) with share an identical inorganic core but differ by the molecular distribution of
surfactants in the external shell.
Epot vs dist
TEMPO in a, b, c
1500
1000
500
0
500
0
10
15
Fig. 1. Plot (left): distance () vs Epotential (kcalmol1) from the simulation of TEMPO into
micelle models a (grey), b (blue), c (magenta). Pictures (right): simulation boxes with 14 molecules (orange, Van der Waals) diffused into models a (green), b (yellow), c (cyan), composed
of inorganic core (Van der Waals) and surfactant layers (ball and stick).
The force constant application produced diffusive pathways during dynamics trajectories (Fig. 1) for the micelle models containing TEMPO. The average penetration
depth of the TEMPO nitroxide group into the micelle model is shortest and most energetically unfavourable (Fig. 1, left) within model a, while the results are slightly
better with model b and at their best within model c. The potential energy cost payed
for the production of TEMPO diffusive pathways appears high and generally increasing with the force constant value. For fast comparison among the micelle models only
very short trajectories were analysed. Further, longer molecular dynamics simulations
(data not shown) completely release all strain accumulated during the first part of the
Epot vs dist
d5sta in a, b, c
1500
1000
500
0
500
0
10
15
Fig. 2. Plot (left): distance () vs Epotential (kcalmol1) from the simulation of 5doxylstearic acid into micelle models a (grey), b (blue), c (magenta). Pictures (right): simulation
boxes with 6 molecules (orange, Van der Waals) diffused into models a (green), b (yellow), c
(cyan), composed of inorganic core (Van der Waals) and surfactant layers (ball and stick).
276
diffusive process, while the final configurations do not differ significantly. One of the
final, energetically relaxed TEMPO diffusion configurations is depicted for each of
the three models a, b, c (Fig. 1, right). While most spinprobe molecules are located
into the surfactant shell, only a few of them can get in contact with the carbonate core.
These results can be compared to the dynamic behaviour of 5doxylstearic acid
(Fig. 2). The average equilibrium penetration depth towards the micelle core (Fig. 2,
left) is similar to what observed with TEMPO, but the generally lower potential
energy cost reveals an easier diffusion through the surfactant shell. Anyway the structure of the two spinprobes is different: the stearic acid bears a nitroxide group laterally grafted to its long tail, therefore the reported distances from the micelle core
(Fig. 2) apply to a longer molecule than in the case of TEMPO (Fig. 1). However, the
order of spinprobe diffusion efficiencies through the three micelle models is again
found as: a < b < c. Three of the resulting relaxed configurations are reported (Fig. 2,
right). Differently from TEMPO, only a small fraction of the labelled stearic acid
molecules is able to reach a deep location into the surfactant shell.
Epot vs dist
16sta in a, b, c
1500
1000
500
0
500
0
10
15
Fig. 3. Plot (left): distance () vs Epotential (kcalmol1) from the simulation of 16doxylstearic acid into micelle models a (grey), b (blue), c (magenta). Pictures (right): simulation
boxes with 6 molecules (orange, Van der Waals) diffused into models a (green), b (yellow), c
(cyan), composed of inorganic core (Van der Waals) and surfactant layers (ball and stick).
Comparable results were obtained from the analysis of the 16doxylstearic acid
dynamics trajectories (Fig. 3). The average equilibrium penetration depth (Fig. 3, left)
plotted against the potential energy cost still reveals some differences: model c is
slightly favoured over b, and this last over a. Limited penetration into the surfactant
shell is generally observed, compared to 5doxylstearic acid. This can be attributed to
the nitroxide group location further away from the the spinprobe polar head in the
16doxylstearic acid. Three energetically relaxed configurations, resulting from the
interaction of a cluster of 16doxylstearic acid with models a, b, c, are reported
(Fig. 3, right). As previously evidenced, the penetration of the surfactant shell by
these spinprobe molecules is limited and they do not get in close contact with the
core surface, differently from what happens with TEMPO.
The ESR spectra recorded for spinprobe molecules in solutions containing overbased micelles a, b and c are presented in Fig. 4, 5, and 6. Frequently such spectra
show the superimposition of two components, an isotropic triplet produced by freely
moving molecules and an anisotropic feature typical of a species located in a rigid
277
environment. The characteristic shape of that anisotropic signal originates from the
rotation of cylindrical molecules. In the adopted conditions 2A// hyperfine parallel
coupling could be measured on most recorded spectra; its values are reported on
Table 1.
Fig. 4. ESR spectra of a solution of TEMPO in base lubricant oil containing, respectively,
overbased micelles a (top), b (middle), c (bottom)
The results obtained with TEMPO (Fig. 4) clearly show the two components described above. The 2A// values (Table 1) for the three overbased micelles are quite similar to each other, though a somewhat lower rigidity is suggested for model a (Fig. 4,
top). The aspect of ESR spectrum for model b (Fig. 4, middle) is dominated by the isotropic signal, revealing a lower population of the anisotropic species, compared to the
other two overbased micelle solutions.
Fig. 5. ESR spectra of a solution of 5doxylstearic acid in base lubricant oil containing, respectively, overbased micelles a (top), b (middle), c (bottom)
The 2A// values (Table 1) measured for 5doxylstearic acid (Fig. 5) reveal a less
rigid environment around the nitroxide group, as compared to TEMPO. This is
slightly more evident for models b and c (Fig. 5, middle and bottom).
Fig. 6. ESR spectra of a solution of 16doxylstearic acid in base lubricant oil containing, respectively, overbased micelles a (top), b (middle), c (bottom)
278
With the 16labelled stearic acid spinprobe (Fig. 6) a 2A// value could be measured (Table 1) only in the spectrum recorded for micelle a (Fig. 6, top), whereas in the
other cases no hyperfine coupling could be detected by the peak analysis.
Table 1. Hyperfine parallel coupling 2A// values measured from the ESR spectra of overbased
micelle solutions with three different spinprobes
SpinProbe
micelle a
micelle b
micelle c
TEMPO
72.9
74.5
74.1
16doxylstearic acid
69
The differences in mobility observed by comparing the ESR spin probe spectra
mainly ensued from their diverse spinlabel distances from the micelle core polar surface. The carboxyl group of both labelled fatty acids was strongly attracted but could
not reach it through the surfactant shell. On the contrary TEMPO was able to penetrate deeply and produced the highest 2A// values. The larger coupling value for 5doxyl spin probe in micelle a is due to peculiar alkyl chain features of that surfactant
shell. This effect is observed only with labelled fatty acids and is put into greater evidence when the nitroxide sits at a long distance from the micelle core as in 16doxylstearic acid: the 2A// value is higher than for 5doxylstearic acid in micelle a, while
in micelles b and c the mobility is comparable to that of a free molecule in solution.
4 Discussion
The development of new generations of surfactants for lubricant oil additives requires
an accurate characterisation of the reverse micelle structure of the overbased detergents [26]. In this study a combination of experimental and computational results
helped defining a correlation between the chemical nature of the stabilising surfactant
shell and the environmental rigidity imposed upon diffusing small molecules. The
surfactant shell compactness, responsible for the remarkable stabilisation of the
strongly basic micelle core in a nonpolar environment, can be reasonably distinguished from shell viscosity. The first property is commonly attributed to a tight
packing of surfactant aromatic moieties [19, 21], while the second is mainly influenced by the molecular features of their alkyl chains. The ESR spectra analysis contributed a quantitative measurement of the micelle shell viscosity, revealing a subtle
modulation of the mobility experienced by spinprobe molecules in different locations
throughout the surfactant shell. The spinprobes diffusion was found to depend on
both their molecular shape and the polar groups location along the structure. The molecular dynamics simulations of such process provided a pictorial description of the
surfactant shell viscosity effects on diffusion. Moreover, its distance dependence from
the micelle core was quantitatively confirmed. Small molecules like TEMPO were
able to penetrate into a highly rigid environment next to the core surface, while labelled fatty acids were shown to fill the available room among surfactant alkyl chains,
further away from the core. Compared with TEMPO, the nitroxide grafted next to the
fatty acid polar group (5doxylstearic acid) experienced higher mobility. When
279
attached to the apolar end (16doxylstearic acid) molecular freedom was found as
high as in solution and an environmnetal rigidity effect was revealed only by the peculiar surfactant shell structure of micelle a. In conclusion, the previously defined
structural features of overbased reverse micelles [2, 1721, 26] have been further
detailed by this study, in view of developing improved performances as detergent
additives of lubricant base oils.
References
1. Liston, T. V., Lubr. Eng. 48 (1992) 389397
2. Roman, J.P., Hoornaert, P., Faure, D., Biver, C., Jacquet, F., Martin, J.M., J. Coll. Interface Sci. 144 (1991) 324339
3. Bandyopadhyaya, R., Kumar, R., Gandhi, K.S., Langmuir 17 (2001) 10151029
4. Hudson, L.K., Eastoe, J., Dowding, P.J., Adv. Coll. Interface Sci. 123126 (2006) 425431
5. Mansot, J.L. and Martin, J.B., J. Microsc. Spectrosc. Electron., 14 (1989) 78
6. Tricaud, C., Hipeaux, J.C., Lemerle, J., Lubr. Sci. Technol. 1 (1989) 207
7. Markovic, I., Ottewill, R.H., Coll. Polymer. Sci. 264 (1986) 454
8. Giasson, S., Espinat, D., Palermo, T., Ober, R., Pessah, M., Morizur, M.F., J. Coll. Interface Sci. 153 (1992) 355
9. Cizaire, L.; Martin, J.M.; Le Mogne, Th., Gresser, E., Coll. Surf. A 238 (2004) 151
10. Berliner, L.J.: Spin Labeling, Theory and Applications, Academic Press, New York (1979)
11. Dzikovski, B.G., Livshits, V.A., Phys. Chem. Chem. Phys. 5 (2003) 5271
12. Wines, T.H., Somasundaran, P., Turro, N.J., Jockusch, S., Ottaviani, M.F., J. Coll.
Interface Sci. 285 (2005) 318
13. Kramer, G., Somasundaran, P., J. Coll. Interface Sci. 273 (2004) 115
14. Tedeschi, A.M., Franco, L., Ruzzi, M., Padano, L., Corvaja, C., DErrico, G., Phys. Chem.
Chem. Phys. 5 (2003) 4204
15. Maddinelli, G., Montanari, L., Ferrando, A., Maestrini, C., J. Appl. Polym. Sci. 102 (2006)
2810
16. Randy, B, Rabek, J.F.: ESR Spectroscopy in Polymer Research, SpringerVerlag, New
York (1977)
17. Tobias, D.J., Klein, M.L., J. Phys. Chem. 100 (1996) 66376648
18. Griffiths, J.A., Bolton, R., Heyes, D.M., Clint, J.H., Taylor, S.E., J. Chem. Soc. Faraday
Trans. 91 (1995) 687696
19. Griffiths, J.A., Heyes, D.M., Langmuir, 12 (1996) 24182424
20. Bearchell, C.A., Danks, T.N., Heyes, D.M., Moreton, D.J., Taylor, S.E., Phys. Chem.
Chem. Phys. 2 (2000) 51975207
21. Bearchell, C.A., Heyes, D.M., Moreton, D.J., Taylor, S.E., Phys. Chem. Chem. Phys. 3
(2001) 47744783
22. Arndt, E.R., Kreutz, K.L. J.Coll. Interface Sci. 123 (1988) 230
23. Accelrys, Inc., San Diego
24. Hill, J.R., Sauer, J., J. Phys Chem. 98 (1994) 12381244
25. Allen, M.P., Tildesley, D.J.: Computer simulations of liquids, Clarendon, Oxford (1987)
26. Hudson, L.K., Eastoe, J., Dowding, P.J., Adv Colloid Interface Sci 123126 (2006) 425431
State Key Laboratory of Fine Chemicals, Carbon Research Laboratory, School of Chemical
Engineering, Center for NanoMaterials and Science, Dalian University of Technology, Dalian,
116024, China
2
State Key Laboratory of Materials Modification by Laser, Electron, and Ion Beams, School
of Physics and Optoelectronic Technology and College of Advanced Science and Technology;
Dalian University of Technology, Dalian, 116024, China
zhaojj@dlut.edu.cn, jqiu@dlut.edu.cn
1 Introduction
Soon after the discovery of carbon fullerenes, it was found that a variety of atoms
and molecules can be incorporated into the hollow carbon cages to form endohedral
complex structures, which lead to new nanoscale materials with novel physical and
chemical properties [13]. Endohedral fullerenes are not only of scientific interest
but are of technological importance for their potential usage in various fields such
as molecular electronics [4], magnetic resonance imaging [5], quantum computer
[69], and nuclear magnetic resonance (NMR) analysis [10, 11]. On the other hand,
tremendous efforts have been devoted to the hydrogen storage in carbon
nanostructures like nanotubes [12]. Thus, the study of endohedral fullerene
complexes with encapsulation of H2 molecule is focus of interests from different
aspects.
In order to achieve endohedral fullerene complex with hydrogen molecule
encapsulated inside, the surface of the fullerene cages must be opened to have a
sufficiently large orifice to let the H2 molecule penetrate. Murata et al. investigated
*
Corresponding authors.
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 280 287, 2007.
SpringerVerlag Berlin Heidelberg 2007
281
the synthesis, structure, and properties of novel opencage fullerenes with heteroatom
on the rim of the orifice [13] as well as the feasibility of inserting small atoms or
molecules through the orifice of an opencage C60 derivative. Hatzimarinaki et al.
reported a novel methodology for the preparation of five, seven, and ninemembered
fused rings on C60 fullerene [14].
Recently, molecular hydrogen was successfully placed inside opencage
fullerenes [13, 1521]. Murata et al. [16] reported the first syntheses and Xray
structures of organic and organometallic derivatives of C60 and the usage of the
encapsulated molecular hydrogen as a magnetic shielding probe. After the
encapsulation of H2, the endohedral cages were then closed through a
molecularsurgery method on a gram scale with maximum 100% H2 incorporation
[20]. Stimulated by these experimental progresses, ab initio computational studies
have been reported for endohedral H2@C60 complex. Slanina et al. performed
theoretical calculations of the encapsulation energy using modified PerdewWang
and Becke functionals (MPWB1K) [22]. Shigetaa et al. studied dynamic charge
fluctuation of endohedral fullerene with H2 [23].
In addition to the opening and closing of fullerene cages via chemical
approaches, it is possible to have the asprepared defect fullerene cages with large
holes [2426]. For example, Qian et al. detected pronounced peak of C62 on the LDFTMS mass spectrum and performed DFT calculation of the C62 cage with one
4MR [24]. Deng et al. observed the oddnumbered clusters C59 in laser desorption
ionization of C60 oxides [26]. Accordingly, ab initio calculatons have been carried
out for the geometries, energies, and stabilities of these defective fullerene C60
cages [2729]. Hu et al. computed fullerene cages with large hole. [27, 28].
Lee studied the structure and stability of the defective fullerenes of C59, C58 and
C57 [29].
Despite the existing theoretical efforts, within the best of our knowledge, there is
no ab initio calculation on the hydrogen adsorption and encapsulation in the defect
fullerenes. These nonclassical fullerenes with sevenmembered ring (7MR), eightmembered ring (8MR), and so on, may serve well as model systems for the opencage
fullerenes obtained from other methods. Thus, it would be interesting to study the
relationship between the size of the orifice ring and the barrier for H2 molecule
penetrating from outside to inside of fullerene. In this paper, we address these issues
by conducting DFT calculations on the adsorption and penetration of H2 molecule on
C60 and nonclassical fullerenes with 7MR, 8MR, and 9MR.
2 Computational Methods
Allelectron DFT calculations were carried out employing the generalized gradient
approximation (GGA) with the PW91 functional [30] and the double numerical
plus polarization (DNP) basis set that are implemented in the DMol program [31].
Selfconsistent field (SCF) calculations were carried out with a convergence criterion
of 106 a.u. on the total energy. To ensure high quality results, the realspace global
orbital cutoff radius was chosen to be as high as 5.0 . It is known that DFT method
282
within GGA approximation is usually insufficient for describing the weakly van der
Waals (vdW) interaction. A recent DFT calculation of the hydrogen adsorption on
carbon and boron nitride nanotubes [32] demonstrated that PW91 functional can
roughly reproduce the strength of the vdW interaction between a H2 molecule and a
C6H6 benzene molecule by highly accurate HFMP2 calculations.
(1)
Eexo=EexoH2EcageEH2
(2)
To study the penetration behavior of a H2 molecule from the endohedral site to the
exohedral site, we first adjust the orientation of the central H2 molecule to be
perpendicular to the largest hole on the surface of the fullerene cages. Then, singlepoint energies of the H2cage complex (H2@C60, H2@C60_477, H2@C59_49,
H2@C59_58, H2@C58_557, H2@C58_448(5), and H2@C58_448(6)) were computed
along the penetration path by gradually moving the H2 molecule from the cage center
to the outside of the fullerene cage through the largest hole by a step of 0.3 up to
283
the longest distance of 9 from the cage center. The main theoretical results are
summarized in Table 1 and Figure 2.
H2@C60_477
H2@C60
H2@C59_49
H2@C59_58
H2@C58_448(5)
H2@C58_448(6)
H2@C58_557
H2@C62
Fig. 1. Optimized configurations of H2@C62, H2@C60, H2@C60_477, H2@C59_49, H2@C59_58, H2@C58_557, H2@C58_448(5)
Table 1. Total energies of the eight optimized cages of perfect and defect fullerenes CX (X=58,
59, 60, 62) and the corresponding endohedral complex H2@CX. The total energy of a H2
molecule from our DFT calculation at the same level is 1.1705707 Hartree. Endohedral
adsorption energy (Eendo) and exohedral adsorption (Eexo) for H2 on CX (X=58, 69, 60) cage as
well as energy barrier for penetration of H2 through the largest hole on the cage.
EendoH2
C62
C60
C60_477
C59_49
C59_58
C58_557
C58_448(5)
C58_448(6)
(Hartree)
2363.528743
2287.401287
2287.273601
2249.062584
2249.095940
2211.063665
2211.012397
2210.892028
EextroH2
(Hartree)
2363.528763
2287.401230
2287.273788
2249.063739
2249.097171
2211.064968
2211.013340
2210.894158
E(CX)
(Hartree)
2362.357426
2286.216007
2286.102568
2247.892223
2247.925697
2209.893787
2209.842018
2209.722625
Eendo
(meV )
20.3
17.7
12.6
5.7
8.9
18.8
5.2
31.8
Eextro
(meV)
20.9
16.2
17.7
26.3
24.6
16.6
20.5
26.2
Barrier
(eV)
12.6
7.9
9.1
5.2
8.3
4.6
5.2
The total energy between perfect C60 and defect C60_477 is 3.47 eV. In other
words, formation of two 7MR and one 4MR on perfect C60 requires 3.47 eV, while
previous calculation found that formation of two 7MR on a (6,6) carbon nanotube is
2.74 eV [33]. The total energy of C59_58 is lower than C59_49 by 0.91 eV, close to
the theoretical value of 0.89 eV by Lee et al. at level of B3LYP/631G* [29]. For C58,
C58_557 is more stable than C58_448(5) by 1.40 eV and than C58_448(6) by 4.67
eV, rather close to previous results of 1.34 eV and 4.77 eV by Lee [29].
284
As shown in Table I, for all the cases studied, the exohedral adsorption of H2
molecule on the surface of fullerene cage is exothermic, with Eexo ranging from 16.6
to 26.3 meV. The exohedral adsorption energy of H2 molecule is insensitive to the
atomic configuration of fullerene cages. Experimentally, the adsorption of a H2
molecule on the graphite surface is 42 meV. It is known that GGA usually
underestimate the surface adsorption energy of vdW type [34]. Therefore, the present
GGA calculation might somewhat underestimate the adsorption energy of H2
molecule.
On the contrary, the endohedral adsorption is either exothermic or endothermic,
with Eendo ranging from 12.6 to 31.8 meV. The incorporation of a H2 molecule in C60
(perfect or defect) and C62 cages is exothermic, while encapsulation of a H2 molecule
in C58 and C59 cages is endothermic. This finding can be roughly understood by the
difference in the interior space of the fullerene cages. In other words, C60 and C62
cages are larger and have more space for the encapsulation of H2 molecule. In a
previous study [22], the best estimate for the encapsulation energy for H2@C60 was at
least 173 meV.
The energy barrier for the penetration of H2 molecule through the largest hole of
the eight different fullerene cages are presented in Table 1 and the corresponding
singlepoint energies for the penetration paths are shown in Figure 2. First of all, in
Figure 2 we find all the energy paths for the H2 penetration are smooth and
have clear highest peak on them, which correspond to the energy barriers given in
Table 1. Among them, the energy barrier for penetrating the sixmembered ring on
C60 cage is highest, i.e., 12.6 eV, and the energy barrier for penetrating the eightmembered ring on C58_448(5) cage is lowest, i.e, 4.6 eV. The energy barriers for
other cages with 8MR such as C59_58 and C58_448(6) are close, both of 5.2 eV.
For those defect fullerene cages with 7MR, such as C60_477 and C58_557, the
energy barriers are around 8 eV. In other words, the penetration barrier reduces
from 12.6 eV for 6MR on perfect C60 cage to about 8eV for 7MR and to about 5eV
for 8MR. However, it is interesting to find that the penetration barrier through the
largest 9MR on the C59_49 cage is relatively high, i.e., 9.1 eV.
To summarize, the encapsulation and penetration of H2 molecule on the perfect and
defect C60 cages were investigated using density functional theory at level of
PW91/DNP. Fullerene cages of Cx with x=58, 59, 60, 62 containing 7MR, 8MR, and
9MR were considered. The interaction for H2 molecule adsorption on fullerene cages
is relatively weak and of vdW type. The exohedral adsorption for H2 molecule on the
surface of fullerene cage is exothermic, while the endohedral adsorption is exothermic
for C60 and C62 or endothermic for C58 and C59 cages. The penetration barrier from
endohedral to exohedral site significantly reduces from 12.6 eV for 6MR perfect cage
to about 8 eV for 7MR and to about 5 eV for 8MR on defect cages. However, these
reduced energy barriers for 7MR and 8MR are still too high for a H2 molecule to
penetrate at ambient conditions. Finally, it is worthy to point out that the present
calculations focus on the physisorption and penetration of H2 molecule while the
possible chemisorption of the H2 molecule and corresponding transition states were
not considered.
12
10
8
6
4
2
0
(a)
H2@C60
H2@C60_477
(b)
H2@C59_49
H2@C59_58
285
Energy (eV)
10
8
6
4
2
0
8
H2@C58_557
H2@C58_448(5)
H2@C58_448(6)
(c)
6
4
2
0
0
Distance (A)
Fig. 2. Relative energy of H2@CX complex as function of the distance for H2 from cage center
along the path towards center of the largest ring. The zero energy is set to be the total energy
for the H2 in the center of cage H2@C62, H2@C60, H2@C60_477, H2@C59_49, H2@C59_58,
H2@C58_557, H2@C58_448(5).
286
References
1. Funasaka, H., Sugiyama, K., Yamamoto, K., Takahashi, T.: Magnetic Properties of RareEarth Metallofullerenes, J. Phys. Chem. 99 (1995) 18261830
2. Michael, D., John: A. M.: Isolation and Properties of SmallBandgap Fullerenes, Nature
393, (1998) 668671
3. Boltalina, O. V., Ioffe, I. N., Sorokin, I. D., Sidorov, L. N.: Electron Affinity of Some
Endohedral Lanthanide Fullerenes, J. Phys. Chem. A 101 (1997) 95619563
4. Kobayashi, S., Mori, S., Iida, S., Ando, H., Takenobu, T., Taguchi, Y., Fujiwara,
Taninaka, A., Shinohara, A. H., Iwasa, Y.: Conductivity and Field Effect Transistor of
La2@C80 Metallofullerene, J. Am. Chem. Soc. 125 (2003) 81168117
5. Kato, H., Kanazawa, Y., Okumura, M., Taninaka, A., Yokawa, T., Shinohara, H.:
Lanthanoid Endohedral Metallofullerenols for MRI Contrast Agents, J. Am. Chem. Soc.
125 (2003) 43914397
6. Harneit, W.: FullereneBased ElectronSpin Quantum Computer, Phys. Rev. A 65 (2002)
032322032327
7. Suter, D., Lim, K.: Scalable Architecture for Spinbased Quantum Computers with a
Single Type of Gate, Phys. Rev. A 65 (2002) 052309052313
8. Twamley, J.: QuantumCellularAutomata Quantum Computing with Endohedral
Fullerenes, Phys. Rev. A 67 (2003) 052318052329
9. John, J. L., Morton, Al. M., Tyryshkin, A., Ardavan, K., Porfyrakis, S. A., Lyon, G. A.
Briggs, D.: High Fidelity Single Qubit Operations Using Pulsed Electron Paramagnetic
Resonance, Phys. Rev. Lett. 95 (2005) 2005014
10. Saunders, M., Cross, R. J., Jimnez, V., Shimshi, H. A., Khong, R. A.: Noble Gas Atoms
Inside Fullerenes, Science 271 (1996) 16931697
11. Martin, S, J. Hugo, V. A., James, C. R., Stanley, M., Daro, F., Frank. I.: Probing the
Interior of Fullerenes by 3He NMR Spectroscopy of Endohedral 3He@C60 and 3He@C70,
Nature, 367 (1994) 256258
12. Ding, R. G., Lu, G. Q., Yan, Z. F., Wilson, M. A.: Recent Advances in the Preparation and
Utilization of Carbon Nanotubes for Hydrogen Storage, J. Nanosci. Nanotech. 1 (2003)
729
13. Murata, Y., Murata, M., Komatsu, K..: Synthesis, Structure, and Properties of Novel
OpenCage Fullerenes Having Heteroatom(s) on the Rim of the Orifice, Chem. Eur. J. 9
(2003) 16001609
14. Maria H., Michael O.:Novel Methodology for the Preparation of Five, Seven, and NineMembered Fused Rings on C60, Org. Lett. 8 (2006) 17751778
15. Murata, M.., Murata, Y., Komatsu, K.: Synthesis and Properties of Endohedral C60
Encapsulating Molecular Hydrogen, J. Am. Chem. Soc. 128 ( 2006) 80248033
16. Murata, Y., Murata, M., Komatsu, K.: 100% Encapsulation of a Hydrogen Molecule into
an OpenCage Fullerene Derivative and GasPhase Generation of H2@C60, J. Am. Chem.
Soc. 125 (2003) 71527153
17. Carravetta, M., Murata, Y., Murata, M., Heinmaa, I., Stern, R., Tontcheva, A., Samoson,
A., Rubin, Y., Komatsu, K.., Levitt, M. H.: SolidState NMR Spectroscopy of Molecular
Hydrogen Trapped Inside an OpenCage Fullerene, J. Am. Chem. Soc. 126 (2004) 40924093
287
18. Iwamatsu, S.I., Murata, S., Andoh, Y., Minoura, M., Kobayashi, K., Mizorogi, N., Nagase,
S.: OpenCage Fullerene Derivatives Suitable for the Encapsulation of a Hydrogen
Molecule, J. Org. Chem. 70 (2005) 48204285
19. Chuang, S. C., Clemente, F. R., Khan, S.I., Houk, K. N., Rubin, Y.: Approaches to Open
Fullerenes: A 1,2,3,4,5,6Hexaadduct of C60, Org. Lett. 8 (2006) 45254528
20. Komatsu, K., Murata, M., Murata, Y.: Encapsulation of Molecular Hydrogen in Fullerene
C60 by Organic Synthesis, Science 307 (2005) 238240
21. Komatsu, K., Murata, Y.: A New Route to an Endohedral Fullerene by Way of
Framework Transformations, Chem. Lett. 34 (2005) 886891
22. Slanina, Z. K., Pulay, P., Nagase, S.: H2, Ne, and N2 Energies of Encapsulation into
Evaluated with the MPWB1K Functional, J. Chem. Theory Comput. 2 (2006) 782785
23. Shigetaa Y., Takatsukab K.: Dynamic Charge Dluctuation of Endohedral Fullerene with
Coencapsulated Be Atom and H2, J. Chem. Phys. 123 (2005) 131101131104
24. Qian, W., Michael D., Bartherger, S.J., Pastor, K.N., Houk, C. L., Wikins, Y. R.: C62, a
NonClassical Fullerene Incorporating a FourMembered Ring, J. Am. Chem. Soc. 122
(2002) 83338334
25. OBrien, S. C., Heath, J. R., Curl, R. F., Smalley, R. E.: Photophysics of Buckminster
Fullerene and Other Carbon Cluster Ions, J. Chem. Phys. 88 (1988) 220230
26. Deng, J. P., Ju, D.D., Her, G. R., Mou, C. Y., Chen, C. J., Han, C. C.: OddNumbered
Fullerene Fragment Ions from Ca Oxides, J. Phys. Chem. 97 (1993) 1157511577
27. Hu, Y. H., Ruckensten, E.: Ab Initio Quantum Chemical Calculations for Fullerene Cages
with Large Holes, J. Chem. Phys. 119 (2003) 1007310080
28. Hu, Y.H., Ruckensten, E.: Quantum Chemical DensityFunctional Theory Calculations of
the Structures of Defect C60 with Four Vacancies, J. Chem. Phys. 120 (2004) 79717975
29. Lee, S. U., Han, Y.K.: Structure and Stability of the Defect Fullerene Clusters of C60: C59,
C58, and C57, J. Chem. Phys. 121 (2004) 39413492
30. Perdew, J. P., Wang Y.: Accurate and Simple Analytic Representation of the ElectronGas
Correlation Energy, Phys. Rev. B 45 (1992) 1324413249
31. Delley, B.: An AllElectron Numerical Method for Solving the Local Density Functional
for Polyatomic Molecules, J. Chem. Phys. 92(1990) 508517;
32. Zhou, Z., Zhao, J. J., Chen, Z. F., Gao, X. P., Yan, T. Y., Wen, B. P., Schleyer, V.R.:
Comparative Study of Hydrogen Adsorption on Carbon and BN Nanotubes, J. Phys.
Chem. B 110 (2006 )1336313369
33. Zhao, J. J., Wen, B., Zhou, Z., Chen, Z. F., Schleyer, P. R.: Reduced Li diffusion barriers
in composite BC3 nanotubes, Chem. Phys. Lett. 415 (2005) 323326
34. Zhao, J. J., Buldum, A., Han, J., Lu, J. P.: Gas molecule adsorption in carbon nanotubes
and nanotube bundles, Nanotechnology 13 (2002) 195200
1 Introduction
The carbenes and halocarbenes are known as reactive intermediates with intriguing
insertion, addition, and rearrangement reactions. How structural factors (bond angle,
electronwithdrawal by induction and electrondonation by resonance) influence the
relative stabilities of these states is still under scrutiny [1]. The synthetic organic
chemistry [2], organometallic chemistry [3] and other areas, principally; the ArndtEistert chain homologation procedure, the RimerTiemann reaction (formylation of
phenols), cyclopropanation of alkenes [4] and subsequent rearrangements, [5] ketene
and allene [6] preparation, synthesis of strained ring systems, ylide generation and
subsequent rearrangements, cycloaddition reactions [7] and photoaffinity labeling. [8]
are some of the vital fields of wide applications of the carbenes and halocarbenes
Among the different types of reactions of singlet carbenes, the highly characteristic
concerted insertion reactions into YH bonds (Y=C, Si, O etc.), involving a threecenter cyclic transition state [9] seem to be important in synthetic organic chemistry
[2]. In the halocarbenes, the halogens would interact with the carbenic carbon through
the oppositely operating electronic [mesomeric (+M)  donor and inductive (I) 
acceptor] effects. Based on this, the electrophilicity of carbenes has been reported to
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 288295, 2007.
SpringerVerlag Berlin Heidelberg 2007
289
2 Computational Details
Geometries of the reactants, the transition states and the products have been optimized
first at HF/631g (d, p) level using Gaussian03W suite of program [13]. The resultant
HF geometries obtained were then optimized at MP2 and B3LYP [1418] levels. The
standard 631g (d, p) [19, 20] basis set has been adopted in all the calculations for
better treatment of 1, 2hydrogen shift during the insertion process. Further single
point energy calculations have been done at the QCISD level on the MP2 optimized
geometries of the species on the lowest energy reaction pathway.[21] All the
stationary points found, except those obtained at the QCISD level, were characterized
as either minima or transition states (TSs) by computing the vibrational harmonic
frequencies TSs have a Hessian index of one while minima have zero hessian index.
All TSs were further characterized by animating the imaginary frequency in
MOLDEN [22] and by checking with intrinsic reaction coordinate (IRC) analyses.
The calculated vibrational frequencies have been used to compute the thermodynamic
parameters like enthalpies of the reaction. The intrinsic reaction coordinate analyses
have been done for the transition structures obtained at the MP2 level [23]. The
Mulliken [24], NPA [25] and charges derived by fitting the electrostatic potential [26]
methods have been followed for the atomic charges computations, along the reaction
path.
290
M. Ramalingam et al.
product. The energy profile diagram for the insertion reactions of 1CHBr and 1CBr2
into methane is shown in Fig. 1, in which the energies of complex, transition state and
the product are shown with reference to the reactants.
TS
10
Reactants
10
complex
30
50
70
90
Product
110
1
2
3
4
Reaction coordinate
Fig. 1.
     Energy profile for 1CHBr + CH4 CH3CH2Br at MP2/631g**
Energy profile for 1CBr2 + CH4 CH3CHBr2 at MP2/631g**
1
The optimized geometries of the TSs located in the reaction pathway for 1CHBr and
CBr2 insertion reactions are presented in Fig. 2.
Fig. 2. Geometrical parameters (distance in ) and barriers of the transition states for CHBr
and CBr2 insertion into CH bond of methane and ethane at B3LYP and MP2 levels. (MP2
values in the parentheses).
291
are 4.28(TS1) and 20.42 (TS2) kcal/mol respectively. The MP2 value for 1CHBr
insertion is ca. 1 kcal/mol higher and that for 1CBr2 insertion is ca. 3 kcal/mol lower
than those of the corresponding B3LYP values. Replacement of hydrogen by bromine
in 1CHBr decreases its electrophilicity [29], and deactivates the electrophilic attack to
certain extent by the carbene moiety in the first phase of insertion. So the barrier
heights increase dramatically from 4.28 to 20.42 kcal/mol at B3LYP and 5.36 to
17.36 kcal/mol at MP2 calculations respectively for methane. The barriers computed
at QCISD/631g (d, p)//MP2/631g (d, p) level are 9.68 kcal/mol and 23.93 kcal/mol
for 1CHBr and 1CBr2 insertion into methane. The TSs are first order saddle points as
determined by numerical vibrational frequency.
In the case of ethane, the barrier heights for 1CHBr insertion are 1.47 and 3.27
kcal/mol respectively at B3LYP and MP2 levels (TS3). These values have been
enhanced to 15.49 and 12.41 kcal/mol (TS4) correspondingly for the 1CBr2 insertion.
The relevant geometrical parameters of the transition states for the 1CHBr and 1CBr2
insertions to methane and ethane have been shown in Fig. 2, Table 1 and 2. The TS
for 1CBr2 insertion into methane (TS2) comes much later along the reaction
coordinate than that for 1CHBr insertion (TS1) as reflected in the relative C2H3
bond distances of 1.430 (1.345) and 1.274 (1.202) and the charges on H3,
0.279(0.278) and 0.255 (0.216) respectively. Similar trend has been observed for the
singlet bromocarbenes insertion into ethane.
Table 1. Geometrical parameters (distances in ), barriers and heat of reaction (Hr) in
kcal/mol at the TSs of 1CHBr with alkanes at B3LYP (MP2)/631g (d, p)
alkane
rc1h1
rc1c2
rc2h1
Ea
qct
Hr
methane
1.276
(1.370)
1.292
(1.490)
22.280
( (2.336)
2.337
(2.479)
1.273
(1.186)
1.260
(1.151)
4.28
(5.36)
1.47
(3.27)
0.252
(0.187)
0.267
(0.130)
87.41
(96.40)
89.13
(99.31)
ethane
alkane
rc1h1
methane
1.175
(1.199)
1.160
(1.190)
ethane
rc1c2
rc2h1
Ea
qct
Hr
22.233
(2.239)
1.424
(1.344)
20.42
(17.36)
0.322
(0.382)
68.95
(80.85)
2.280
(2.271)
1.470
(1.364)
15.49
(1(2.41)
0.362
(0.402)
71.27
(84.86)
292
M. Ramalingam et al.
3.2 Energetics
In general the activation barrier depends upon the polarity of the CH bond of alkane
and the type of bromocarbene (1CHBr or 1CBr2) to be inserted. The above statement
draws support from the fact that the pair of electrons on the carbene carbon involved
in the bonding process with the CH of alkane is more and more stabilized with the
degree of bromination. This results in the inhibition of the ease of bond formation due
to the less availability of the electron pair on the cabene carbon. The NBO [30]
analysis quantifies this aspect in terms of the energies of the electron pairs on 1CHBr
and 1CBr2 as 0.4057(0.5595) and 0.4535 (0.6019) au respectively according to
B3LYP (MP2) theories with 631g (d, p) basis set. The enthalpies of the insertion
reactions of 1CHBr and 1CBr2 into methane are 87.41(96.40) and 68.95(80.85)
and that for ethane are 89.31(99.31) and 71.27(84.86) kcal/mol at B3LYP (MP2)
levels respectively. The reaction enthalpies (Tables 1 and 2) show that the
exothermicity of the insertion reactions indicating that the transition states analyzed
resemble the reactants rather than the products [31]. The proximity of the transition
states to the reactants deviates with the degree of bromination of methylene.
Irrespective of the level of theory (B3LYP or MP2) followed, the insertions of 1CHBr
form the transition states earlier than that of 1CBr2 as revealed by exothermicity
values.
3.3 Transition State Geometries
A scrutiny of the bond breaking and bond forming steps corresponding to C2H3 and
C6H3 respectively during the insertion process reveals that it is a concerted reaction.
It is observed that the formation of C6H3 bond is earlier than the C2C6 bond in the
TS in terms of the bond distances (Tables 1 and 2). The C6H3, C2H3 and C2C6
bond distances in TSs of 1CBr2 insertion reactions confirm the late transition state in
comparison to the corresponding values in the 1CHBr insertion reactions. In order to
improve the accuracy of the energetic parameters, single point computations at
QCISD level has also been adopted and values are listed in Tables 1and 2. The barrier
heights predicted at QCISD level are higher than the MP2 values both for methane
and ethane.
3.4 NBO Analyses
NBO analyses of charge distribution in the transition states give some insight into the
insertion reactivity. For all the transition states the secondorder perturbative analyses
were carried out for all possible interactions between filled Lewistype NBOs and
empty nonLewis NBOs. These analyses show that the interaction between the C2H3 bond of alkane and the empty p orbital of the carbenic carbon (CH PC ) and
the charge transfer from lone pair of electrons of the carbenic carbon to the
antibonding orbital of C2H1(nC *CH) seems to give the strongest stabilization.
Finally we observed that there was a net charge flow from the alkane moiety to the
inserting carbene moiety. The quantum of charge transfer from alkane to carbene
supporting the donoracceptor interaction in the transition states for all the insertion
reactions both at B3LYP and MP2 levels have been collected in Tables 1 and 2. The
293
inverse relationship between the quantum of charge transfer and the activation
barriers reveals the fact that for the favorable insertion, the nucleophilicity of the
alkane should have been enhanced either sterically or electronically. This correlation
holds good for the reactions analysed in this investigation
3.5 IRC  Charge Analyses
The total charge on the carbene moiety along the IRC for the insertion reactions of
methane and ethane respectively, as calculated by Mulliken [23], NPA [24] and ESP
[25] methods using theoretical models has been shown in Fig.3. We have chosen
density functional (B3LYP) plot showing charge on the carbene moiety in addition to
the MP2 plot, which serve as our ab initio standard.
0.1
a
Charge on CHBr2(a.u.)
Charge on CHBr(a.u.)
0.05
0.1
0.15
0.2
0.25
0.3
0.35
1
0.2
0.25
0.3
0.35
0.4
0.45
1.5
0.4
2
0.15
1
0.5
Charge on CHBr(a.u.)
0.16
0.18
0.2
0.22
0.24
0.26
1.5
0.5
IRC()
0.2
0.25
0.3
0.35
0.4
0.45
2
1
0.5
0.15
0.14
IRC()
IRC()
0.5
1
1.5
IRC()
Fig. 3. ()NPA, (y)Mulliken and ()ESP charge analyses respectively. () and (c)
correspond to the transition states and the turning points respectively. Electrophilicphase
region right to the turning point Nucleophilicphase region left to the turning point.
We discuss first the insertion reactions with methane, 1CBrX (X = H, Br) + CH4.
The charge/IRC curves of these reactions are shown in Figs. 3. These two reactions
provide clear evidence for the twophase mechanism in that there is a distinct turning
point(minimum) in all the charge/IRC curves for the two Hamiltonians (MP2 and
B3LYP) regardless of the model used to compute the atomic charges. For the 1CHBr
insertion (Fig.3 a), the charge minimum occurs after the transition state (TS), whereas
with 1CBr2 (Fig. 3b) the minimum occurs just before the TS. Thus for the 1CHBr
insertion, the TS lies within the first, i.e., electrophilic phase, whereas for 1CBr2 the
TS is reached at the starting point of the nucleophilic phase. This indicates that the TS
for insertion of 1CHBr into the CH bond in methane occurs much earlier along the
reaction coordinate than does the TS for the corresponding 1CBr2 insertion. This
indication is fully supported both by the TS geometries  for example, the CH bond
undergoing the insertion is much shorter in the 1CHBr (1.202) TS than in the TS for
1
CBr2 (1.345) insertion (Fig. 2) and by the heat of reaction and barrier height
294
M. Ramalingam et al.
(Tables 1 and 2), which are more negative and much smaller, respectively for 1CHBr
(96.40; 5.36kcal/mol respectively) than for 1CBr2. (80.85; 17.36 kcal/mol
respectively). This is in agreement with the Hammond postulate [32]. From the
viewpoint of reactivity, it may be said that the vacant porbital on 1CHBr is more
available than that on 1CBr2, thus facilitating the initial electrophilic phase of the
reaction. In other words, reactivity increases in the order 1CBr2 < 1CHBr. There is an
agreement in the overall shape and depth of the curves themselves between the
MP2 and B3LYP plots. However the turning points (minima) in the B3LYP plots are
less pronounced. The NPA and ESP curves are identical in shape at MP2 level.
In the case of ethane, 1CBrX (X = H, Br) + C2H6 the position of the turning points
and the charge/IRC curves for these insertions at MP2 level are shown in (Fig. 3).
Unlike for the 1CHBr insertion into methane, the TS3 occurs at the turning point
(Fig. 1c), which is in neither electrophilic phase nor nucleophilic phase. But for 1CBr2
insertion into ethane at MP2 (Fig. 1d), the TS is observed at the starting point of the
nucleophilic phase conforming to the belated TS formation in comparison with the TS
for insertion of 1CHBr (Fig. 1c). In general, the nucleophilic phase dominates for
1
CBr2 insertions, whereas the electrophilic phase dominates 1CHBr insertions.
4 Summary
The singlet bromocarbenes insertions into the CH bond of methane and ethane have
been analyzed and the influence of bromine on the transition states, energetics,
geometrical parameters etc., has been investigated both at B3LYP and MP2 levels of
theory using 631g (d, p) basis set. For the bromocarbenes B3LYP, MP2 and QCISD
level theories predict the activation barriers of different heights, varying both with the
extent of bromination and the type of alkane. The NBO analyses have been done with
a view to analyzing the charge transfer processes during the insertion reactions. The
charge/IRC plots provide clear evidences for the twophase mechanism namely an
electrophilic phase and a nucleophilic phase for insertions of both 1CHBr and 1CBr2
into the CH bond of methane and ethane respectively. B3LYP functional used in this
work, gives the same picture of the investigated insertion reactions as the more
traditional MP2 method for both geometries and heats of reaction.
References
1.
2.
3.
4.
5.
6.
7.
8.
295
Dobson, R.C., Hayes, D.M., Hoffmann, R.: J. Am.Chem. Soc. 93 (1971) 6188
Fukui, K.: J. Phys. Chem. 74 (1970) 4161
Gaussian 03, Revision C.02, Gaussian, Inc., Wallingford CT (2004)
Lee, C., Yang, W., Parr, R.G.: Physical Review B 37 (1988) 785
Becke, D.: Phys. Rev. A 38 (1988) 3098
Miehlich, B., Savin, A., Stoll, H., Preuss, H.: Chem. Phys. Lett. 157 (1989) 200
Becke, A.D.: J. Chem. Phys. 98 (1993) 5648
Becke, A.D.: J. Chem. Phys. 104 (1996) 1040
Franel, M.M., Pietro, W.J., Hehre, W.J., Bimcley, J.S., Gordon, M.S., DeFrees, D.J.,
Pople, J.A.: J. Chem. Phys., 77 (1982) 3654.
Hariharan, P.C., Pople, J.A.: Chem. Phys. Lett. 66 (1972) 217
Pople, J. A., Gordon, M. H., Raghavachari, K.:.J. Chem. Phys. 87 (1987) 5968
Schaftenaar,G., Noordik,J.H.: J Comput Aid Mol Design 14 (2000) 123
Gonzalez, C., Schlegel, H.B.: J. Chem. Phys.94 (1990) 5523
Mulliken, R.S.: J. Chem. Phys. 23 (1955) 1833
Reed, A.E., Carpenter, J.E., Weinhold, F., Curtiss, L.A.: Chem. Rev. 88 (1988) 8991
Breneman, C.M., Wiberg, K.B.:J. Comput. Chem. 11 (1990) 361
Ramalingam, M., Ramasami, K., Venuvanalingam, P., Sethuraman, V.: J.
Mol.Struct.(Theochem) 755 (2005) 169
Bach, R.D., Andres, J.L., Su, M.D., McDouall, J.J.W.: J. Am. Chem. Soc. 115 (1993)
5768
Gilles, M.K., Lineberger, W.C., Ervin, K.M.: J. Am. Chem. Soc.115 (1993) 1031
Glendening, E.D., Reed, A.E., Carpenter, J.E., Weinhold, F., Curtiss, L.: Chem. Rev. 88
(1988) 899 NB Version 3.1
Carpenter, J.E.: Ph.D. Thesis, University of Wisconsin (Madison, WI) (1987)
Hammond, G.S.: J. Am. Chem. Soc. 77 (1955) 334
Abstract. This is a systematic gas phase study of the gauche and trans conformers of 1bromo2chloroethane. The methods used are second order
MllerPlesset theory (MP2) and density functional theory (DFT). The basis set
used is 6311++G(d,p) for all atoms. The functional used for DFT method is
B3LYP. G2/MP2 and CCSD(T) calculations have also been carried out using
MP2 optimised structure. The results indicate that there is more preference for
the trans conformer. The energy difference between the trans and gauche conformers (Etg) and related rotational thermodynamics are reported. The MP2/6311++G(d,p) energy difference (Etg) for 1bromo2chloroethane is 7.08
kJ/mol. The conformers of 1bromo2chloroethane have also been subjected to
vibrational analysis. This study has also been extended to investigate solvent effects using the SelfConsistent Reaction Field methods. The structures of the
conformers are not much affected by the solvents but the energy difference
(Etg) decreases with increasing polarity of the solvent. The results from the
different theoretical methods are in good agreement.
1 Introduction
100 years ago, Bischoff found that CC single bond in ethane is not completely free
[1]. Due to the hindered internal rotation, 1,2disubstituted ethanes are the simplest
molecules showing conformational isomerism thus leading to the gauche and trans
conformers. It is generally found that the trans conformer is more stable than the
gauche form and this is due to steric hindrance in the gauche conformation [2]. Theoretical calculations of the energy difference between the trans and gauche conformers
(Etg) have been actively pursued for over 40 years, as they are important parameters
to the conformational analysis of molecules [3].
In previous communications, energy differences (Etg) have been calculated for
1,2dihaloethanes (XCH2CH2X, X=F, Cl, Br and I) [4] and for 1fluoro2haloethanes
(FCH2CH2X, X=Cl, Br and I) [5] in the gas phase. These studies indicate that except
for 1,2difluoroethane, the trans conformer is more stable that the gauche conformer.
The energy difference (Etg) increases with the size of the halogen. The atypical
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 296303, 2007.
SpringerVerlag Berlin Heidelberg 2007
297
behaviour of 1,2difluoroethane has been associated with the gauche effect [610] but
the latter is not observed for the 1fluoro2haloethanes. Solvent effects have also
been explored for 1,2dichloroethane and 1,2dibromoethane [11]. The study indicates
that an increase in the solvent polarity decreases the energy difference (Etg). It is
worth to point out at this stage that literature involving theoretical studies is limited
with respect to solvent effects [11,12] although polarity of the solvent is known to
affect conformational equilibrium [13].
As part of a continuing series of studies on internal rotation [45,11], 1bromo2chloroethane has been the target of this work. 1Bromo2chloroethane, being a 1,2disubstituted ethane, can exist as the gauche (C1 symmetry) and trans (Cs symmetry)
conformers as illustrated in Figure 1.
Cl
Cl
Br
H
H
H
Br
2 Calculations
All the calculations have been carried out using Gaussian 03W [15] program suite
and GaussView 3.0 [16] has been used for visualising the molecules. The calculations
have been carried out using second order MllerPlesset perturbation theory (MP2)
and density functional theory (DFT). The basis set used is 6311++G(d,p) for all
atoms. The functional used for DFT method is B3LYP. A conformer has first been
optimised and the optimised structure has then been used for frequency calculation
using the same method and basis set involved for optimisation. G2/MP2 and
298
P. Ramasami
B3LYP
Gauche
MP2
Trans
Gauche
Trans
r (CCl)/
1.809
1.821
1.776
1.783
r (CC)/
1.511
1.512
1.512
1.512
r (CBr)/
1.973
1.980
1.937
1.941
r (CH)/
1.090
1.087
1.090
1.089
(CCCl)/
113.2
109.0
112.3
109.0
(CCBr)/
113.3
109.2
112.6
109.5
W (ClCCBr)/
70.4
180.0
68.0
180.0
2.826
0.013
3.067
0.015
IA/ GHz
8.870
28.689
8.862
28.909
IB/ GHz
1.427
0.961
1.509
0.991
IC/ GHz
1.283
0.941
1.347
0.970
Dipole moment/ D
299
Gauche
Trans
(Hartrees)
(Hartrees)
'Etg
(kJ/mol)
'Htg
'Htg
'Gtg
(0 K)
(298 K)
(298 K)
(kJ/mol)
B3LYP/6311++G(d,p)
MP2/6311++G(d,p)
MP2/ 6311+G(3df,2p)
G2/MP2
MP3/6311++G(d,p)
CCSD(T)/6311++G(d,p)
3113.0202578
3111.0127999
3110.6755106
3110.7491862
3110.5697388
3110.5944679
3113.0234642
3111.0154953
3110.6778141
3110.7515898
3110.5725913
3110.5972661
8.42
7.08
6.05
6.31
(kJ/mol)
(kJ/mol)
7.65
6.45
8.01
6.86
5.88
6.26
7.49
7.35
300
P. Ramasami
B3LYP
3158.9
(1.4)
3138.2
(1.2)
3090.1
(12.3)
3071.8
(8.9)
1469.1
(3.0)
1461.7
(10.8)
1338.6
(25.4)
1296.5
(57.3)
1211.4
(3.2)
1146.6
(1.5)
1038.2
(1.8)
928.7
(9.1)
868.5
(23.1)
658.4
(26.0)
555.0
(13.9)
382.0
(8.7)
241.6
(1.4)
94.1
(0.6)
MP2
3206.7
(1.7)
3190.4
(1.4)
3131.8
(13.9)
3120.2
(9.6)
1481.0
(1.0)
1471.7
(10.6)
1382.1
(24.3)
1337.9
(45.2)
1244.7
(3.0)
1179.2
(2.0)
1077.7
(1.3)
968.6
(6.9)
898.7
(18.5)
724.2
(13.8)
610.6
(8.7)
397.1
(5.5)
251.0
(0.9)
106.6
(0.5)
Gauche
Literature Assignments
[17]
3010
CH2 a str
3010
CH2 a str
2960
CH2 s str
2960
CH2 s str
1428
CH2 scis
1428
CH2 scis
1299
CH2 wag
1260
CH2 wag
1190
CH2 twist
1127
CH2 twist
1025
CC str
923
CH2 rock
856
CH2 rock
664
CCl str
571
CBr str
385
CCCl deform
251
CCBr deform
107
Torsion
B3LYP
MP2
3185.5
(0.9)
3159.9
(0.4)
1292.6
(0.02)
11219.3
(2.6)
975.6
(0.3)
771.1
(3.3)
109.2
(6.0)
3113.3
(7.7)
3102.3
(1.9)
1490.9
(1.5)
1486.8
(5.6)
1320.9
(2.7)
1237.0
(49.6)
1060.7
(1.0)
716.3
(30.4)
616.2
(70.1)
242.2
(0.9)
191.1
(7.8)
3229.5
(1.1)
3207.5
(0.4)
1314.6
(0.02)
1158.3
(3.1)
1011.3
(0.5)
785.0
(2.2)
119.0
(5.1)
3151.1
(10.4)
3142.4
(1.5)
1499.7
(0.04)
1493.9
(5.1)
1372.4
(2.9)
1272.9
(49.1)
1100.8
(1.2)
803.3
(24.5)
688.6
(40.6)
259.1
(0.7)
201.0
(6.4)
Trans
Literature
[17]
3010
CH2 a str
3010
CH2 a str
1259
CH2 twist
1111
CH2 twist
961
CH2 rock
763
CH2 rock
123
Torsion
2960
CH2 s str
2960
CH2 s str
1446
CH2 scis
1444
CH2 scis
1284
CH2 wag
1203
CH2 wag
1052
CC str
726
CCl str
630
CBr str
251
CCCl deform
202
CCBr deform
Assignments
This study has also been extended to study solvent effects. The structures of the
conformers are not much affected by the polarity of the polarity of the solvents. The
effects of solvent on the energy of the gauche and trans conformers and energy difference (Etg) are summarised in Table 4 and illustrated in Figure 3. It can be found that
solvent effects are small but they can be calculated and an increase in the polarity of
301
B3LYP
MP2
Arbritary units
the solvent decreases the energy difference (Etg). However in the polar solvents, the
decrease in the energy of the more polar gauche conformer is larger than the trans
conformer.
MP2Trans
MP2Gauche
B3LYPTrans
B3LYPGauche
3500
3000
2500
2000
1500
1000
500
1
cm
7.0
6.5
6.0
5.5
5.0
MP2
4.5
B3LYP
4.0
3.5
3.0
0
10
20
30
40
Dielectric constant
Fig. 3. Energy difference (Etg) for 1bromo2chloroethane in solvents with different dielectric
constants
302
P. Ramasami
Table 4. Energy and energy difference (Etg) for the conformers of 1bromo2chloroethane in
solvents with different dielectric constants
MP2
5
10
15
20
25
30
35
40
B3LYP
Gauche
Trans
Etg
Gauche
Trans
Etg
(Hartrees)
(Hartrees)
(kJ/mol)
(Hartrees)
(Hartrees)
(kJ/mol)
3110.5351096
3110.5356523
3110.5358531
3110.5359575
3110.5360216
3110.5360649
3110.5360961
3110.5361197
3110.5326210
3110.5332507
3110.5334889
3110.5336138
3110.5336906
3110.5337428
3110.5337807
3110.5338094
6.53
6.31
6.21
6.15
6.12
6.10
6.08
6.07
3113.0262618
3113.0268009
3113.0269959
3113.0270967
3113.0271582
3113.0271996
3113.0272295
3113.0272520
3113.0242279
3113.0250547
3113.0253597
3113.0255187
3113.0256163
3113.0256822
3113.0257298
3113.0257657
5.34
4.58
4.30
4.14
4.05
3.98
3.94
3.90
: Dielectric constant.
4 Conclusions
This theoretical study has lead to the determination of the optimised structural
parameters, the energy difference (Etg) and related thermodynamics parameters for
1bromo2chloroethane. The results indicate that there is a preference for the trans
conformer both in the gaseous and solution phases. The calculated frequencies of the
conformers are in agreement with literature values. The energy difference (Etg) decreases as the solvent becomes more polar. The results of this study may be used as a
set of reference for the conformers of 1bromo2chloroethane.
Acknowledgements
The author is grateful to anonymous reviewers for their comments to improve the
manuscript. The author acknowledges the facilities from the University of Mauritius.
References
1. OrvilleThomas W.J.: Internal Rotation in Molecules. Wiley, New York, 1974
2. Dixon D.A., Matsuzawa N., Walker S.C.: Conformational Analysis of 1,2Dihaloethanes:
A Comparison of Theoretical Methods. J. Phys. Chem. 96 (1992) 1074010746
3. Radom L., Baker J., Gill P.M.W., Nobes R.H., Riggs N.V.: A Theoretical Approach to
Molecular Conformational Analysis. J. Mol. Struc. 126 (1985) 271290
4. Ramasami P.: Gauche and Trans Conformers of 1,2Dihaloethanes: A Study by Ab initio
and Density Functional Theory Methods. Lecture Series on Computer and Computational
Sciences. Vol. 1, Brill Academic Publishers, The Netherlands (2005) 732734
5. Ramasami P.: Gas Phase Study of the Gauche and Trans Conformers of 1Fluoro2Haloethanes CH2FCH2X (X=Cl, Br, I) by Ab initio and Density Functional Methods: Absence of Gauche Effect. Lecture Notes in Computer Science. Vol. 3993, Springer, (2006)
153160
303
6. Tavasli M., OHagan D., Pearson C. Petty M.C.: The Fluorine Gauche Effect. Langmuir
Isothems Reprot the Relative Conformational Stability of (+/)Erythro and (+/)Threo9,10Difluorostearic acids. Chem. Commun. 7 (2002) 12261227
7. Briggs C.R., Allen M.J., OHagan D., Tozer D.J., Slawin A.M., Geota A.E., Howard J.A.:
The Observation of a Large Gauche Preference when 2Fluoroethylmanine and 2Fluoroethanol Become Protonated. Org. Biomol. Chem. 2 (2004) 732740
8. Banks J.W., Batsanov A.S., Howard J.A.K., OHagan D., Rzepa H.S., MartinSantamaria
S.: The Preferred Conformation of Fluoroamides. J. Chem. Soc., Perkin Trans. 2. 8
(1999) 24092411
9. Wiberg K.B., Murcko M. A., Laidig E.K., MacDougall P. J.: Origin of the Gauche Effect in Substituted Ethanes and Ethenes. The Gauche Effect. J. Phys. Chem. 96 (1992)
69566959 and references therein
10. Harris W.C., Holtzclaw J.R., Kalasinsky V.F.: Vibrational Spectra and Structure of 1,2Difluoroethane: GaucheTrans Conformers. J. Chem. Phys. 67 (1977) 33303338
11. Sreeruttun R. K., Ramasami P.: Conformational Behaviour of 1,2Dichloroethane and 1,2Dibromoethane: 1HNMR, IR, Refractive index and Theoretical Studies. Physics and
Chemistry of Liquids. 44 (2006) 315328
12. Wiberg K.B., Keith T.A., Frisch M.J., Murcko M.: Solvent Effects on 1,2Dihaloethane
Gauche/Trans Ratios. J. Phys. Chem. 99 (1995) 90729079
13. McClain B.L., BenAmotz D.: Global Quantitation of Solvent Effects on the Isomerization
Thermodynamics of 1,2Dichloroethane and trans1,2Dichlorocyclohexane. J. Phys.
Chem. B 106 (2002) 78827888
14. Foresman J.B., Keith T.A., Wiberg K.B., Snoonian J., Frisch M.J.: J. Phys. Chem. 100,
(1996) 1609816104 and references therein
15. Gaussian 03, Revision C.02, Frisch M.J., Trucks G.W., Schlegel H.B., Scuseria G.E.,
Robb M.A.,. Cheeseman J.R, Montgomery J.A., Jr., Vreven T., Kudin K.N., Burant J.C.,
Millam J.M., Iyengar S.S., Tomasi J., Barone V., Mennucci B., Cossi M., Scalmani G.,
Rega N., Petersson G.A., Nakatsuji H., Hada M., Ehara M., Toyota K., Fukuda R., Hasegawa J., Ishida M., Nakajima T., Honda Y., Kitao O., Nakai H., Klene M., Li X., Knox
J.E., Hratchian H.P.,. Cross J.B, Bakken V., Adamo C., Jaramillo J., Gomperts R., Stratmann R.E., Yazyev O., Austin A.J., Cammi, R. Pomelli C., Ochterski J.W., Ayala P.Y.,
Morokuma K., Voth G.A., Salvador P., Dannenberg J.J., Zakrzewski V.G., Dapprich S.,
Daniels A.D., Strain M.C., Farkas O., Malick D.K., Rabuck A.D., Raghavachari K.,
Foresman J.B., Ortiz J.V., Cui Q., Baboul A.G., Clifford S., Cioslowski J., Stefanov B.B.,
Liu G., Liashenko A., Piskorz P., Komaromi I., Martin R.L., Fox D.J., Keith T., AlLaham
M.A., Peng C.Y., Nanayakkara A., Challacombe M., Gill P.M.W., Johnson B., Chen W.,
Wong M.W., Gonzalez C., and Pople J.A., Gaussian, Inc., Wallingford CT, 2004.
16. GaussView, Version 3.09, R. Dennington II, T. Keith, J. Millam, K. Eppinnett, W. L.
Hovell, R. Gilliland, Semichem, Inc., Shawnee Mission, KS, 2003.
17. Shimanouchi T.: Tables of Molecular Vibrational Frequencies Consolidated Volume I.
National Bureau of Standards (1972) 1160
Introduction
305
306
associated with how fast the extra charge is added to the system. Moreover, the
created bipolaron is trapped by the breather.
Model
(tji,i+1 Cji+1,s Cji,s + H.c)
i,s
1
1
(nji )(nji )
2
2
i
+V
(nji 1)(nji+1 1)
+U
K
2
yj2i +
M
i
u 2ji ,
j = 1, 2
(2)
and
Hint =
q
(3)
i=p,s
(4)
Ci,s
(Ci,s ) is the creation (annihilation) operator of a electron with spin s at
307
The dynamics of the lattice part is made with the EulerLagrange equations
and the Schr
odinger electrons equation of motion is solved within the unrestricted timedependent HartreeFock approximation. It should be pointed out
that both equations depend explicitly on the occupation number of the oneparticle electronic states.[12]
In order to perform the dynamics, an initial selfconsistent state is prepared
solving the equations of motion for the lattice and electrons simultaneously.[20]
Periodic boundary conditions are considered. The initial state is taken in equilibrium (E = 0). Therefore, we have u n = 0 for all n in the initial state.
The equations of motion are solved by discretizing the time variable with a
step t. The time step t is chosen so that the change of ui (t) and A(t) during
this interval is always very small in the electronic scale.[12]
Simulation Results
One more hole is injected in polymer chains bearing already positively charged
polarons. Since charged excitations defects can be created by quite dierent
means: photoexcitations, chemical doping or direct charge injection via electronic
device, we performed simulations where the extra electron is taken from the
system during dierent time intervals (T ). We varied T from 0 to 100 fs. The
shorter time intervals simulate photoexcitations and the direct charge injection.
The longer time intervals account for the dierent impurity addition procedures
associate with chemical doping. The electron is taken from the highest occupied
level using the following expression
OF (t) =
1
(t ti )
[1 + cos(
)]
2
T
(5)
for t between ti and ti + T . Here, ti is the time when the hole injection begins
and OF (t) is the occupation number of the Fermi level.
We have considered two polymeric interacting chains with N = 60 sites each,
containing initially two positively charged polaron in all simulations. We use a
mean charge density i (t), derived from the charge density i (t), and the order
parameter yi (t) [yi (t) = ui+1 (t) ui (t)] to analyze the simulations.[19] The
dynamics of the system is followed during 100,000 time steps spanning 400 fs.
A smooth transition of one of the polarons to a bipolaron, in its respective
chain, is obtained after the adiabatic removal (T > 80 fs) of the third electron.
Figure 1 shows the time evolution of the energy levels neighboring and inside
the energy gap. It can be seen that the energy levels associated with the polaron
move in the middlegap direction assuming a bipolaron conformation. The small
oscillation of the levels are due to lattice oscillations induced by the hole injection
perturbation.
Figure 2 presents bond length order parameter of chains 1 and 2. It should be
noted that we use periodic boundary conditions, therefore, the order parameter
of chain 1 (Fig. 2(a)) represents a polaron around site 1 (it begins at site 45,
it goes until site 60 and it continues from site 1 to site 15). Positively charged
308
1.5
Energy (eV)
0.5
0.5
1.5
0
100
200
Time (fs)
300
400
Fig. 1. Time evolution of energy levels inside and around the gap in an adiabatic
transition. The spin up levels are shown. The system changes from polaron levels (t <
80 fs) to bipolaron levels conguration (t > 100 fs).
polarons repel each other. They stay apart from each other as far as possible.
The polaronbipolaron transition occurs in chain 2. This clear transition happens in chain 2 as an apparent spontaneous symmetry breaking. Nevertheless,
the presence of an impurity on chain 2 leads to a symmetry breaking and the
association of one polaron to it. It is obtained that the polaron associated with
the impurity makes the transition to bipolaron.
Eects of interchain interaction were addressed by varying the extent of the
interacting region (p and q in the Hamiltonian). For the transitions where two
chains interact only on half of their length (p=31 and q=60), one polaron stays
in the interacting region and the other stays in the noninteracting region due
again to Coulomb repulsion. It is obtained that the polaronbipolaron transition
happens with the polaron in the interacting region. Therefore, the interchain
interaction is also eective in promoting the transition.
Figure 3 presents a very special case where two polarons merge to create a
bipolaron. This case is quite the originally suggested process for the polaronbipolaron transition.[21] Here, after the hole injection, there appears an exciton lasting for about 200 f s and then the bipolaron takes place in the lattice.
Nevertheless, it should be noted that this happens when one chain has a high
density of polarons and the other one has initially none of them. It can be
clearly seen that two polarons in chain 1 merges to a single bipolaron and another polaron appears in chain 2 du
Mult mai mult decât documente.
Descoperiți tot ce are Scribd de oferit, inclusiv cărți și cărți audio de la editori majori.
Anulați oricând.