Dr. Dobb's Journal - August 2008 - (Page 34) State of the Art ELLIPSE SPECIFICATION USING VECTORS P1 P2 Pn P3 Pn–1 Pn–2 C1=F1•P1+F2•P1+ F3•P2+F4•P3 Pi–1 Pi (a) Pi+2 Pi+1 Ci=F1•Pi+1+F2•Pi+ F3•Pi–1+F4•Pi–2 C4=F1•P4+F2•P1+ F4•P2+F4•P3 P1 C1=F1•P1+F2•P2+ F3•P3+F4•P4 P2 P4 C3=F1•P3+F2•P4+ F3•P1+F4•P2 (b) P3 C2=F1•P2+F2•P3+ F3•P4+F4•P1 Figure 6: How spline segments of the ellipses are defined. The Box Ellipse function demonstrates an ellipse drawn from a bounding box using Java’s built-in Ellipse2D.Double definition. The bounding box is drawn in red during editing for reference. To match this ellipse to a portion of a freeform curve, eyeball where the nearest corner of the bounding box of the ellipse falls to match the ellipse to the curve without the ellipse drifting away. (Not always an easy task!) See Figure 1. The Vector Ellipse function demonstrates how to improve upon the standard bounding-box method by rendering ellipses drawn from a vector using TSplines. The VectorEllipse class (Listing Two, available online) is used to define and then render the ellipse. VectorEllipse is defined globally rather than locally in the place where it is used, as was Ellipse2D.Double. Had VectorEllipse been defined locally during use, it would have negated the benefits of precomputing the basis function in the setBasis method. During editing, the defining vector is drawn in red. To align a vector I/O Controls x x x x x High-Speed for Real-Time applications Built-In custom Property Editors Automatic and Custom Sizing. No Restrictive Bitmaps Look and Feel of Real Hardware Includes : Switches, Gauges, Sliders, Led’s, Led Bar, Led Spiral, Integer/Binary/Hexadecimal Displays, Tanks, Valves, Motors, LCD Matrix, Spectrum Display, Percent and Pie Graph, Odometers, Analog Clock, Image Display, Rotation Display, and Mode Combo Box. Plot Control x x x x x x x x High-Speed for Real-Time applications Unlimited Number of Channels & Axes Full Customizable External Toolbar Legends, Tables, Limits, Labels, Annotations, Cursors Gradient Backgrounds Log Files and Data Export and Import Save images to BMP, PNG, JPEG, TIF, GIF and EMF Many built in channel types : Tracy, Trace-XY, Bar, Bubble, Fill, Bi-Fill, Digital, Differential and Sweep Interval (EKG) Std Pack .Net x 28 Controls x Basic I/O Controls ActiveX & VCL Also Available Pro Pack .Net x 55 Controls x Basic & Advanced I/O Controls Single Developer : $1099 Additional Developer : $379 ActiveX & VCL Also Available Plot Pack .Net x Plotting : Scientific, Engineering, Strip-Chart, Digital, EKG, and more ActiveX & VCL Also Available Ultra Pack .Net x 56 Controls x Basic & Advanced I/O Controls plus Plotting Single Developer : $1699 Additional Developer : $579 ActiveX & VCL Also Available Single Developer : $559 Additional Developer : $189 Single Developer : $859 Additional Developer : $289 www.iocomp.com 888-599-2929 +1-407-226-3456 7081 Grand National Drive Suite 112, Orlando, FL 32819 34 Dr. Dobb’s Journal l www.ddj.com l August 2008 http://www.iocomp.com http://www.iocomp.com http://www.ddj.com
Table of Contents Feed for the Digital Edition of Dr. Dobb's Journal - August 2008 Dr. Dobb's Journal - August 2008 Contents Friday Night Fish Fry Alia Vox Developer Diaries Developer’s Notebook A Conversation with Christos Papadimitriou OpenGL and Mobile Devices: Round 2 Ellipse Specification Using Vectors Embed Custom GUIs in WPF Building RIAs on J2EE Foundations Disentangling Concepts in Object-Oriented Systems The Agile Edge Effective Concurrency Swaine’s Flames Dr. Dobb's Journal - August 2008 Dr. Dobb's Journal - August 2008 - Dr. Dobb's Journal - August 2008 (Page Cover1) Dr. Dobb's Journal - August 2008 - Dr. Dobb's Journal - August 2008 (Page Cover2) Dr. Dobb's Journal - August 2008 - Dr. Dobb's Journal - August 2008 (Page 1) Dr. Dobb's Journal - August 2008 - Dr. Dobb's Journal - August 2008 (Page 2) Dr. Dobb's Journal - August 2008 - Dr. Dobb's Journal - August 2008 (Page 3) Dr. Dobb's Journal - August 2008 - Contents (Page 4) Dr. Dobb's Journal - August 2008 - Contents (Page 5) Dr. Dobb's Journal - August 2008 - Friday Night Fish Fry (Page 6) Dr. Dobb's Journal - August 2008 - Friday Night Fish Fry (Page 7) Dr. Dobb's Journal - August 2008 - Friday Night Fish Fry (Page 8) Dr. Dobb's Journal - August 2008 - Friday Night Fish Fry (Page 9) Dr. Dobb's Journal - August 2008 - Alia Vox (Page 10) Dr. Dobb's Journal - August 2008 - Alia Vox (Page 11) Dr. Dobb's Journal - August 2008 - Developer Diaries (Page 12) Dr. Dobb's Journal - August 2008 - Developer Diaries (Page 13) Dr. Dobb's Journal - August 2008 - Developer’s Notebook (Page 14) Dr. Dobb's Journal - August 2008 - Developer’s Notebook (Page 15) Dr. Dobb's Journal - August 2008 - A Conversation with Christos Papadimitriou (Page 16) Dr. Dobb's Journal - August 2008 - A Conversation with Christos Papadimitriou (Page 17) Dr. Dobb's Journal - August 2008 - A Conversation with Christos Papadimitriou (Page 18) Dr. Dobb's Journal - August 2008 - A Conversation with Christos Papadimitriou (Page 19) Dr. Dobb's Journal - August 2008 - OpenGL and Mobile Devices: Round 2 (Page 20) Dr. Dobb's Journal - August 2008 - OpenGL and Mobile Devices: Round 2 (Page 21) Dr. Dobb's Journal - August 2008 - OpenGL and Mobile Devices: Round 2 (Page 22) Dr. Dobb's Journal - August 2008 - OpenGL and Mobile Devices: Round 2 (Page 23) Dr. Dobb's Journal - August 2008 - OpenGL and Mobile Devices: Round 2 (Page 24) Dr. Dobb's Journal - August 2008 - OpenGL and Mobile Devices: Round 2 (Page 25) Dr. Dobb's Journal - August 2008 - OpenGL and Mobile Devices: Round 2 (Page 26) Dr. Dobb's Journal - August 2008 - OpenGL and Mobile Devices: Round 2 (Page 27) Dr. Dobb's Journal - August 2008 - OpenGL and Mobile Devices: Round 2 (Page 28) Dr. Dobb's Journal - August 2008 - OpenGL and Mobile Devices: Round 2 (Page 29) Dr. Dobb's Journal - August 2008 - Ellipse Specification Using Vectors (Page 30) Dr. Dobb's Journal - August 2008 - Ellipse Specification Using Vectors (Page 31) Dr. Dobb's Journal - August 2008 - Ellipse Specification Using Vectors (Page 32) Dr. Dobb's Journal - August 2008 - Ellipse Specification Using Vectors (Page 33) Dr. Dobb's Journal - August 2008 - Ellipse Specification Using Vectors (Page 34) Dr. Dobb's Journal - August 2008 - Ellipse Specification Using Vectors (Page 35) Dr. Dobb's Journal - August 2008 - Embed Custom GUIs in WPF (Page 36) Dr. Dobb's Journal - August 2008 - Embed Custom GUIs in WPF (Page 37) Dr. Dobb's Journal - August 2008 - Embed Custom GUIs in WPF (Page 38) Dr. Dobb's Journal - August 2008 - Embed Custom GUIs in WPF (Page 39) Dr. Dobb's Journal - August 2008 - Building RIAs on J2EE Foundations (Page 40) Dr. Dobb's Journal - August 2008 - Building RIAs on J2EE Foundations (Page 41) Dr. Dobb's Journal - August 2008 - Building RIAs on J2EE Foundations (Page 42) Dr. Dobb's Journal - August 2008 - Building RIAs on J2EE Foundations (Page 43) Dr. Dobb's Journal - August 2008 - Building RIAs on J2EE Foundations (Page 44) Dr. Dobb's Journal - August 2008 - Building RIAs on J2EE Foundations (Page 45) Dr. Dobb's Journal - August 2008 - Disentangling Concepts in Object-Oriented Systems (Page 46) Dr. Dobb's Journal - August 2008 - Disentangling Concepts in Object-Oriented Systems (Page 47) Dr. Dobb's Journal - August 2008 - Disentangling Concepts in Object-Oriented Systems (Page 48) Dr. Dobb's Journal - August 2008 - Disentangling Concepts in Object-Oriented Systems (Page 49) Dr. Dobb's Journal - August 2008 - The Agile Edge (Page 50) Dr. Dobb's Journal - August 2008 - The Agile Edge (Page 51) Dr. Dobb's Journal - August 2008 - The Agile Edge (Page 52) Dr. Dobb's Journal - August 2008 - Effective Concurrency (Page 53) Dr. Dobb's Journal - August 2008 - Effective Concurrency (Page 54) Dr. Dobb's Journal - August 2008 - Effective Concurrency (Page 55) Dr. Dobb's Journal - August 2008 - Swaine’s Flames (Page 56) Dr. Dobb's Journal - August 2008 - Swaine’s Flames (Page Cover3) Dr. Dobb's Journal - August 2008 - Swaine’s Flames (Page Cover4)
For optimal viewing of this digital publication, please enable JavaScript and then refresh the page. If you would like to try to load the digital publication without using Flash Player detection, please click here.