59,671 research outputs found
Binary space partitioning trees and their uses
Binary Space Partitioning (BSP) trees have some qualities that make them useful in solving many graphics related problems. The purpose is to describe what a BSP tree is, and how it can be used to solve the problem of hidden surface removal, and constructive solid geometry. The BSP tree is based on the idea that a plane acting as a divider subdivides space into two parts with one being on the positive side and the other on the negative. A polygonal solid is then represented as the volume defined by the collective interior half spaces of the solid's bounding surfaces. The nature of how the tree is organized lends itself well for sorting polygons relative to an arbitrary point in 3 space. The speed at which the tree can be traversed for depth sorting is fast enough to provide hidden surface removal at interactive speeds. The fact that a BSP tree actually represents a polygonal solid as a bounded volume also makes it quite useful in performing the boolean operations used in constructive solid geometry. Due to the nature of the BSP tree, polygons can be classified as they are subdivided. The ability to classify polygons as they are subdivided can enhance the simplicity of implementing constructive solid geometry
NPLOT: an Interactive Plotting Program for NASTRAN Finite Element Models
The NPLOT (NASTRAN Plot) is an interactive computer graphics program for plotting undeformed and deformed NASTRAN finite element models. Developed at NASA's Goddard Space Flight Center, the program provides flexible element selection and grid point, ASET and SPC degree of freedom labelling. It is easy to use and provides a combination menu and command driven user interface. NPLOT also provides very fast hidden line and haloed line algorithms. The hidden line algorithm in NPLOT proved to be both very accurate and several times faster than other existing hidden line algorithms. A fast spatial bucket sort and horizon edge computation are used to achieve this high level of performance. The hidden line and the haloed line algorithms are the primary features that make NPLOT different from other plotting programs
JPEG steganography with particle swarm optimization accelerated by AVX
Digital steganography aims at hiding secret messages in digital data transmitted over insecure channels. The JPEG format is prevalent in digital communication, and images are often used as cover objects in digital steganography. Optimization methods can improve the properties of images with embedded secret but introduce additional computational complexity to their processing. AVX instructions available in modern CPUs are, in this work, used to accelerate data parallel operations that are part of image steganography with advanced optimizations.Web of Science328art. no. e544
Parallel Machines for Computer Graphics
Computer graphics provides some ideal applications for the kind of highly parallel implementations made possible by advances in integrated circuit technology. Specifically, hidden line and hidden surface algorithms, while easily defined and
simple in concept, entail a substantial amount of computation. This requirement fits
the characteristics of integrated circuit technology, where modular designs involving
regular communication between many concurrent operations are rewarded with high
performance at an acceptable cost.
Ray tracing is a very flexible technique that can be used to produce some of
the most realistic of all computer generated images by simulating the interactions
of light rays with surfaces in a modeled scene. Because light rays are mutually independent, many may be processed simultaneously, and the potential for concurrency
is great. One architecture for expediting a ray tracing algorithm consists of a conventional computer equipped with a special purpose peripheral device for locating
the intersections of ray8 and surfaces. This intersection computation is the most
time consuming aspect of a ray tracing algorithm. Although the attached processor
configuration can produce images more quickly than an unaided computer, its per-
formance is limited. Alternatively, a pipeline of surface processors can replace the
peripheral device. Each processor computes the intersections of its stored surface
with rays that flow through the pipe. Such a machine machine can be quite fast,
and its performance can be increased by lengthening the pipeline, but the component
processors are not very effectively utilized. A third approach combines the advantages
of the prior two machines by using an array of processors, each simulating a distinct
subvolume of the modeled world by treating light rays traveling through space as
messages flowing between processors. Local communication is sufficient because light
rays travel continuously through space.
In real time computer graphics, successive images must be produced in times that
are imperceptible to a viewer. Although the ray tracing machines fall short of this
performance, it is possible to compromise image quality in order to produce a highly
parallel machine capable of real time operation. The processors in such a machine
are organized to form a binary tree. Leaf processors scan-convert surfaces, producing
a sequence of segments, where a segment is the portion of a surface that appears on
a single scan line of the display. Processors towards the root of the tree accept two
such segment sequences and produce a third in which all segment overlap has been
resolved. The final image is available at the root of the tree. The communication
bottleneck that would otherwise occur at the root can be eliminated by breaking out parallel roots, and the resulting tree may be extended to scenes of almost arbitrary
complexity merely by increasing the supply of available processors.
Massive parallelism can also be applied to the problem of removing hidden edges
from line drawings. A suitable architecture takes the form of a pipeline in which each
processor is dedicated to the handling of a single polygon edge. These processors
successively clip line segments passing through the pipeline to eliminate portions
hidden behind surfaces. Each edge processor can be constructed out of little more
than three serial multipliers.
The machines described here are varied in organization, and each functions differently, but their treatment of sorting is one ingredient common to all. Sorting is a key
component of hidden surface algorithms running on conventional computers, but its
extensive communication requirements make it costly for use in a highly integrated
design. Consequently, the highly parallel machines described here operate largely
without sorting. Instead, they maintain information in sorted order or make use of
already sorted information to limit communication requirements
Convolutional Neural Networks over Tree Structures for Programming Language Processing
Programming language processing (similar to natural language processing) is a
hot research topic in the field of software engineering; it has also aroused
growing interest in the artificial intelligence community. However, different
from a natural language sentence, a program contains rich, explicit, and
complicated structural information. Hence, traditional NLP models may be
inappropriate for programs. In this paper, we propose a novel tree-based
convolutional neural network (TBCNN) for programming language processing, in
which a convolution kernel is designed over programs' abstract syntax trees to
capture structural information. TBCNN is a generic architecture for programming
language processing; our experiments show its effectiveness in two different
program analysis tasks: classifying programs according to functionality, and
detecting code snippets of certain patterns. TBCNN outperforms baseline
methods, including several neural models for NLP.Comment: Accepted at AAAI-1
3D freeform surfaces from planar sketches using neural networks
A novel intelligent approach into 3D freeform surface reconstruction from planar sketches is proposed. A multilayer perceptron (MLP) neural network is employed to induce 3D freeform surfaces from planar freehand curves. Planar curves were used to represent the boundaries of a freeform surface patch. The curves were varied iteratively and sampled to produce training data to train and test the neural network. The obtained results demonstrate that the network successfully learned the inverse-projection map and correctly inferred the respective surfaces from fresh curves
Bigraphical models for protein and membrane interactions
We present a bigraphical framework suited for modeling biological systems
both at protein level and at membrane level. We characterize formally bigraphs
corresponding to biologically meaningful systems, and bigraphic rewriting rules
representing biologically admissible interactions. At the protein level, these
bigraphic reactive systems correspond exactly to systems of kappa-calculus.
Membrane-level interactions are represented by just two general rules, whose
application can be triggered by protein-level interactions in a well-de\"ined
and precise way. This framework can be used to compare and merge models at
different abstraction levels; in particular, higher-level (e.g. mobility)
activities can be given a formal biological justification in terms of low-level
(i.e., protein) interactions. As examples, we formalize in our framework the
vesiculation and the phagocytosis processes
- …