Ashcraft, M. H. (ed.). 2001.
Cognition, Third Edition
, Prentice-Hall, Englewood Cliffs, NJ.Burdea, G. and Coiffet, P. (ed.): 1993,
Virtual Reality Technology
, John Wiley & Sons,Inc.Chen, Y. T. (ed.). 2004.
Real-time 3D Gesture Interface for Virtual Environments
, Master's Thesis, Department of Computer Science, National Tsing Hua University.Chou, W., Wang, T. and Hu, Lei. 2003. Design of data glove and arm type haptic interface ,
Haptic Interfaces for Virtual Environment and Teleoperator Systems, 2003
. HAPTICS 2003.Proceedings.
Chung, G. S. (ed.). 2003.
Keyboard Input Device Using Data Glove with Tilt Sensors
, Master's Thesis, Department of mechanical engineering, National Chung Hsing University.Dreyfus, W. (ed.). 1967.
The Measure of Man: Human Factors in Design, Second Edition
, Whitney Library of Design, New York.Elsadek, H., Eldeeb, H., Franco De-Flaviis, Jofre, L., Abdallah, E. and Hashish, E. 2001. Size Reduced Microstrip Planar Antenna Array for a Compact 3D-Mouse Microwave Holographic System,
Antennas and Propagation Society International Symposium, 2001, IEEE
.Elsadek, H., Eldeeb, H., Horikoshi, J. and Yabe, T. 1998. New technique for investigating three dimensional (3D) mouse, Systems, Man, and Cybernetics,
1998 IEEE International Conference
.Engelbart, D. 1968. http: //sloan.stanford.edu/MouseSite
Foley, J. D. 1987. Interfaces for Advanced Computing,
Scientific American
, pp.126-135.Goldstein, E. B. (ed.). 2002.
Sensation and Perception: 6th Edition
, Wadsworth Publishing, Pacific Grove, CA.Gross, M. D. and Kemp, A. 2001. Gesture Modeling-Using Video to Capture Freehand Modeling Commands,
CAAD Futures
, Eindhoven, Netherlands, pp.271-284.Hachet, M., Guitton, P. and Reuter, P. 2003. The CAT for efficient 2D and 3D interaction as an alternative to mouse adaptations,
Virtual Reality Software and Technology, Proceedings of the ACM symposium on Virtual reality software and technology
, Osaka, Japan.Hsu, J. 1993. The Encyclopedia of Virtual Environments, Produced by
the students of Dr. Ben Shneiderman's CMSC 828S Virtual Reality and Telepresence Course
, Fall 1993.Using hand movement system to operate 3D design objects in virtual environment
48
Joseph, G. and Stuart, K. 1998. Three dimensional software modeling, Proceedings of
the 20th international conference on Software engineering, IEEE Computer Society
, Kyoto, Japan, pp.105-114.Kroemer, G. 1997. The proto-oncogene Bcl-2 and its role in regulating apoptosis.
Nature Medicine
3: 614–620.Kroemer, G. 1999. Mitochondrial control of apoptosis: an overview. In: Brown GC, et al (eds)
Mitochondria and cell death
. Cambridge University Press, Cambridge, pp 1–16Krueger, M. W. (ed.). 1991.
Artificial Reality II
, 2nd ed, Addison-Wesley Publishing Company, Reading, Massachusetts.Lam, W. C., Zou, F. and Komura, T. 2004. Motion Editing with Data Glove,
ACM SIGCHI ACE2004 conference
, Singapore, June, 2004.Li, S., Hsu, W. and Pung, H. K. 1997. Twins: A Practical Vision-based 3D Mouse,
Real-Time Imaging Vol: 4, Issue: 6,
December, 1998 pp. 389-401.Liang, J. H. (ed.). 1997.
A Real-time Continuous Gesture Recognition System for Taiwanese Sign Language
, Institute of Information & Computing Machinery, Taipei, ROC.Liu, Y. T. (ed.). 2003.
Developing Digital Architecture 2002 FEIDAD Award
, The Birkhauser Press.MacKenzie, I. S. 1995. Input devices and interaction techniques for advanced computing, In W.
Barfield, & T. A. Furness III (eds.),
Virtual environments and advanced interface design
, pp.437-470. Oxford, UK: Oxford University Press.
Morozumi, M., Shimokawa, Y. and Homma, R. 2002. Schematic design system for flexible and multi-aspect design thinking,
Automation in Construction 11 2002
, pp.147–159.Nemeth, C. 1984. Maestro: A Gesture Recognition System,
Institute of design
, Chicago, Illinois, United States.Nordin, A. (ed.). 2000.
Taxonomy and phylogeny of Buellia species with pluriseptate spores (Lecanorales, Ascomycotina)
,– Symb. Bot. Ups. 33(1): 1–117.Ouyang, M. (ed.). 1996.
The Technical Nucleus and Future Develop of Virtual reality
, Institute of Information & Computing Machinery, Taipei, ROC.Pheasant, S. (ed.). 1996.
Bodyspace: Anthropometry, Ergonomics and the Design of the Work
,Second Edition
, Taylor & Francis, London, U.K.Using hand movement system to operate 3D design objects in virtual environment
49
Rosenberg, R and Slate, M. 1999. The Chording Glove: A Glove-Based Text Input Device,
IEEE Trans actions On Systems
, Vol. 29, No.2, pp.186-191.Rowe, P. G. (ed.). 1987.
Design Thanking
, The MIT Press.Senagala, M. 2003. Postspatial Architectures: The Emergence of Time-like Parametric Worlds, paper published in Cultura Digital y Diferenciacion, Proceedings of the
SIGRADI International Conferenc
e, Rosario, Argentina, pp. 375-382. ISBN: 987-9459-51-2.Serriano, P.. 2003. Form Follows Software,
ACADIA 2003
, pp.185-205.Sharp Ltd. http://www. Sharp.com
Sherman, W. R and Craig, A. B. (eds.). 2002.
Understanding Virtual Reality: Interface, Application, and Design
, Morgan Kaufmann Publishers.Shneiderman, B. 1983. Direct manipulation: Astep beyond programming languages,
IEEE Computer
, 16, 8(August 1983), 57-69.Shneiderman, B. and Plaisant, C. (ed.). 2004.
Designer the User Interface strategies for Effective Human-Computer Interaction
, Addison Wesley Press.Smith, J. R., White, T., Dodge, C., Allport, D., Paradiso, D. and Gershenfeld, N. (eds.). 1998.
Electric Field Sensing for Graphical Interfaces,
Computer Graphics and Applications,
Vol. 18, No. 3, 1998, pp 54-61.Strickon, J. and Paradiso, J. 1998. Tracking Hands Above Large Interactive Surfaces with a Low-Cost Scanning Laser Rangefinder, In
CHI98
; Extended Abstracts, ACM Press, NY, April 1998, pp. 231-232.Sturman, D. J. and Zeltzer, D. 1994. A Survey of Glove-based Input,
IEEE Computer Graphics &
Applications
, Jan. 1994, pp.17-22.Tamotsu, M. and Naomasa, N. 1994. Direct and intuitive input device for 3-D shape deformation, Proceedings of the
SIGCHI conference on Human factors in computing system: celebrating interdependence
, ACM press, Boston, Massachusetts, United States, pp.465-470.Trewin, Shari, Pain and Helen. 1999. Keyboard and mouse errors due to motor disabilities,
International Journal of Human-Computer Studies Vol: 50, Issue: 2
, February, 1999, pp.109-144.
Vance, S., Migachyov, L., Fu, W. and Hajjar, I. (eds.). 2001.
Fingerless glove for Interacting with data processing system
, United States Patent, Patten No: 6,304,840, Oct. 16.Using hand movement system to operate 3D design objects in virtual environment
50
VKB Ltd. 2002. http://www.vkb-tech.com/
Walter, J. G. 1996. Developing the Tools for Practical VR Applications,
IEEE Engineering In Medicine and Biology
, March/April, pp.23-30.Ware, C. (ed.). 2004,
Information Visualization: Perception for Design
, Second Edition, Morgan Kaufmann Publishers, San Francisco.Wickens, C. D. and Hollands, J. G. (eds.). 2000.
Engineering Psychology and Human Performance
, Prentice-Hall, Englewood Cliffs, NJZimmerman, T. G., Lanier, J., Blanchard, C., Bryson, S., & Harvill, Y. 1987. A hand gesture interface device, Proceedings of
the CHI+GI '87 Conference on Human Factors in Computing Systems
, 189-192. New York: ACM.Using hand movement system to operate 3D design objects in virtual environment
51
附錄
#include <16f88.h>
// Configure PIC to use: HS clock, no Watchdog Timer, // no code protection, enable Power Up Timer
#fuses HS,NOWDT,NOPROTECT,PUT
#fuses INTRC_IO,NOWDT,NOPROTECT,PUT, NOLVP, MCLR, NODEBUG, NOFCMEN, NOIESO
// Tell compiler clock is 8MHz. This is required for delay_ms() // and for all serial I/O (such as printf(...). These functions // use software delay loops, so the compiler needs to know the // processor speed.
//
#use delay (clock=8000000)
// Declare that we'll manually establish the data direction of // each I/O pin on port B.
//
#use fast_io(B)
// Standard definitions for the irx2_1 board //
// Macros to simplify I/O operations //
Using hand movement system to operate 3D design objects in virtual environment
52
#define RED_LED_ON output_low(RED_LED)
#define RED_LED_OFF output_high(RED_LED)
#define IR_LED_ON output_low(IR_LED)
#define IR_LED_OFF output_high(IR_LED)
#define IR_RECEIVED (!input(IR_SENSOR))
// Default tri-state port direction bits: all PORT B bits are
// output except for IR_SENSOR (bit 4) and RC232_RCV (bit 5).
//
#define IRX_B_TRIS 0b00110000
// Inform printf() and friends of the desired baud rate // and which pins to use for serial I/O.
//
#use rs232(baud=9600, xmit=RS232_XMT, rcv=RS232_RCV)
/* IR calibration data */
#define IR_DISTANCE_BASE 5
#define IR_DISTANCE_STEP 1
#define NUM_IR_CALIB_DATA 31
/* Type definitions */
typedef int uint8_t;
typedef long uint16_t;
/* Public interface */
/* IR sensor interface */
uint8_t get_ir_distance(uint8_t ir_reading);
Using hand movement system to operate 3D design objects in virtual environment
53
/* Variable definitions */
static const uint8_t ir_calib_data[NUM_IR_CALIB_DATA] = { 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1
};
uint8_t distanceA = 0xff;
uint8_t distanceB = 0xff;
uint8_t distanceC = 0xff;
uint16_t valueA;
uint16_t valueB;
uint16_t valueC;
uint8_t get_ir_distance(uint8_t ir_reading) { int i;
for (i = 0; i < NUM_IR_CALIB_DATA; i++) { if (ir_calib_data[i] < ir_reading) {
return IR_DISTANCE_BASE + i * IR_DISTANCE_STEP;
} }
return IR_DISTANCE_BASE + (i - 1) * IR_DISTANCE_STEP;
} /* get_ir_distance */
void count_valueA(){
valueA = read_adc();
valueA >>= 2;
distanceA = get_ir_distance(valueA);
}
void count_valueB(){
valueB = read_adc();
Using hand movement system to operate 3D design objects in virtual environment
54
valueB >>= 2;
distanceB = get_ir_distance(valueB);
}
void count_valueC(){
valueC= read_adc();
valueC >>= 2;
distanceC = get_ir_distance(valueC);
}
void main() {
// Declare variables for voltage reading and ten-bit // a-to-d value
//float adc_value, volts_read;
//int counter;
//double volts_send;
//counter = 0;
// since we've declared #use fast_io(B) (above), we MUST // include a call to set_tris_b() at startup.
//
set_tris_b(IRX_B_TRIS);
set_tris_a(0b00000111);
RED_LED_ON; // reality check at startup delay_ms(200);
RED_LED_OFF;
setup_adc_ports(sAN0 | sAN1 | sAN2);
setup_adc(ADC_CLOCK_DIV_8);
count_valueA();
set_adc_channel(1);
delay_us(10);
count_valueB();
set_adc_channel(2);
delay_us(10);
count_valueC();
RED_LED_OFF;
printf("%u%u%u,\r\n", distanceA, distanceB, distanceC);
delay_ms(500);
} }
Using hand movement system to operate 3D design objects in virtual environment