Pseudopolar

array

mask

algorithm

for

spherical

coordinate

grid

surfaces

Alessandro

Amoroso

Giulio

Casciola

Technical

Report

May

Laboratory

for

Computer

Science

University

of

Bologna

Piazza

di

Porta

S.

Donato

Bologna

-LRB-

Italy

-RRB-

The

University

of

Bologna

Laboratory

for

Computer

Science

Research

Technical

Reports

are

available

via

anonymous

FTP

from

the

area

ftp.cs.unibo.it

pub/TR/UBLCS

in

compressed

PostScript

format

Abstracts

are

available

from

the

same

host

in

the

directory

pub/TR/UBLCS

ABSTRACTS

in

plain

text

format

All

local

authors

can

be

reached

via

e-mail

at

the

address

last-name@cs.unibo.it

UBLCS

Technical

Report

Series

Scheduling

Real

Time

Tasks

A

Performance

Study

F.

Panzieri

L.

Donatiello

L.

Poretti

May

Specification

and

Verification

of

Dynamic

Properties

in

Distributed

Computations

O.

Babao

glu

M.

Raynal

May

Interaction

Systems

II

The

Practice

of

Optimal

Reductions

A.

Asperti

C.

Laneve

May

Reliability

Analysis

of

Tree-Based

Structures

and

its

Application

to

Fault-Tolerant

VLSI

Systems

M.

Roccetti

June

Guard

Compilation

in

Logic

Shared

Dataspace

Languages

M.

Gaspari

June

Data

Algorithm

A

Numerical

Method

to

Extract

Shape

Information

from

Gray

Scale

Images

R.

Davoli

F.

Tamburini

June

Towards

Performance

Evaluation

in

Process

Algebras

R.

Gorrieri

M.

Roccetti

July

Split

and

ST

Bisimulation

Semantics

R.

Gorrieri

C.

Laneve

July

Multilanguage

Interoperability

G.

Attardi

M.

Gaspari

July

HERMES

an

Expert

System

for

the

Prognosis

of

Hepatic

Diseases

I.

Bonf?a

C.

Maioli

F.

Sarti

G.L.

Milandri

P.R.

Dal

Monte

September

An

Information

Flow

Security

Property

for

CCS

R.

Focardi

R.

Gorrieri

October

A

Classification

of

Security

Properties

R.

Focardi

R.

Gorrieri

October

Real

Time

Systems

A

Tutorial

F.

Panzieri

R.

Davoli

October

A

Scalable

Architecture

for

Reliable

Distributed

Multimedia

Applications

F.

Panzieri

M.

Roccetti

October

Wide-Area

Distribution

Issues

in

Hypertext

Systems

C.

Maioli

S.

Sola

F.

Vitali

October

On

Relating

Some

Models

for

Concurrency

P.

Degano

R.

Gorrieri

S.

Vigna

October

Axiomatising

ST

Bisimulation

Equivalence

N.

Busi

R.

van

Glabbeek

R.

Gorrieri

December

A

Theory

of

Processes

with

Durational

Actions

R.

Gorrieri

M.

Roccetti

E.

Stancampiano

December

Further

Modifications

to

the

Dexter

Hypertext

Reference

Model

a

Proposal

W.

Penzo

S.

Sola

F.

Vitali

January

Symbol-Level

Requirements

for

Agent-Level

Programming

M.

Gaspari

E.

Motta

February

Extending

Prolog

with

Data

Driven

Rules

M.

Gaspari

February

Schedulability

Checking

of

Data

Flow

Tasks

in

Hard-Real-Time

Distributed

Systems

R.

Davoli

L.

A.

Giachini

March

A

Shared

Dataspace

Language

and

its

Compilation

M.

Gaspari

March

Exploring

the

Coordination

Space

with

LO

S.

Castellani

P.

Ciancarini

April

Comparative

Semantics

of

LO

S.

Castellani

P.

Ciancarini

April

Distributed

Conflicts

in

Communicating

Systems

N.

Busi

R.

Gorrieri

G.

Siliprandi

April

A.

Amoroso

G.

Casciola

May

MPA

a

Stochastic

Process

Algebra

M.

Bernardo

L.

Donatiello

R.

Gorrieri

May

Describing

Queueing

Systems

with

MPA

M.

Bernardo

L.

Donatiello

R.

Gorrieri

May

Operational

GSPN

Semantics

of

MPA

M.

Bernardo

L.

Donatiello

R.

Gorrieri

May

Pseudopolar

array

mask

algorithm

for

spherical

coordi

nate

grid

surfaces

Alessandro

Giulio

Technical

Report

May

Abstract

An

algorithm

for

rendering

perspective

views

of

spherical

coordinate

grid

surfaces

with

hidden

line

removed

is

presented

The

method

operates

in

screen

coordinates

and

makes

almost

exclusive

use

of

integer

arithmetic

it

is

pixel

exact

and

general

in

the

sense

that

it

can

render

any

continuous

function

from

any

viewpoint

It

is

efficient

and

competitive

for

high

grids

providing

high-definition

images

at

very

low

cost

The

algorithm

is

in

the

worst

case

linear

time

in

the

number

of

facets

and

less

than

linear

in

the

image-size

The

main

ideas

behind

the

algorithm

may

be

applied

to

others

graphic

representations

and

classes

of

objects

This

research

was

supported

by

CNR-Italy

contract

n.

and

CNR

grant

n.

Department

of

Mathematics

University

of

Bologna

Piazza

di

Porta

S.Donato

Bologna

Italy

Introduction

Introduction

The

hidden-line

problem

for

plotting

perspective

views

of

objects

is

simpler

when

restricted

to

grid

surfaces

-LSB-

-RSB-

With

grid

surfaces

we

mean

graph

of

bivariate

continuous

functions

as

in

Cartesian

than

in

spherical

or

cylindrical

coordinates

represented

by

their

values

on

a

set

of

grid

points

In

literature

several

authors

have

proposed

algorithms

some

preferring

speed

of

execution

to

the

detriment

of

precision

and

generality

-LSB-

-RSB-

others

preferring

precision

and

generality

-LSB-

-RSB-

though

with

some

limitations

on

the

point

of

view

The

only

scholar

who

deals

with

spherical

coordinate

functions

extending

Anderson

's

proposal

-LSB-

-RSB-

is

Suffern

-LSB-

-RSB-

The

proposals

mentioned

can

be

classified

as

those

that

solve

the

hidden-line

problem

using

floating

point

arithmetic

in

the

projection

plane

and

those

that

work

in

the

screen

plane

using

integer

arithmetic

The

first

to

propose

this

second

procedure

method

was

Skala

-LSB-

-RSB-

The

present

study

proposes

a

new

hidden-line

algorithm

for

spherical

coordinate

functions

that

operates

in

the

screen

plane

using

almost

exclusively

integer

arithmetic

and

is

general

pixel

exact

and

efficient

The

proposal

even

goes

beyond

the

limits

of

the

Suffern

-LSB-

-RSB-

method

the

function

can

be

observed

from

any

viewpoint

and

spherical

coordinate

functions

with

zero

radius

can

be

represented

The

proposed

method

as

is

already

noted

in

literature

-LSB-

-RSB-

exploits

the

property

of

being

a

function

and

continuous

so

that

given

the

viewpoint

it

is

possible

to

determinate

an

occlusion

compatible

order

of

the

facets

or

grid

path

in

a

simple

manner

when

the

facets

are

processed

in

accordance

with

a

grid

path

the

region

obtained

at

each

step

is

connected

and

is

star-convex

The

basic

idea

of

the

method

is

to

store

the

boundary

of

the

pixel

invisibility

star-convex

region

as

a

discrete

function

TOP

in

pseudopolar

coordinates

The

main

advantage

is

that

the

pixel

invisibility

classification

can

be

now

performed

with

little

effort

a

given

pixel

-LRB-

ae

-RRB-

lies

within

the

invisibility

region

if

ae

TOP

-LRB-

-RRB-

Paragraphs

state

the

problem

define

the

grid

path

and

the

geometry

of

the

view

adopted

Paragraphs

and

describe

the

fundamental

idea

on

which

the

proposed

method

is

based

Paragraph

shows

the

method

and

provides

a

variant

which

is

again

theoretically

seen

to

be

pixel

exact

and

computationally

efficient

Next

come

the

analysis

of

the

algorithm

s

complexity

and

a

comparison

with

Suffern

's

proposal

They

close

with

some

implementative

details

Problem

specification

Given

the

continuous

function

P

F

-LRB-

-RRB-

with

-LRB-

-RRB-

-LSB-

ss

-RSB-

-LSB-

-LSB-

has

to

be

graphically

represented

on

a

raster

display

In

practice

the

function

is

represented

as

a

set

of

values

on

the

points

of

a

grid

Its

graph

can

then

be

approximated

by

a

grid

surface

consisting

of

straight-edge

regions

Let

M

be

a

strictly

increasing

sequence

of

latitude

angles

where

and

M

ss

and

let

N

be

a

strictly

increasing

sequence

of

longitude

angles

where

and

N

-LRB-

N

-RRB-

-LRB-

the

spacing

need

not

be

uniform

-RRB-

Viewing

geometry

Q

F

X

Y

Z

Eij

Figure

grid

points

and

grid

elements

Definition

points

in

spherical

coordinate

of

the

form

-LRB-

i

j

-RRB-

will

be

called

grid

points

Definition

grid

points

with

-LRB-

i

-RRB-

and

ss

-LRB-

i

M

-RRB-

will

be

called

north

and

south

pole

respectively

and

must

be

considered

as

two

grid

points

only

Definition

a

grid

surface

is

a

continuous

function

g

-LSB-

ss

-RSB-

x

-LSB-

-LSB-

which

has

the

given

values

at

the

grid

points

and

that

is

linear

between

adjacent

grid

points

We

represent

the

function

g

-LRB-

-RRB-

on

a

raster

device

by

drawing

the

image

of

line

segments

connecting

adjacentgrid

points

under

a

perspective

projection

and

window-viewport

transformation

removing

hidden-lines

Definition

line

segments

joining

adjacent

grid

points

with

the

same

will

be

called

longitude

edges

Line

segments

joining

adjacent

grid

points

with

the

same

will

be

called

latitude

edges

Definition

we

call

grid

element

E

with

index

i

j

-LRB-

Eij

-RRB-

the

planar

patch

-LRB-

quadrilateral

or

triangular

-RRB-

bounded

by

the

longitude

edges

-LRB-

i

j

-RRB-

-LRB-

i

j

-RRB-

and

-LRB-

i

j

-RRB-

-LRB-

i

j

-RRB-

andby

the

latitude

edges

-LRB-

i

j

-RRB-

-LRB-

i

j

-RRB-

and

-LRB-

i

j

-RRB-

-LRB-

i

j

-RRB-

Definition

the

image

of

a

grid

element

under

a

function

will

be

called

a

facet

Function

g

must

satisfy

the

following

condition

the

perspective

projection

of

any

facet

-LRB-

i.e.

the

image

of

a

grid

element

under

g

-RRB-

is

bounded

by

the

projection

of

the

facet

boundary

Viewing

geometry

For

the

perspective

projection

H

used

in

this

work

the

following

assumptions

are

made

ffl

the

grid

surface

g

-LRB-

-RRB-

is

viewed

from

the

viewing

position

or

center

of

projection

Vp

-LRB-

Xp

Yp

Zp

-RRB-

in

world

Cartesian

coordinates

-LRB-

Vp

-LRB-

Pp

p

p

-RRB-

in

world

spherical

coordinates

-RRB-

ffl

the

viewing

direction

or

optical

axis

is

Vd

-LRB-

Xp

Yp

Zp

-RRB-

so

that

it

passes

through

the

origin

of

the

world

spherical

-LRB-

P

-RRB-

and

Cartesian

-LRB-

X

Y

Z

-RRB-

coordinate

systems

ffl

the

image

plane

or

projection

plane

is

perpendicular

to

Vd

ffl

An

xw

yw

Cartesian

system

is

defined

on

the

projection

plane

with

origin

Ow

obtained

as

the

intersection

between

the

plane

and

Vd

and

yw

as

the

projection

of

the

Z

axis

on

the

plane

Occlusion

compatible

order

or

grid

path

X

Z

xw

yw

Ip

Vd

Y

Ow

Vp

Figure

viewing

geometry

Observation

the

particular

choice

of

Vd

is

not

limiting

in

the

case

of

spherical

coordinate

functions

and

when

the

facets

are

processed

in

accordance

with

a

grid

path

results

that

the

region

drawn

at

each

step

is

connected

and

star-convex

with

respect

to

the

origin

Ow

-LSB-

-RSB-

The

viewing

geometry

described

implies

that

the

g

-LRB-

-RRB-

grid

surface

projection

is

contained

in

a

circumference

with

center

Ow

and

radius

rw

max

i

j

k

H

-LRB-

g

-LRB-

i

j

-RRB-

-RRB-

Then

let

rs

the

transform

of

rw

in

accordance

with

the

window-viewport

transformation

be

the

radius

of

the

circumference

with

center

the

origin

in

screen

coordinates

Occlusion

compatible

order

or

grid

path

Visibility

problem

Only

some

regions

of

the

surface

to

be

represented

are

visible

Definition

all

the

straight

segments

that

source

from

the

viewing

position

Vp

and

intersect

the

surface

are

called

projectors

Each

point

on

the

surface

is

visible

from

the

viewing

position

only

if

it

is

the

first

intersection

of

some

projector

with

the

surface

Observe

that

each

facet

g

-LRB-

Ei

j

-RRB-

may

be

ffl

visible

if

each

projector

that

intersects

the

facet

has

no

previous

intersections

with

other

facets

ffl

partially

hidden

if

some

projectors

intersect

other

facets

before

intersecting

g

-LRB-

Ei

j

-RRB-

ffl

hidden

if

all

the

projectors

intersect

other

facets

before

intersecting

g

-LRB-

Ei

j

-RRB-

Grid

Path

Due

to

the

single

value

property

of

the

function

F

-LRB-

-RRB-

the

grid

surface

g

-LRB-

-RRB-

will

have

this

property

Since

g

is

a

function

an

order

of

the

facets

g

-LRB-

Ei

j

-RRB-

with

respect

to

the

distance

from

a

projection

center

can

be

easily

obtained

with

low

computational

complexity

It

is

sufficient

to

define

an

order

of

the

g

-LRB-

Ei

j

-RRB-

facets

so

that

Occlusion

compatible

order

or

grid

path

X

Z

Y

g

-LRB-

Ei

j

-RRB-

Ei

j

r

Fj

Qi

Fj

Qi

Figure

a

grid

element

and

its

facet

-LRB-

-RRB-

if

a

facet

occupies

the

kth

position

in

the

order

then

it

is

either

visible

or

hidden

-LRB-

partially

or

completely

-RRB-

by

the

facets

occupying

positions

prior

to

the

kth

by

an

order

from

the

nearest

to

the

furthest

with

respect

to

a

center

of

projection

Definition

we

call

grid

path

any

ordered

succession

of

Ei

j

grid

elements

Definition

a

grid

path

such

that

the

succession

of

g

-LRB-

Ei

j

-RRB-

satisfies

condition

-LRB-

-RRB-

is

called

correct

grid

path

Definition

two

facets

g

-LRB-

Ei

j

-RRB-

k

and

g

-LRB-

Ei

j

-RRB-

h

are

called

p-independent

if

there

is

no

projector

p

that

intersects

both

them

if

one

or

more

projectors

p

exist

they

are

called

p-dependent

Definition

we

call

half-planes

hp

all

the

half-planes

bounded

by

the

optical

axis

Definition

two

facets

g

-LRB-

Ei

j

-RRB-

k

and

g

-LRB-

Ei

j

-RRB-

h

are

called

independent

if

there

is

no

hp

that

intersects

both

if

hp

exists

the

facets

are

called

dependent

Observation

if

two

facets

are

p-dependent

then

they

are

also

dependent

but

the

opposite

is

not

true

Definition

the

plane

through

the

origin

and

the

grid

points

-LRB-

i

j

-RRB-

-LRB-

i

j

-RRB-

is

called

plane

i.

Definition

the

half-plane

with

Z

axis

as

boundary

and

perpendicular

to

the

XY

plane

having

an

angle

of

i

with

the

plane

XZ

is

called

grid

plane

i.

Let

us

now

consider

a

grid

element

Ei

j

and

the

corresponding

facet

g

-LRB-

Ei

j

-RRB-

Theboundary

of

g

-LRB-

Ei

j

-RRB-

lies

in

the

planes

i

i

and

in

the

grid

planes

j

j

that

bound

Ei

j.

Note

that

every

straight

line

r

sourcing

from

the

origin

and

lying

in

the

volume

bounded

by

the

four

previous

planes

must

intersect

both

the

facet

and

the

grid

element

at

only

one

Occlusion

compatible

order

or

grid

path

point

Let

be

an

hp

containing

r

it

follows

that

Observation

if

intersects

the

facet

g

-LRB-

Ei

j

-RRB-

then

it

also

intersects

the

grid

element

Ei

j

because

contains

r.

Observation

Since

contains

r

and

passes

through

the

origin

then

it

intersects

many

grid

elements

and

the

associated

facets

Now

we

have

all

the

elements

to

prove

the

following

Theorem

for

any

continuous

function

g

-LSB-

ss

-RSB-

-LSB-

-LSB-

it

is

sufficient

to

define

a

correct

grid

path

of

Ei

j

in

order

to

obtain

a

correct

order

of

the

facets

g

-LRB-

Ei

j

-RRB-

proof

from

observations

and

it

follows

that

to

estimate

the

order

-LRB-

with

respect

to

the

distance

from

the

viewpoint

-RRB-

of

the

intersection

for

each

hp

with

the

facets

is

equivalent

to

considering

the

order

of

the

intersection

of

each

hp

with

grid

elements

Then

it

is

possible

to

sort

the

facets

considering

only

the

grid

elements

Theorem

involves

the

sorting

of

dependent

facets

From

observation

considering

an

order

of

dependent

facets

g

-LRB-

Ei

j

-RRB-

is

more

restricting

than

an

order

of

p-dependent

facets

Summarizing

sorting

dependent

grid

elements

Ei

j

allows

the

shape

of

drawing

function

g

to

be

ignored

Definition

the

order

of

grid

elements

inducted

by

an

hp

is

called

local

order

Merging

all

local

orders

establishes

a

global

order

Note

that

different

combinations

of

local

orders

are

possible

then

more

correct

grid

paths

exist

Theorem

only

a

limited

number

of

global

orders

exists

proof

let

nk

be

the

number

of

grid

elements

intersected

by

the

hp

k

Let

us

denote

-LRB-

knk

-RRB-

as

the

local

order

inducted

by

k

with

ki

the

indexes

of

the

intersected

grid

elements

Let

n

MN

be

the

total

number

of

grid

facets

with

-LRB-

M

-RRB-

and

-LRB-

N

-RRB-

respectively

the

numbers

of

discrete

angles

i

and

j

Let

be

the

set

of

all

the

permutations

of

the

first

n

natural

numbers

then

all

possible

grid

paths

are

f

ng

with

h

-LRB-

kh

kh

kh

n

-RRB-

and

kh

-LSB-

n

-RSB-

An

hp

l

will

restrict

all

possible

grid

paths

to

those

in

r

f?h

v

n

with

u

v

ku

kh

i

kv

kh

j

i

jg

that

is

r

l

is

the

set

of

h

that

has

the

elements

kn

with

respect

to

the

order

inducted

by

the

half

plane

l.

Let

m

be

all

hp

s

that

induct

different

local

orders

on

the

grid

elements

then

all

the

possible

correct

grid

paths

are

m

l

rl

Occlusion

compatible

order

or

grid

path

and

this

demonstrates

the

theorem

Analysis

of

grid

paths

Each

projector

intersects

the

grid

elements

polyhedron

through

only

two

grid

elements

Definition

the

first

grid

element

intersected

by

the

optical

axis

will

be

called

initial

grid

element

and

the

second

the

final

grid

element

Note

that

the

initial

and

final

grid

elements

are

respectively

the

first

and

last

in

the

occlusion

compatible

order

Definition

the

set

of

grid

elements

bounded

by

the

grid

planes

j

and

j

will

be

called

column

j

The

column

containing

the

initial

grid

element

is

called

initial

column

and

that

containing

the

final

grid

element

final

column

Observation

each

hp

intersecting

grid

element

of

two

adjacent

columns

will

always

intersect

grid

elements

of

a

column

before

those

of

the

other

column

Further

an

order

of

the

grid

elements

of

a

column

is

inducted

only

by

the

hp

intersecting

the

column

itself

Definition

if

it

is

possible

to

determine

a

first

grid

element

according

to

all

local

orders

restricted

to

a

single

column

then

the

column

is

called

first

grid

element

column

If

it

is

possible

to

determine

a

last

grid

element

according

to

all

local

orders

restricted

to

a

single

column

then

the

column

is

called

last

grid

element

column

Observation

every

column

can

be

either

a

first

or

a

last

grid

element

column

Observation

in

a

first

grid

element

column

all

the

grid

elements

split

by

the

first

one

are

independent

Similarly

in

a

last

grid

element

column

all

the

grid

elements

split

by

the

last

one

are

independent

To

figure

up

any

grid

path

pre-elaboration

is

needed

ffl

identification

of

initial

and

final

column

ffl

identification

of

the

most

important

grid

element

-LRB-

first

or

last

-RRB-

of

each

column

ffl

establishing

the

kind

-LRB-

first

or

last

-RRB-

of

each

column

Identification

of

initial

and

final

column

Note

that

the

vertical

hp

i.e.

those

that

contain

the

Z

axis

intersect

only

but

all

the

grid

elements

of

the

the

same

column

-LRB-

see

Fig.

-RRB-

This

hp

partitions

the

grid

element

polyhedron

into

two

symmetrical

regions

To

identify

the

initial

column

in

the

object

space

consider

the

viewing

position

Vp

in

spherical

coordinates

for

all

grid

planes

j

j

N

if

j

p

j

then

j

is

the

index

of

the

initial

column

The

last

column

is

identified

by

for

all

the

grid

planes

j

j

N

Occlusion

compatible

order

or

grid

path

xw

yw

Figure

the

grid

element

polyhedron

and

some

hp

viewed

from

Vp

if

j

p

ss

j

then

j

is

the

index

of

the

last

column

Identification

of

the

most

important

grid

element

for

each

column

evolving

the

Suffern

approach

Definition

all

the

planes

of

a

column

j

share

a

straight

line

j

through

the

origin

and

lying

in

the

XY

plane

-LRB-

see

Fig.

and

-RRB-

The

angle

j

is

j

j

j

ss

The

most

important

grid

element

of

column

j

is

that

intersected

by

the

hp

j

through

j

-LRB-

see

Fig.

-RRB-

in

fact

j

is

between

two

planes

and

due

to

continuity

other

hp

still

intersect

this

grid

element

as

first

or

last

in

the

column

The

most

important

grid

element

will

be

a

first

one

if

Vp

and

column

j

lie

on

the

same

side

with

respect

to

the

planes

through

the

Z

axis

and

the

most

important

grid

element

is

otherwise

a

last

one

The

following

algorithm

uses

the

analytical

expression

of

every

plane

to

identify

those

that

include

j

or

in

a

simple

manner

Vp

For

all

plane

i

-LRB-

i

M

-RRB-

of

a

column

j

let

i

j

-LRB-

P

-RRB-

be

the

equation

of

plane

i

let

i

j

-LRB-

P

-RRB-

be

the

equation

of

plane

i

if

-LRB-

i

j

-LRB-

Pp

p

p

-RRB-

and

i

j

-LRB-

Pp

p

p

-RRB-

-RRB-

then

Ei

j

is

a

first

grid

element

-LRB-

Vp

is

included

between

i

j

and

i

j

-RRB-

Occlusion

compatible

order

or

grid

path

ak

gi

j

gi

j

gi

kgi

k

lj

lk

aj

opticalaxis

Figure

identification

of

initial

grid

element

if

-LRB-

i

j

-LRB-

Pp

p

p

-RRB-

and

i

j

-LRB-

Pp

p

p

-RRB-

-RRB-

then

Ei

j

is

a

last

grid

element

-LRB-

Vp

is

included

between

i

j

and

i

-RRB-

The

algorithm

is

justified

by

this

observation

i

j

-LRB-

Pp

p

p

-RRB-

if

Vp

is

under

i

j

if

Vp

is

contained

in

i

j

if

Vp

is

over

i

j

To

obtain

the

equation

of

a

plane

let

A

and

B

be

two

grid

points

with

the

same

angle

i

A

-LRB-

i

j

-RRB-

B

-LRB-

i

j

-RRB-

Using

the

coordinates

transformation

X

P

sin

-LRB-

-RRB-

cos

-LRB-

-RRB-

Y

P

sin

-LRB-

-RRB-

sin

-LRB-

-RRB-

Z

P

cos

-LRB-

-RRB-

it

is

possible

to

compute

the

Cartesian

coordinates

of

AandB

let

them

be

A

-LRB-

-RRB-

and

B

-LRB-

-RRB-

The

plane

i

is

a

plane

through

points

A

B

and

the

origin

O

-LRB-

-RRB-

-LRB-

-RRB-

then

his

equation

is

det

B

X

Y

Z

X

Y

Z

X

Y

Z

CA

Occlusion

compatible

order

or

grid

path

X

Z

Z

F

i

lj

Fl

Fi

-LRB-

B

-RRB-

-LRB-

A

-RRB-

lj

L

i

i

Figure

all

the

i

j

-LRB-

P

j

j

-RRB-

for

the

grid

element

of

a

column

j

-LRB-

A

-RRB-

and

calculus

for

j

-LRB-

P

j

-RRB-

-LRB-

B

-RRB-

then

making

the

appropriate

substitutions

X

cos

-LRB-

i

-RRB-

-LRB-

sin

-LRB-

j

-RRB-

sin

-LRB-

j

-RRB-

-RRB-

Y

cos

-LRB-

i

-RRB-

-LRB-

cos

-LRB-

j

-RRB-

cos

-LRB-

j

-RRB-

-RRB-

Z

sin

-LRB-

i

-RRB-

sin

-LRB-

j

j

-RRB-

is

the

equation

of

the

plane

i

of

the

column

j

Some

considerations

must

be

put

forward

to

manage

the

cases

of

-LRB-

i

-RRB-

and

ss

-LRB-

i

M

-RRB-

Another

special

case

to

consider

is

Vp

lying

on

Z

axis

Calculating

each

plane

for

a

column

j

i

j

three

points

are

used

-LRB-

-RRB-

-LRB-

i

j

-RRB-

-LRB-

i

j

-RRB-

To

calculate

j

or

M

j

some

problems

are

present

two

of

the

three

previous

points

coincide

so

it

is

impossible

to

determine

the

plane

in

the

usual

way

-LRB-

see

Fig.

-RRB-

In

fact

for

the

case

points

-LRB-

j

-RRB-

and

-LRB-

j

-RRB-

lie

both

on

the

Z

axis

at

the

same

distance

from

the

origin

Hereinafter

we

will

treat

only

the

case

of

the

other

case

ss

results

by

symmetry

Observe

that

plane

j

is

through

j

then

j

is

a

plane

for

j

and

the

Z

axis

Let

L

be

a

point

on

j

then

L

-LRB-

cos

-LRB-

>=-RRB-

sin

-LRB-

>=-RRB-

-RRB-

-LRB-

-RRB-

to

compute

j

the

points

L

-LRB-

-RRB-

and

-LRB-

-RRB-

are

used

When

Vp

lies

on

the

Z

axis

a

special

case

occurs

all

the

columns

are

initial

To

manage

this

case

an

overrule

on

the

calculus

of

planes

is

applied

This

is

the

simple

method

to

manage

the

case

if

Vp

is

on

the

positive

Z

half-axis

then

for

each

column

j

-LRB-

j

N

-RRB-

Occlusion

compatible

order

or

grid

path

Z

lj

X

Y

Vp

Flj

tl

jQ

aj

L

L'

Figure

a

first

grid

element

intersected

by

the

hp

j

through

j

the

first

grid

element

is

j

if

Vp

is

on

the

negative

Z

half-axis

then

for

each

column

j

-LRB-

j

N

-RRB-

the

first

grid

element

is

EM

j

All

subsequent

calculations

as

usual

choosing

a

column

as

the

initial

one

Identification

of

the

most

important

grid

element

for

each

column

proposed

approach

The

proposed

algorithm

uses

the

analytical

expression

of

an

hp

to

identify

the

most

important

grid

element

of

every

column

j

-LRB-

see

Fig

-RRB-

It

is

not

important

to

compute

the

exact

intersections

between

j

and

column

j

to

explicit

Ei

j

Let

j

be

the

angle

of

hp

j

and

the

Z

axis

in

the

plane

perpendicular

to

j

and

through

the

Z

axis

Now

the

most

important

grid

element

Ei

j

of

a

column

j

can

be

easily

performed

by

for

each

i

-LRB-

i

M

-RRB-

if

-LRB-

i

j

i

-RRB-

then

Ei

j

is

the

most

important

grid

element

of

column

j

To

calculate

j

the

origin

-LRB-

-RRB-

the

viewpoint

-LRB-

Xp

Yp

Zp

-RRB-

and

the

point

L

on

j

-LRB-

see

equation

-RRB-

are

utilized

-LRB-

see

Fig.

-RRB-

Since

the

equation

of

j

is

det

BBB

X

Y

Z

Xp

Yp

Zp

cos

-LRB-

j

-RRB-

sen

-LRB-

j

-RRB-

CCCA

-LRB-

-RRB-

Occlusion

compatible

order

or

grid

path

Let

be

a

point

on

the

plane

perpendicular

to

j

through

the

Z

axis

then

its

coordinates

are

-LRB-

sin

-LRB-

j

-RRB-

cos

-LRB-

j

-RRB-

-RRB-

substituting

the

coordinates

and

into

equation

-LRB-

-RRB-

one

gets

the

coordinate

of

o

that

is

a

point

shared

by

j

and

the

plane

perpendicular

to

j

through

the

Z

axis

o

cos

-LRB-

j

-RRB-

sen

-LRB-

j

-RRB-

Zp

Ypsen

-LRB-

j

-RRB-

Zpcos

-LRB-

j

-RRB-

finally

results

that

j

arccos

Zp

q

-LRB-

Ypsen

-LRB-

j

-RRB-

Zpcos

-LRB-

j

-RRB-

-RRB-

A

One

special

case

exists

when

j

coincides

with

the

optical

axis

To

manage

this

case

consider

that

it

means

that

each

hp

intersects

only

one

grid

element

of

the

column

then

each

grid

element

can

be

chosen

as

the

first

To

establish

the

kind

of

the

most

important

grid

element

for

each

column

the

following

algorithm

is

applied

for

all

j

-LRB-

j

N

-RRB-

if

-LRB-

p

ss

-RRB-

j

p

then

Ei

j

is

a

first

grid

element

else

Ei

j

is

a

last

grid

element

The

special

case

of

Vp

lying

on

the

Z

axis

is

treated

as

above

This

proposed

approach

is

obviously

computationally

less

expensive

than

that

proposed

by

Suffern

Establishing

the

kind

of

each

column

Due

to

the

computations

for

a

first

or

last

grid

element

it

follows

that

for

all

the

columns

j

-LRB-

j

N

-RRB-

if

Ei

j

is

a

first

grid

element

then

column

j

is

a

first

grid

element

column

else

column

j

is

a

last

grid

element

column

Analysis

of

the

Suffern

grid

path

To

illustrate

the

Suffern

grid

path

the

following

definition

is

needed

-LRB-

see

Fig.

-RRB-

Definition

columns

starting

from

the

initial

column

to

the

final

column

in

the

direction

ofincreasing

are

called

right

columns

Column

in

the

decreasing

direction

of

are

called

left

columns

The

algorithm

proposed

by

Suffern

for

a

correct

grid

path

is

process

the

columns

in

the

following

order

Occlusion

compatible

order

or

grid

path

optical

axis

finalcolumn

initialcolumn

Y

F

rightcolumns

leftcolumns

X

Figure

Column

classification

for

Suffern

algorithm

initial

column

all

the

right

columns

in

increasing

order

all

the

left

columns

in

decreasing

order

final

column

for

any

column

j

process

the

grid

elements

in

according

to

the

following

if

the

column

is

a

first

grid

element

then

process

first

grid

element

process

grid

elements

from

the

first

one

excluded

to

the

north

pole

process

grid

elements

from

the

first

one

excluded

to

the

south

pole

else

process

grid

elements

from

the

north

pole

to

the

last

one

excluded

process

grid

elements

from

the

south

pole

to

the

last

one

excluded

process

last

grid

element

The

columns

are

processed

in

a

correct

order

each

hp

intersecting

more

than

one

column

will

induct

a

local

order

of

the

columns

that

is

compatible

with

the

grid

path

-LRB-

see

observation

-RRB-

Resulting

from

observation

also

the

grid

element

path

in

a

column

is

correct

As

an

example

consider

the

grid

elements

polyhedron

shown

in

Fig.

Suffern

's

algorithm

produces

the

grid

path

shown

in

Fig.

Analysis

of

another

grid

path

Without

elaborating

the

grid

elements

in

a

column

order

it

is

possible

to

establish

other

correct

grid

paths

A

correct

grid

path

can

be

performed

by

applying

a

two-step

algorithm

divide

the

grid

elements

in

partitions

for

each

partition

perform

an

ad-hoc

grid

path

The

grid

elements

partition

begins

by

grouping

columns

the

name

of

a

column

is

made

up

by

the

names

of

its

composing

grid

elements

partition

Each

column

set

has

a

starting

Occlusion

compatible

order

or

grid

path

Initialgrid

element

Firstgrid

element

Y

Z

X

Figure

projection

of

the

grid

elements

polyhedron

in

the

image

plane

with

Vp

-LRB-

-RRB-

in

polar

coordinates

initialcolumn

finalcolumn

rightcolumns

leftcolumns

firstgrid

element

initialgrid

element

lastgrid

element

finalgrid

element

F

Q

leftcolumns

Figure

each

grid

element

is

numbered

according

to

Suffern

's

grid

path

Occlusion

compatible

order

or

grid

path

firstgrid

element

initialgrid

element

lastgrid

element

finalgrid

element

F

Q

Figure

partition

of

grid

elements

for

the

example

of

Fig.

following

the

exposed

method

column

and

an

ending

column

that

are

used

to

define

the

sets

ffl

column

set

from

initial

column

included

to

the

last

column

containing

a

first

grid

element

included

in

right

columns

ffl

column

set

from

initial

column

excluded

to

the

last

column

containing

a

first

grid

element

included

in

left

columns

ffl

column

set

from

final

column

excluded

to

the

last

last

grid

element

column

included

in

right

columns

ffl

column

set

from

final

column

included

to

the

last

last

grid

element

column

included

in

left

columns

To

partition

the

grid

elements

each

column

set

is

divided

into

two

parts

by

constant

cuts

Each

grid

element

partition

is

numbered

in

increasing

processing

order

The

partitions

have

a

starting

and

an

ending

row

that

are

used

to

define

each

partition

The

poles

are

called

the

nearest

and

farthest

one

respect

to

the

initial

grid

element

So

the

partitions

are

ffl

from

initial

grid

element

row

included

to

the

nearest

pole

of

columns

set

ffl

from

initial

grid

element

row

included

to

the

nearest

pole

of

columns

set

ffl

from

initial

grid

element

row

excluded

to

the

farthest

pole

of

columns

set

ffl

from

initial

grid

element

row

excluded

to

the

farthest

pole

of

columns

set

ffl

from

final

grid

element

row

excluded

to

the

nearest

pole

of

columns

set

ffl

from

final

grid

element

row

excluded

to

the

nearest

pole

of

columns

set

ffl

from

final

grid

element

row

included

to

the

farthest

pole

of

columns

set

ffl

from

final

grid

element

row

included

to

the

farthest

pole

of

columns

set

Applying

the

grid

elements

partition

algorithm

to

the

example

shown

in

Fig.

the

result

is

shown

in

Fig.

To

perform

a

correct

grid

path

in

each

sector

the

following

method

is

used

partition

partition

lc

column

previous

the

starting

one

lr

starting

row

next

column

to

ending

one

next

row

to

ending

one

repeat

if

Elr

next

colum

-LRB-

lc

-RRB-

is

a

first

grid

element

of

lc

then

Occlusion

compatible

order

or

grid

path

lc

next

column

-LRB-

lc

-RRB-

for

all

row

r

-LRB-

r

lr

starting

row

-RRB-

elaborate

grid

element

Er

lc

else

lr

next

row

-LRB-

lr

-RRB-

for

all

row

c

-LRB-

c

starting

column

lc

-RRB-

elaborate

grid

element

Elr

c

until

-LRB-

lc

and

lr

-RRB-

are

not

Partition

partition

partition

for

each

row

r

-LRB-

r

starting

row

ending

row

-RRB-

for

each

column

c

-LRB-

c

starting

column

ending

column

-RRB-

elaborate

grid

element

Er

c

partition

partition

for

each

row

r

-LRB-

r

ending

row

starting

row

-RRB-

for

each

column

c

-LRB-

c

em

ending

column

starting

column

-RRB-

elaborate

grid

element

Er

c

partition

partition

lc

ending

column

lr

ending

row

next

column

to

starting

one

next

row

to

starting

one

while

-LRB-

lc

and

lr

-RRB-

are

Partition

if

Elr

lc

is

a

last

grid

element

of

lc

then

for

all

row

r

-LRB-

r

starting

row

lr

-RRB-

elaborate

grid

element

Er

lc

lc

next

column

-LRB-

lc

-RRB-

else

for

all

row

c

-LRB-

c

lc

starting

column

-RRB-

elaborate

grid

element

Elr

c

lr

next

row

-LRB-

lr

-RRB-

Applying

the

proposed

algorithm

to

the

example

shown

in

Fig.

the

results

is

shown

in

Fig.

The

resulting

grid

path

is

correct

In

partitions

and

each

grid

element

is

processed

with

respect

to

local

orders

in

fact

each

Ei

j

is

processed

as

the

last

of

all

the

grid

elements

intersected

by

each

hp

from

the

initial

grid

element

and

Ei

j

itself

as

can

be

observed

in

Fig.

and

Analogous

considerations

for

partition

and

Partitions

and

are

treated

symmetrically

each

grid

element

is

processed

before

each

one

from

Ei

j

itself

and

the

final

grid

element

according

to

the

intersections

of

each

hp

through

Ei

j.

Invisibility

region

Each

hp

inducts

a

local

order

of

the

intersected

grid

elements

g

-LRB-

Ei

j

-RRB-

denote

this

order

as

g

-LRB-

Ei

j

-RRB-

k

with

k

MN

Let

and

be

the

intersections

of

the

hp

with

the

boundary

of

g

-LRB-

Ei

j

-RRB-

and

let

and

be

the

perspective

projections

of

and

on

the

projection

plane

Ip

The

projection

of

hp

is

a

radial

straight

line

v

then

g

-LRB-

Ei

j

-RRB-

is

represented

by

a

segment

of

v.

Lemma

Let

g

-LRB-

Ei

j

-RRB-

k

k

MN

be

the

local

order

inducted

on

the

grid

elements

g

-LRB-

Ei

j

-RRB-

by

the

hp

Hypothesize

that

the

perspective

projection

produces

a

mapping

of

g

-LRB-

Ei

j

-RRB-

k

in

the

radial

segment

SkTk

of

v

then

Occlusion

compatible

order

or

grid

path

firstgrid

element

initialgrid

element

lastgrid

element

finalgrid

element

F

Q

Figure

correct

grid

path

for

the

example

of

Fig.

using

the

proposed

algorithm

Z

Y

XX

g

-LRB-

Ei

j

-RRB-

Vp

a

vS

yw

xw

Ip

-LRB-

A

-RRB-

-LRB-

B

-RRB-

Figure

intersection

between

an

hp

and

a

grid

element

-LRB-

A

-RRB-

situation

on

the

projection

plane

-LRB-

B

-RRB-

Occlusion

compatible

order

or

grid

path

l

-LSB-

k

SkTk

ST

l

MN

with

k

S

k

min

k

l

k

Sk

k

and

k

T

k

max

k

l

k

Tk

k

proof

from

the

continuity

of

function

g

it

follows

that

g

-LRB-

Ei

j

-RRB-

will

have

a

point

on

shared

with

g

-LRB-

Ei

j

-RRB-

then

segment

must

have

a

point

shared

with

so

-LSB-

ST

with

k

S

k

min

-LRB-

k

k

k

k

-RRB-

and

k

T

k

max

-LRB-

k

k

k

k

-RRB-

Presuming

that

the

thesis

is

true

for

l

we

now

prove

it

for

l.

Again

for

the

continuity

of

g

g

-LRB-

Ei

j

-RRB-

l

must

have

a

shared

point

with

g

-LRB-

Ei

j

-RRB-

l

then

segment

SlTl

must

have

a

shared

point

with

Sl

but

it

is

true

that

Sl

ST

with

k

S

k

min

k

l

k

Sk

k

and

k

T

k

max

k

l

k

Tk

k

and

this

proves

the

thesis

Lemma

proves

that

on

each

radial

straight

line

v

there

exists

only

one

segment

SkTk

projection

of

grid

element

g

-LRB-

Ei

j

-RRB-

k

Definition

a

closed

polygonal

region

is

called

star-convex

if

vertices

transformed

into

polar

coordinates

have

angles

in

monotonic

order

Definition

let

Rk

be

Rk

k

-LSB-

l

Ql

with

Ql

perspective

projection

of

g

-LRB-

Ei

j

-RRB-

l

and

-LRB-

Ei

j

-RRB-

l

l

MN

a

correct

grid

path

Theorem

Let

us

consider

a

correct

grid

path

it

follows

that

Rk

is

a

star-convex

closed

polygonal

region

for

all

k

MN

proof

suppose

ad

absurdum

that

an

index

k

exists

so

that

Rk

it

is

not

star-convex

then

a

radial

straight

line

v

exists

and

the

intersection

between

v

and

Rk

it

is

not

a

single

segment

The

perspective

projection

does

a

mapping

of

an

hp

into

a

radial

straight

line

v

and

due

to

the

correctness

of

the

grid

path

the

local

ordering

inducted

by

the

hp

is

respected

But

for

lemma

it

is

impossible

for

more

than

one

segment

to

exist

thus

the

supposition

is

really

absurd

Pseudopolar

coordinate

transformation

Pseudopolar

coordinate

transformation

Definition

a

pseudopolar

coordinate

system

is

defined

as

a

polar

coordinate

system

-LRB-

ae

-RRB-

with

a

discretization

on

dimension

As

an

example

choosing

a

finite

integer

number

m

and

defining

one

gets

the

pseudopolar

system

-LRB-

ae

-RRB-

-LRB-

ae

-RRB-

with

round

m

-LSB-

-LSB-

ae

Let

C

be

the

set

of

pixels

in

the

circle

which

is

centered

in

the

origin

with

radius

rs

for

every

pixel

in

C

we

define

the

transformation

in

pseudopolar

coordinates

as

-LSB-

m

-RSB-

-LSB-

-LSB-

-LRB-

x

y

-RRB-

round

arctg

-LRB-

y

x

-RRB-

ae

with

-LSB-

m

-RSB-

integer

interval

-LSB-

-LSB-

real

interval

m

For

our

purposes

it

is

important

to

utilize

a

system

of

pseudopolar

coordinates

such

that

is

injective

Note

that

infinite

choices

exist

for

m

so

that

this

may

be

possible

Minimum

m

is

given

by

m

round

rs

which

corresponds

to

the

number

of

pixels

generated

by

Bresenham

's

algorithm

-LSB-

-RSB-

for

the

circumference

of

radius

rs

Screen

coordinate

segment

as

pseudopolar

discrete

function

Let

-LRB-

xA

yA

-RRB-

-LRB-

xB

yB

-RRB-

be

the

segment

in

screen

coordinates

whole

contained

in

the

circle

C

defined

by

its

end-points

Let

A

B

the

transforms

of

-LRB-

xA

yA

-RRB-

and

-LRB-

xB

yB

-RRB-

respectively

according

to

then

the

discrete

function

relative

to

the

segment

is

defined

as

G

-LSB-

A

B

-RSB-

-LSB-

-LSB-

G

k

Q

for

A

B

with

-LSB-

A

B

-RSB-

integer

interval

and

Q

the

intersection

between

segment

-LRB-

xA

yA

-RRB-

-LRB-

xB

yB

-RRB-

and

the

straight

line

passing

through

the

origin

of

slope

tg

-LRB-

-RRB-

Proposed

method

In

algorithmic

form

the

method

proposed

is

summarized

in

the

following

steps

Transform

the

grid

surface

into

screen

coordinates

by

means

of

perspective

projection

H

Initialize

discrete

function

TOP

-LSB-

m

-RSB-

-LSB-

-LSB-

into

pseudopolar

coordinates

at

value

For

every

grid

element

-LRB-

Eij

-RRB-

k

k

NM

in

accordance

with

a

grid

path

For

every

boundary

segment

of

H

-LRB-

g

-LRB-

Eij

-RRB-

k

-RRB-

not

yet

processed

For

every

pixel

-LRB-

x

y

-RRB-

-LRB-

generated

with

the

Bresenham

algorithm

-RRB-

of

the

segment

Improved

method

qB

qA

rBrA

qA

qB

A

B

Figure

segment

AB

and

its

discrete

function

G

the

pixel

is

transformed

in

-LRB-

ae

-RRB-

according

to

if

ae

TOP

-LRB-

-RRB-

then

the

pixel

is

drawn

calculate

the

discrete

function

G

of

the

segment

update

the

function

TOP

as

the

maximum

point

per

point

between

the

TOP

itself

and

the

G

functions

determined

by

the

segments

The

exactness

of

this

proposal

is

guaranteed

by

the

fact

that

the

transformation

is

injective

hence

two

pixels

in

screen

coordinates

may

be

differentiated

for

visibility

by

means

of

the

TOP

function

After

all

the

TOP

function

thus

constructed

perfectly

conserves

the

pixel

invisibility

region

Unfortunately

this

method

is

not

efficient

In

fact

for

to

be

injective

the

angular

discretization

must

be

sufficiently

fine

and

consequently

m

large

Every

segment

particularly

those

close

to

the

origin

even

if

made

up

of

few

pixels

produces

a

G

function

of

great

domain

computation

of

this

function

that

is

determination

of

value

aei

for

every

i

is

what

makes

this

method

non-competitive

For

such

a

proposal

to

become

competitive

it

is

necessary

to

simplify

determination

of

the

G

function

into

pseudopolar

coordinates

while

still

exactly

preserving

the

pixel

invisibility

region

Improved

method

It

is

crucial

to

reduce

the

computational

costs

in

determining

function

G

It

will

be

suitable

to

exploit

only

the

pixels

that

represent

the

segment

to

get

a

computationally

less

expensive

G.

Note

that

for

each

pixel

the

pseudopolar

coordinates

are

already

computed

to

test

pixel

visibility

In

this

paragraph

we

will

figure

out

how

this

G

can

be

obtained

with

respect

to

the

pixel

exact

invisibility

region

For

each

facet

of

the

surface

are

generated

and

then

elaborated

all

the

pixels

representing

the

not

already

elaborated

boundary

segments

Hence

each

pixel

is

tested

with

respect

to

the

invisibility

region

boundary

if

the

pixel

is

visible

it

is

drawn

on

the

screen

and

contributes

to

the

boundary

of

the

invisibility

region

Taking

advantage

of

the

previous

computation

it

is

possible

to

generate

a

pixel-exact

function

G

with

little

effort

Given

the

segment

-LRB-

xA

yA

-RRB-

-LRB-

xB

yB

-RRB-

in

screen

coordinates

with

A

B

the

transformed

of

the

ends

according

to

the

new

G

-LSB-

A

B

-RSB-

-LSB-

-LSB-

is

defined

as

follows

Improved

method

qBqA

rArB

qB

qA

B

A

Figure

segment

AB

of

pixels

and

its

discrete

function

G

signed

values

are

obtained

by

transforming

pixels

without

loss

of

generality

it

is

assumed

that

it

is

A

B

and

using

Bresenham

's

algorithm

the

pixels

-LRB-

xj

yj

-RRB-

j

n

of

the

segment

path

are

generated

where

-LRB-

-RRB-

-LRB-

xA

yA

-RRB-

and

-LRB-

xn

yn

-RRB-

-LRB-

xB

yB

-RRB-

The

transforms

of

-LRB-

xj

yj

-RRB-

j

n

are

defined

-LRB-

j

aej

-RRB-

j

n

according

to

so

G

-LRB-

-RRB-

G

-LRB-

n

-RRB-

aen

G

-LRB-

j

-RRB-

aej

if

j

j

max

-LRB-

aej

aej

-RRB-

if

j

j

nothing

if

j

j

for

j

n

and

j

-LSB-

n

-RSB-

integer

interval

Let

l

be

the

number

of

integers

-LSB-

n

-RSB-

to

which

a

value

for

G

has

been

attributed

G

is

defined

in

remaining

-LSB-

n

-RSB-

as

G

-LRB-

-RRB-

min

-LRB-

aeK

aeK

-RRB-

-RSB-

K

K

-LSB-

K

l

The

basic

idea

of

a

less

expensive

G

consists

in

considering

only

the

segment

pixels

that

are

in

angular

sense

not

decreasing

for

each

of

these

a

value

is

assigned

to

G

then

in

a

simple

manner

the

remaining

values

for

G

are

determined

Proof

of

pixel

exact

invisibility

region

applying

the

computationally

less

expensive

function

G

Consider

the

pixel

invisibility

region

let

be

the

polygon

defined

by

the

sides

of

its

boundary

-LRB-

see

Fig.

-RRB-

Let

be

the

polygon

of

vertices

the

centers

of

the

pixels

generated

by

applying

the

Bresenham

algorithm

to

the

sides

of

-LRB-

see

Fig.

-RRB-

Note

that

for

exactness

of

the

algorithm

it

is

necessary

to

preserve

only

the

pixels

inside

the

invisibility

region

Preserving

the

boundary

pixels

too

-LRB-

pixel

processed

and

already

drawn

-RRB-

do

not

affect

the

exactness

and

leads

to

a

reduction

in

complexity

because

there

is

no

need

to

re-draw

already

drawn

pixels

Then

we

consider

as

the

boundary

of

the

pixel

invisibility

region

Improved

method

-LRB-

A

-RRB-

-LRB-

C

-RRB-

-LRB-

B

-RRB-

inside

pixel

boundary

pixel

end-point

pixel

Figure

invisibility

region

with

boundary

-LRB-

A

-RRB-

invisibility

region

with

boundary

-LRB-

B

-RRB-

invisibility

region

with

boundary

-LRB-

C

-RRB-

Since

a

closed

polygon

is

called

star-convex

with

respect

to

one

of

its

internal

point

if

the

vertices

transformed

into

polar

coordinates

with

origin

the

defined

internal

point

have

monotonic

angles

in

strict

order

one

gets

Definition

a

closed

polygon

is

called

non-strictly

star-convex

with

respect

to

one

of

its

internal

points

if

the

vertices

transformed

into

polar

coordinates

have

angles

monotonic

not

in

strict

order

Observation

if

a

polygon

with

floating

point

vertices

is

star-convex

the

polygon

defined

in

screen

coordinates

and

that

is

with

vertices

transformed

in

screen

coordinates

will

at

most

be

non-strictly

star-convex

The

region

enclosed

by

might

not

be

strictly

star-convex

-LRB-

see

Fig.

-RRB-

it

is

always

possible

to

transform

it

into

a

non-strictly

star-convex

region

considering

for

each

side

only

the

pixels

whose

centers

are

in

angular

order

-LRB-

see

Fig.

-RRB-

Let

be

the

polygon

of

vertices

the

centers

of

the

pixels

thus

considered

The

pixels

inside

are

also

inside

the

pixels

inside

but

not

inside

are

boundary

pixels

for

the

region

enclosed

by

-LRB-

compare

Fig.

with

Fig.

-RRB-

In

fact

the

following

considerations

are

valid

Definition

given

a

straight

line

r

in

the

plane

XY

the

area

of

plane

delimited

by

the

two

parallels

to

r

with

distance

of

in

X

between

them

if

the

slope

of

r

is

-LRB-

in

Y

if

the

slope

is

and

equidistant

from

r

is

defined

as

strip

associated

to

straight

line

r

-LRB-

see

Fig.

-RRB-

Improved

method

rr

-LRB-

A

-RRB-

-LRB-

B

-RRB-

Figure

strip

-LRB-

A

-RRB-

and

path

-LRB-

B

-RRB-

defined

by

line

r

through

two

integer

coordinate

points

Definition

given

a

straight

line

r

in

the

plane

XY

passing

through

at

least

two

integer

coordinate

points

the

set

of

pixels

generated

by

the

Bresenham

algorithm

for

r

-LRB-

see

Fig.

-RRB-

is

defined

as

thepath

associated

to

r.

Observation

given

a

straight

line

passing

through

at

least

two

integer

coordinate

points

the

pixels

of

the

path

are

the

only

ones

whose

center

is

inside

the

half-open

strip

of

the

straight

line

itself

Banally

it

turns

out

from

the

observation

that

any

broken

line

of

vertices

the

pixels

of

the

path

will

be

entirely

contained

in

the

half-open

strip

of

the

straight

line

r.

Thus

every

pixel

on

one

side

with

respect

to

the

path

-LRB-

or

the

strip

-RRB-

will

also

be

on

the

same

side

with

respect

to

the

broken

line

Let

be

the

boundary

of

the

invisibility

region

defined

by

the

discrete

function

TOP

obtained

by

starting

from

the

new

G

functions

It

is

necessary

to

prove

that

and

have

the

same

inside

pixels

-LRB-

see

Fig.

and

compare

with

Fig.

-RRB-

Theorem

-LRB-

Main

Result

-RRB-

boundary

regions

and

have

the

same

inside

pixels

where

by

the

term

inside

pixel

we

mean

that

its

center

is

inside

the

region

proof

proceed

by

proving

the

statement

for

every

circular

sector

K

K

min

-LRB-

aeK

aeK

-RRB-

and

triangle

-LRB-

-RRB-

-LRB-

K

aeK

-RRB-

-LRB-

K

aeK

-RRB-

Note

that

by

construction

the

circular

sector

is

always

contained

in

the

triangle

except

where

aeK

aeK

when

the

opposite

occurs

Let

us

proceed

by

distinguishing

the

two

following

cases

points

-LRB-

K

aeK

-RRB-

and

-LRB-

K

aeK

-RRB-

between

which

G

must

be

completed

are

or

are

not

the

transforms

of

adjacent

pixels

of

the

segment

proof

of

the

adjacent

pixels

case

banally

whatever

aeK

and

aeK

are

the

inside

pixels

at

the

circular

sector

K

K

min

-LRB-

aeK

aeK

-RRB-

are

the

same

as

those

of

the

vertices

triangle

-LRB-

-RRB-

-LRB-

K

aeK

-RRB-

-LRB-

K

aeK

-RRB-

-LRB-

see

Fig.

-RRB-

proof

of

the

non-adjacent

pixels

case

this

occurs

for

approximately

radial

pixel

segments

from

which

aeK

aeK

and

the

triangle

-LRB-

-RRB-

-LRB-

K

aeK

-RRB-

-LRB-

K

aeK

-RRB-

will

contain

the

circular

sector

K

K

min

-LRB-

aeK

aeK

-RRB-

-LRB-

see

Fig.

-RRB-

it

will

be

sufficient

to

prove

that

the

difference

region

does

not

contain

pixels

This

is

the

aim

of

the

following

theorem

and

corollary

Theorem

given

a

segment

of

integer

coordinate

end-points

-LRB-

-RRB-

-LRB-

xn

yn

-RRB-

and

n

corre

Improved

method

Figure

invisibility

region

with

boundary

rK

qK

qK

xs

ys

rK

-LRB-

B

-RRB-

rK

qK

qK

xs

ys

rK

-LRB-

A

-RRB-

Figure

case

of

adjacent

pixels

-LRB-

A

-RRB-

and

non-adjacent

-LRB-

B

-RRB-

Improved

method

-LRB-

B

-RRB-

S

A

M

A

-LRB-

A

-RRB-

-LRB-

xk

yk

-RRB-

-LRB-

xl

yl

-RRB-

-LRB-

xl

yl

-RRB-

-LRB-

xk

yk

-RRB-

Figure

segment

with

endpoints

-LRB-

-RRB-

-LRB-

-RRB-

-LRB-

B

-RRB-

is

a

magnification

of

-LRB-

A

-RRB-

sponding

angles

without

loss

of

generality

let

-LRB-

-LRB-

yn

-RRB-

-LRB-

-RRB-

-RRB-

and

-LRB-

-LRB-

-RRB-

=-LRB-

-LRB-

xn

-RRB-

-RRB-

-LRB-

that

is

the

origin

is

on

the

left

of

the

segment

-RRB-

Let

-LRB-

xi

yi

-RRB-

i

n

be

the

integer

coordinates

generated

by

the

Bresenham

algorithm

for

the

pixels

of

the

segment

Let

-LRB-

xj

yj

-RRB-

j

l

k

be

such

that

j

l

and

k

l

Then

pixels

-LRB-

x

yj

-RRB-

with

x

xj

for

j

l

k

have

the

angle

k.

proof

consider

the

polygon

of

vertices

-LRB-

xj

yj

-RRB-

j

l

k

since

these

vertices

belong

to

the

path

of

segment

-LRB-

-RRB-

-LRB-

xn

yn

-RRB-

they

are

due

to

observation

inside

the

segment

strip

therefore

polygon

has

no

inside

pixels

From

the

hypothesis

the

half-line

-LRB-

-RRB-

-LRB-

xl

yl

-RRB-

will

intersect

polygon

only

at

one

other

point

A

beyond

-LRB-

xl

yl

-RRB-

It

follows

that

triangle

-LRB-

xl

yl

-RRB-

A

-LRB-

xk

yk

-RRB-

being

in

has

no

inside

pixels

Now

let

M

be

the

mid-point

of

segment

-LRB-

xl

yl

-RRB-

-LRB-

xk

yk

-RRB-

then

triangle

-LRB-

xl

yl

-RRB-

-LRB-

xk

yk

-RRB-

symmetrical

with

respect

to

M

of

-LRB-

xk

yk

-RRB-

A

-LRB-

xl

yl

-RRB-

has

no

inside

pixels

either

This

prove

the

theorem

corollary

On

the

hypothesis

of

the

preceding

theorem

let

-LRB-

xj

yj

-RRB-

j

l

k

so

that

Algorithm

analysis

and

comparison

j

l

or

j

n

and

k

l.

Pixels

-LRB-

x

yj

-RRB-

with

x

xj

for

j

l

k

then

have

angle

k

proof

the

proof

proceed

perfectly

analogous

to

that

of

the

previous

theorem

where

polygon

has

as

vertices

-LRB-

xl

yl

-RRB-

-LRB-

xk

yk

-RRB-

and

only

-LRB-

xj

yj

-RRB-

j

l

k

so

that

j

l.

Algorithm

analysis

and

comparison

Space

complexity

The

memory

allocation

consists

of

two

arrays

of

bit

unsigned

integers

for

the

function

TOP

in

pseudopolar

coordinates

and

a

copy

of

it

respectively

Dimension

m

of

this

array

is

given

by

m

circle

where

and

circle

depend

on

chosen

pseudoangle

function

Quantity

is

such

that

in

the

transformation

into

pseudopolar

coordinates

there

are

distinct

integers

i

at

every

pixel

on

the

maximum

circumference

This

allocation

is

static

and

depends

only

on

the

image-size

unlike

the

one

proposed

by

Suffern

-LSB-

-RSB-

in

which

the

boundary

of

the

invisibility

region

is

stored

on

a

list

of

coordinate

floating

point

items

dynamically

allocated

so

dependent

on

the

surface

on

question

from

the

grid

and

the

viewpoint

Time

complexity

The

complexity

of

the

proposed

algorithm

may

be

schematized

in

CTOT

-LRB-

facets

-RRB-

-LRB-

facets

imagesize

-RRB-

-LRB-

facets

imagesize

-RRB-

where

-LRB-

facets

-RRB-

summarizes

the

relative

complexity

in

calculating

the

function

P

F

-LRB-

-RRB-

the

perspective

projection

and

the

transformation

into

screen

coordinates

of

the

grid

points

determination

of

a

grid

path

and

a

simple

visibility

test

of

the

facets

all

these

steps

lead

to

a

complexity

that

is

a

linear

function

of

the

single

facets

-LRB-

facets

imagesize

-RRB-

considers

the

complexity

of

the

transformation

into

pseudopolar

coordinates

of

the

invisibility

test

the

possible

drawing

and

determination

of

belonging

to

the

non-strictly

star-convex

boundary

of

every

pixel

of

the

sides

of

the

facets

It

is

a

question

of

a

linear

function

in

the

number

of

processed

pixels

so

that

-LRB-

facets

imagesize

-RRB-

const

Nprocessedpixels

-LRB-

facets

imagesize

-RRB-

where

Nprocessedpixels

is

a

function

at

most

linear

in

the

facets

and

less

than

linear

in

the

image-size

in

fact

for

a

smooth

function

on

quadruplicating

the

facets

or

of

the

image-size

the

pixels

double

while

for

an

irregular

function

on

quadruplicating

the

facets

the

pixels

quadruplicate

but

on

quadruplicating

the

image-size

they

double

-LRB-

facets

imagesize

-RRB-

considers

the

completion

phase

of

the

G

function

and

updating

of

the

TOP

function

this

turns

out

linear

in

the

worst

case

both

in

the

facets

and

in

the

image-size

As

comes

out

in

the

next

paragraph

from

the

experimental

results

it

is

seen

that

-LRB-

only

tests

and

assignments

-RRB-

is

very

small

compared

to

and

and

that

so

CTOT

will

have

the

form

of

that

is

linear

in

the

worst

cases

with

respect

to

the

facets

and

less

than

linear

with

respect

to

the

image-size

Algorithm

analysis

and

comparison

q

a

-LRB-

cos

-LRB-

q

-RRB-

sin

-LRB-

q

-RRB-

-RRB-

Figure

graph

of

function

Code

optimization

and

details

Pseudoangle

and

pseudoradius

function

The

algorithm

does

not

need

to

know

the

exact

value

of

the

angle

or

radius

in

polar

coordinates

corresponding

to

a

pixel

but

only

the

angular

and

radial

order

of

the

pixels

Thus

a

transformation

in

which

the

pseudoangular

and

pseudoradial

functions

are

strictly

increasing

both

in

angle

and

radius

respectively

is

sufficient

The

simplest

pseudoradius

ae

for

a

pixel

with

screen

coordinates

-LRB-

x

y

-RRB-

is

given

by

ae

A

continuous

pseudoangle

function

less

computationally

expensive

compared

to

arctg

-LRB-

y

x

-RRB-

may

be

the

following

-LRB-

x

y

-RRB-

x

x

y

if

x

y

x

x?y

if

x

y

x

x

y

if

x

y

x

x?y

if

x

y

For

our

purposes

a

discrete

pseudoangle

function

is

however

necessary

so

that

pixels

with

the

same

ae

must

have

different

pseudoangles

In

the

definition

of

the

function

arctg

-LRB-

y

x

-RRB-

restricted

to

a

circumference

or

thought

of

as

a

function

of

the

angle

is

the

line

of

slope

The

function

-LRB-

x

y

-RRB-

given

above

has

the

graph

shown

in

Fig.

for

In

the

definition

given

of

it

is

possible

to

define

m

simply

as

the

number

of

pixels

on

boundary

C

in

order

to

satisfy

the

injectivity

while

for

the

function

a

just

given

the

definition

of

m

is

less

simple

Note

that

the

function

-LRB-

cos

sen

-RRB-

for

-LSB-

ss

-LSB-

has

its

maximum

slope

in

ss

where

it

has

flexed

with

tangent

line

of

equation

-LRB-

-LRB-

ss

-RRB-

-RRB-

which

has

values

in

the

interval

-LSB-

-LRB-

ss

-RRB-

-LRB-

ss

-RRB-

-RSB-

or

range

ss

The

m

sought

will

then

be

given

by

Algorithm

analysis

and

comparison

ys

xs

Figure

example

of

segment

that

it

is

no

through

the

origin

but

its

pixel

representation

include

the

pixel

-LRB-

-RRB-

m

round

round

rs

ss

A

Screen

segment

through

center

of

pseudopolar

coordinates

system

The

case

in

question

is

frequently

met

with

due

to

working

in

screen

coordinates

in

fact

segments

which

in

the

projection

plane

are

only

close

to

the

origin

once

transformed

into

screen

coordinates

will

really

pass

through

the

origin

-LRB-

see

Fig.

-RRB-

In

particular

this

case

is

also

found

in

the

conditions

of

P

or

Vp

aligned

with

latitude

and/or

longitude

edges

The

proposed

method

running

a

pixel

invisibility

non-strictly

star-convex

region

manages

to

control

this

case

in

a

simple

manner

If

a

segment

has

an

end-point

in

the

origin

it

will

be

radial

of

the

pseudoangle

determined

by

the

other

end-point

in

the

updating

phase

it

will

at

most

modify

a

single

value

of

the

TOP

function

The

case

of

a

segment

aligned

with

the

origin

is

managed

in

the

same

way

that

is

the

two

end-points

have

the

same

pseudoangle

Where

the

segment

passes

through

the

origin

it

is

broken

into

two

with

an

end-point

in

the

origin

and

managed

as

in

the

above-mentioned

case

Simple

visibility

test

The

proposed

methodmakes

use

of

a

preliminary

simple

visibility

test

for

all

the

facets

with

a

view

to

improving

performance

Consequently

the

facets

that

are

negative

on

testing

do

not

require

further

elaboration

The

test

adopted

is

quite

similar

to

that

proposed

by

Anderson

for

Cartesian

coordinates

and

taken

up

by

Suffern

for

spherical

coordinates

our

version

differs

from

the

latter

by

working

in

screen

coordinates

-LRB-

integer

-RRB-

and

also

in

managing

the

cases

of

projected

facets

with

vertices

in

origin

or

sides

passing

through

the

origin

Elaborating

each

facet

the

boundary

of

the

invisibility

region

is

updated

with

the

edges

not

previously

elaborated

in

fact

only

they

can

lie

outside

the

region

Each

facet

excluding

the

initial

one

has

at

least

one

of

its

edges

previously

elaborated

since

the

edge

is

shared

with

a

facet

earlier

processed

-LSB-

-RSB-

Then

the

pre-processed

edges

are

already

checked

for

visibility

with

respect

to

the

boundary

of

the

invisibility

region

Algorithm

analysis

and

comparison

xs

ys

elaboratededges

elaborating

edges

Figure

example

of

quadrilateral

facet

with

two

pre-elaborated

edges

The

grid

path

determines

which

edge

or

edges

of

a

facet

are

already

processed

Each

of

the

edges

not

processed

is

checked

for

visibility

with

respect

to

the

already

elaborated

ones

If

an

edge

is

hidden

by

the

facet

itself

then

it

is

undoubtedly

hidden

by

the

invisibility

region

To

check

the

visibility

of

an

edge

with

respect

to

another

a

simple

visibility

test

can

be

performed

-LSB-

-RSB-

Only

the

edges

that

pass

the

simple

visibility

test

are

processed

with

respect

to

the

invisibility

region

Suffern

-LSB-

-RSB-

following

Anderson

-LSB-

-RSB-

use

a

simple

test

based

on

this

Observation

according

to

a

correct

grid

path

every

hp

that

intersects

a

facet

crosses

a

preelaborated

edge

before

a

non

elaborated

one

it

results

that

each

non

elaborated

edge

is

internal

to

the

circular

sector

defined

by

the

pre-elaborate

ones

-LRB-

see

Fig

-RRB-

To

perform

the

simple

test

it

is

enough

to

verify

whether

or

not

each

non

elaborated

edge

lies

on

the

same

side

of

the

origin

with

respect

to

each

pre-elaborated

edge

The

proposed

extension

of

the

algorithm

for

the

simple

visibility

test

is

necessary

in

order

to

manage

the

case

of

the

segment

through

the

origin

of

screen

coordinates

due

to

segments

in

integer

coordinates

or

facet

with

zero

radius

According

to

the

Suffern

simple

test

cases

for

each

edge

the

following

condition

on

the

vertices

are

tested

ffl

one

or

more

vertices

are

in

the

origin

of

screen

coordinates

ffl

the

vertices

are

aligned

with

the

origin

If

the

conditions

are

true

then

the

test

fails

and

the

facet

is

processed

with

respect

to

the

invisibility

region

Performances

The

proposed

method

was

implemented

in

a

TurboPascal

program

on

a

Personal

Computer

running

at

The

program

has

been

tested

on

many

surfaces

Performance

results

of

our

method

and

of

Suffern

's

algorithm

are

shown

in

table

and

for

the

sphere

and

random

functions

respectively

These

were

generated

on

uniform

grids

varying

fineness

on

the

interval

-LSB-

ss

-RSB-

x

-LSB-

-LSB-

and

varying

image-sizes

-LRB-

applied

only

to

our

method

-RRB-

TTOT

and

are

the

execution

times

respectively

for

CTOT

and

Algorithm

analysis

and

comparison

ImageSize

Suffern

No

of

2002 3002 4002 5002

TTOT

facets

TTOT

TTOT

TTOT

TTOT

TTOT

Table

Execution

times

-LSB-

sec

-RSB-

of

Suffern

and

our

algorithms

for

the

sphere

surface

The

execution

times

TTOT

graphically

represented

as

functions

of

the

facets

are

shown

in

Fig.

and

Fig.

The

grid

surfaces

with

values

on

grid

points

-LRB-

number

of

facets

-RRB-

from

the

spherical

view-point

-LRB-

-RRB-

are

shown

in

Fig.

Fig.

and

Fig.

show

the

graph

of

function

Nprocessedpixels

-LRB-

facets

imagesize

-RRB-

for

the

sphere

and

random

surfaces

which

respectively

represent

both

the

most

and

the

least

regular

function

These

results

confirm

that

the

algorithms

as

implemented

are

approximately

linear

time

-LRB-

Suffern

-RRB-

and

linear

time

in

the

worst

case

-LRB-

ours

-RRB-

as

functions

of

a

number

of

facets

ImageSize

Suffern

No

of

2002 3002 4002 5002

TTOT

facets

TTOT

TTOT

TTOT

TTOT

TTOT

Table

Execution

times

-LSB-

sec

-RSB-

of

Suffern

and

our

algorithms

for

the

random

surface

Algorithm

analysis

and

comparison

Number

of

facets

T

tot

-LSB-

sec

-RSB-

Figure

total

execution

times

of

Suffern

and

our

algorithms

as

functions

of

the

number

of

facets

for

the

sphere

surface

Number

of

facets

T

tot

-LSB-

sec

-RSB-

Figure

total

execution

times

of

Suffern

and

our

algorithms

as

functions

of

the

number

of

facets

for

the

random

surface

Algorithm

analysis

and

comparison

Figure

Plot

of

the

functions

F

-LRB-

-RRB-

and

F

-LRB-

-RRB-

trunc

-LRB-

random

-RRB-

where

random

is

a

random

variable

uniformly

distributed

in

-LSB-

-RSB-

Number

of

facets

Nprocessedpixels

Figure

Nprocessedpixels

as

functions

of

the

number

of

facets

for

the

sphere

surface

Algorithm

analysis

and

comparison

Number

of

facets

Nprocessedpixels

Figure

Nprocessedpixels

as

functions

of

the

number

of

facets

for

the

random

surface

Test

surfaces

For

most

of

the

functions

as

shown

in

the

following

examples

the

graph

of

the

execution

time

is

more

like

that

of

the

sphere

than

the

random

surface

All

the

tests

carried

out

show

that

our

proposal

is

highly

competitive

for

high

grids

proposing

itself

as

a

valid

tool

for

high

definition

rendering

at

low

cost

by

way

of

example

see

Fig.

where

in

order

to

begin

to

recognize

the

shape

of

the

lands

above

sea-level

it

is

necessary

to

utilize

a

grid

The

execution

time

for

this

example

is

sec

for

our

algorithm

and

sec

for

the

Suffern

algorithm

Some

test

surfaces

follow

Test

surface

the

equation

is

the

following

F

-LRB-

-RRB-

sin

-LRB-

ss

-LRB-

cos

-LRB-

g

-LRB-

-RRB-

-RRB-

-RRB-

-RRB-

sin

-LRB-

-LRB-

cos

-LRB-

g

-LRB-

-RRB-

-RRB-

-RRB-

-RRB-

with

g

-LRB-

-RRB-

-LRB-

if

-LRB-

ss

-RRB-

otherwise

The

representation

of

the

surface

and

its

time

of

execution

are

shown

in

Fig

Test

surface

the

equation

is

the

following

F

-LRB-

-RRB-

-LRB-

if

round

and

round

are

odd

otherwise

with

south

pole

north

pole

Conclusions

Number

of

facets

T

tot

-LSB-

sec

-RSB-

Figure

Total

execution

times

for

surface

shown

on

right

from

Vp

-LRB-

-RRB-

in

polar

coordinates

Representation

of

the

surface

and

its

time

of

execution

are

shown

in

Fig

Test

surface

the

equation

is

the

following

F

-LRB-

-RRB-

sin

-LRB-

-RRB-

cos

-LRB-

-RRB-

Representation

of

the

surface

and

its

time

of

execution

are

shown

in

Fig

Test

surface

the

equation

is

the

following

F

-LRB-

-RRB-

if

-LRB-

-RRB-

if

-RSB-

ss

-LSB-

ess

otherwise

Representation

of

the

surface

and

its

time

of

execution

are

shown

in

Fig

Test

surface

the

equation

is

the

following

F

-LRB-

-RRB-

q

-LRB-

-RRB-

-LRB-

-RRB-

cos

ss

cos

-LRB-

-RRB-

Representation

of

the

surface

and

its

time

of

execution

are

shown

in

Fig

Conclusions

The

proposed

method

is

general

pixel-exact

and

faster

than

the

algorithm

known

on

high

grids

for

most

of

the

functions

the

complexity

is

less

than

linear

both

in

the

facets

and

in

the

image-size

The

idea

is

also

applicable

with

success

for

functions

in

Cartesian

coordinates

as

also

for

contour

lines

surface

shading

and

other

types

of

representation

Conclusions

Number

of

facets

T

tot

-LSB-

sec

-RSB-

Figure

Total

execution

times

for

surface

shown

on

right

from

Vp

-LRB-

-RRB-

in

polar

coordinates

Number

of

facets

T

tot

-LSB-

sec

-RSB-

Figure

Total

execution

times

for

surface

shown

on

right

from

Vp

-LRB-

-RRB-

in

polar

coordinates

Conclusions

Number

of

facets

T

tot

-LSB-

sec

-RSB-

Figure

Total

execution

times

for

surface

shown

on

right

from

Vp

-LRB-

-RRB-

in

polar

coordinates

Number

of

facets

T

tot

-LSB-

sec

-RSB-

Figure

Total

execution

times

for

surface

shown

on

right

from

Vp

-LRB-

-RRB-

in

polar

coordinates

Conclusions

Figure

plot

of

the

earth

with

grid

REFERENCES

References

-LSB-

-RSB-

Alvisi

L.

Casciola

G.

On

the

two

array

mask

hidden-line

algorithm

Computer

Graphics

-LRB-

-RRB-

-LSB-

-RSB-

Alvisi

L.

Casciola

G.

TAM

rivisitato

un

metodo

rapido

ed

esatto

per

la

rappresentazione

prospettica

di

superfici

Pixel

-LRB-

-RRB-

-LSB-

-RSB-

Alvisi

L.

Casciola

G.

Two

and

four

array

mask

algorithms

in

practice

Technical

report

Department

of

Mathematics

University

of

Bologna

-LRB-

February

-RRB-

-LSB-

-RSB-

Amoroso

A.

Casciola

G.

AHidden

Line

Algorithm

for

Spherical

Coordinate

Functions

submitted

to

ACM

Transaction

on

Graphics

-LRB-

march

-RRB-

-LSB-

-RSB-

Anderson

D.

P.

Hidden

line

elimination

in

projected

grid

surfaces

ACM

Transaction

on

Graphics

-LRB-

Oct.

-RRB-

-LSB-

-RSB-

Butland

J.

Surface

drawing

made

simple

Computer

Aided

Design

-LRB-

-RRB-

-LSB-

-RSB-

Chen

Wang

S.

Staudhammer

J.

Visibility

determination

on

projected

grid

surfaces

IEEE

Computer

Graphics

Applications

-LRB-

July

-RRB-

-LSB-

-RSB-

Foley

J.

van

Dam

A.

Feiner

S.

Huges

J.

Computer

Graphics

Principles

and

Practice

-LRB-

ed

-RRB-

Addison

Wesley

-LRB-

-RRB-

-LSB-

-RSB-

Skala

V

An

Interesting

Modification

to

the

Bresenham

Algorithm

for

Hidden-Line

Solution

NATO

ASI

Series

in

Earnshaw

R.E.

-LRB-

Ed

-RRB-

Fundamental

Algorithm

For

Computer

Graphics

Springer-Verlag

New

York

-LRB-

-RRB-

-LSB-

-RSB-

Suffern

K.

Perspective

views

of

polar

coordinate

functions

Computer

Graphics

-LRB-

-RRB-

-LSB-

-RSB-

Watkins

S.L.

Masked

three-dimensional

plot

program

with

rotations

Communication

of

ACM

-LRB-

-RRB-

-LSB-

-RSB-

Williamson

H.

Algorithm

Hidden-line

plotting

program

-LSB-

-RSB-

Communication

of

ACM

-LRB-

Feb.

-RRB-

-LSB-

-RSB-

Wright

T.J.

A

two

space

solution

to

the

hidden

line

problem

for

plotting

function

of

two

variables

IEEE

Transaction

on

Computer

-LRB-

Jan.

-RRB-

hidden line elimination
pseudopolar coordinates
screen coordinates
spherical coordinate functions