SlideShare a Scribd company logo
1 of 7
Download to read offline
Drawing Splines on 3D. Java Version

             A project by

         Rodolfo Cartas Ayala
       rodolfocartas@gmail.com


             Submitted to

         Dr. Raffaele de Amicis



            January 8, 2007
User’s Manual

Execution
On Windows and Mac OS X double click the provided jar file. To launch from
console, type

       java –jar curve2.jar

The application requires Java 1.5 and Java 3D 1.31 installed. It also requires the
colorchooser.jar and parallel_camera_parameters.jar files mapped in the system’s
classpath. Both files are included in the distribution.

The Toolbar
              Navigation/                               Parallel
              Selection         Copy           Cut      Perspective




                       Draw           Delete         Join     Drawing
                                                              Plane
Navigation/Selection Button
When this mode is active, clicking on a curve will select it allowing further
modifications. Clicking on the canvas allows you to navigate the scene. Rotation,
zooming, and translation are done pressing different mouse buttons.



              Left clicking rotates the scene.

              Rotating the mouse wheel zooms in and out.

              Right clicking translates the scene.

Draw Button
To draw, simply turn on this mode and click on the canvas. To finish drawing a
curve, double click at the termination point. The curve properties can be changed
using the properties panel.
Multiple selections can be done pressing the SHIFT key and clicking on each
curve.

Copy Button
In this mode a copy of a curve is creating when clicking on it.

Delete Button
In this mode a curve is deleted from the scene when clicked.

Cut Button
A curve can be cut clicking on two points belonging to it. The clicked point will be
shown.

Join Button
To join two curves with a hermite curve, click on the start and end of the curves to
join.

Parallel Perspective
When clicked the canvas will show the scene using parallel perspective.

Drawing plane
When active and in drawing mode, this will show a plane where curves are drawn.
The drawing plane can be modified using the following keys:

       T      Shows a perpendicular plane to the current one.
       =      Rotates the plane left.
       -      Rotates the plane right.

The Properties Panel
     Curve Type
       Thickness
          Color

Curve Type
Five types of curves are provided: Hermite Spline, Four Point Spline, Bezier Spline,
Cubic B-Spline, and Cardinal Hermite Spline. The first two require four points to be
drawn. The rest can be drawn with at least two points and up to twenty points.

Thickness
Selects the thickness of the curve.

Color
Select the color of a curve.
Modifying Curves
Changing properties
To change the properties of a curve just select it and then use the properties panel
to change type, thickness, or color.

Translating
To rotate a curve first, select it and then right click on it. A contextual menu
appears, click on the translate option. A green bounding box appears. To translate,
keep pressed the mouse’s right button over the box and move it.




Rotating
To rotate a curve first, select it and then right click on it. A contextual menu
appears, click on the rotate option. A blue bounding box appears. To rotate, keep
pressed the mouse’s left button over the box and move it.
Scaling
To rotate a curve first, select it and then right click on it. A contextual menu
appears, click on the translate option. A dialog appears, enter the scaling factor and
click ok.


Grouping
To group a set of curve, multiple select them and then go to Selection>Grouping.
When clicking on any of the curve a white box containing the curves will appear.
Translation, Rotation, and Scaling can be applied to the group. To ungroup, select
the group, and then go to Selection>Ungroup.


Saving and opening scenes
Use the Open and Save options of the File Menu to save the scene to a file. Files are
written in XML.
System Model

Main Classes
The following class diagram shows the core classes in the system. User input and
scene graph management.




      DrawingFrame: A Swing component used to capture the mouse wheel
      events.
      CurvesCanvas: Class inheriting from Canvas3D. This class manages the
      scene graph.
      Control: This class bridges widget events to the drawing subsystem through
      the Canvas.
      DrawingBehavior: Processes events to draw curves. It then creates
      CurveGroups that contain a Spline, the generalization of a Curve. This
      CurveGroups are added to the scene graph.
Spline Subsystem




The Spline abstract class implements functionality to manage geometries and
callbacks       to      the      Behavior       Subsystem        through       the
GraphicalSelectableObjectInterface. All classes inheriting from Spline must
implement the calculation of points and other special functions such as cutting or
derivative calculation.

The CurveGroup inherits from BranchGroup and is used to store a Spline and
behaviors that modify the Spline appeareance.


Behavior Subsystem




CurvesPickBehavior accepts mouse events and picks the objects clicked.
CurveClickerBehavior stores the last object clicked.
DrawingBehavior gets the mouse event and creates Splines.
JoinBehavior and CutBehavior use the object stores by their parent to implement
curve joining and cutting.
KeyboardBehavior process key presses to modify the drawing plane.
ModeConstants is used to store constants for DrawingBehavior.

More Related Content

What's hot

Rhino 3D Primer
Rhino 3D PrimerRhino 3D Primer
Rhino 3D Primer
NYCCTfab
 
Duspviz Rhino Tutorial
Duspviz Rhino TutorialDuspviz Rhino Tutorial
Duspviz Rhino Tutorial
DUSPviz
 
Roland Primer 3D Scanner
Roland Primer 3D ScannerRoland Primer 3D Scanner
Roland Primer 3D Scanner
NYCCTfab
 
Skills Development Notes in Photoshop
Skills Development Notes in PhotoshopSkills Development Notes in Photoshop
Skills Development Notes in Photoshop
idlemindz
 
Skills developmetn photoshop
Skills developmetn photoshopSkills developmetn photoshop
Skills developmetn photoshop
idlemindz
 

What's hot (19)

Flash Tutorial
Flash TutorialFlash Tutorial
Flash Tutorial
 
Catia Part07
Catia Part07Catia Part07
Catia Part07
 
Maya
MayaMaya
Maya
 
DUSPviz Rhino 3D Workshop
DUSPviz Rhino 3D WorkshopDUSPviz Rhino 3D Workshop
DUSPviz Rhino 3D Workshop
 
Rhino 3D Primer
Rhino 3D PrimerRhino 3D Primer
Rhino 3D Primer
 
Google sketch up
Google sketch upGoogle sketch up
Google sketch up
 
Duspviz Rhino Tutorial
Duspviz Rhino TutorialDuspviz Rhino Tutorial
Duspviz Rhino Tutorial
 
3 d adobe illustrator
3 d adobe illustrator3 d adobe illustrator
3 d adobe illustrator
 
Using The Toolbox
Using The ToolboxUsing The Toolbox
Using The Toolbox
 
Roland Primer 3D Scanner
Roland Primer 3D ScannerRoland Primer 3D Scanner
Roland Primer 3D Scanner
 
Laser Cutting: Advanced Joinery
Laser Cutting: Advanced JoineryLaser Cutting: Advanced Joinery
Laser Cutting: Advanced Joinery
 
Skills Development Notes in Photoshop
Skills Development Notes in PhotoshopSkills Development Notes in Photoshop
Skills Development Notes in Photoshop
 
Skills developmetn photoshop
Skills developmetn photoshopSkills developmetn photoshop
Skills developmetn photoshop
 
Photoshop dimensional looking sphere
Photoshop dimensional looking spherePhotoshop dimensional looking sphere
Photoshop dimensional looking sphere
 
Illustrator's basic shapes part 1
Illustrator's basic shapes part 1Illustrator's basic shapes part 1
Illustrator's basic shapes part 1
 
88 brilliant little tips for Photoshop
88 brilliant little tips for Photoshop88 brilliant little tips for Photoshop
88 brilliant little tips for Photoshop
 
Lesson 3 motion tween
Lesson 3 motion tweenLesson 3 motion tween
Lesson 3 motion tween
 
Illustrator's basic shapes part 2 & combining shapes
Illustrator's basic shapes part 2 & combining shapesIllustrator's basic shapes part 2 & combining shapes
Illustrator's basic shapes part 2 & combining shapes
 
Pop Art Technique
Pop Art TechniquePop Art Technique
Pop Art Technique
 

Viewers also liked (6)

Using the Mouse
Using the MouseUsing the Mouse
Using the Mouse
 
El mouse
El mouseEl mouse
El mouse
 
Mouse
MouseMouse
Mouse
 
Computer mouse.pptx
Computer mouse.pptxComputer mouse.pptx
Computer mouse.pptx
 
COMPUTER MEMORY : TYPES & FUNCTIONS
COMPUTER MEMORY : TYPES & FUNCTIONSCOMPUTER MEMORY : TYPES & FUNCTIONS
COMPUTER MEMORY : TYPES & FUNCTIONS
 
Mouse
MouseMouse
Mouse
 

Similar to Drawing Splines on 3D

Google sketchup8
Google sketchup8Google sketchup8
Google sketchup8
Trianz King
 
Resizing images
Resizing imagesResizing images
Resizing images
Dean Kiley
 
Finding modes of_a_cantilever_beam_in_nx7
Finding modes of_a_cantilever_beam_in_nx7Finding modes of_a_cantilever_beam_in_nx7
Finding modes of_a_cantilever_beam_in_nx7
Laura Bendula
 
Paths, Masks And Blend Modes
Paths, Masks And Blend ModesPaths, Masks And Blend Modes
Paths, Masks And Blend Modes
Shan
 

Similar to Drawing Splines on 3D (20)

Maya
MayaMaya
Maya
 
3Dimention_lessonA_introMayaModeling.pptx
3Dimention_lessonA_introMayaModeling.pptx3Dimention_lessonA_introMayaModeling.pptx
3Dimention_lessonA_introMayaModeling.pptx
 
Google sketchup8
Google sketchup8Google sketchup8
Google sketchup8
 
Geometers Sketchpad Helpful Hints
Geometers Sketchpad Helpful HintsGeometers Sketchpad Helpful Hints
Geometers Sketchpad Helpful Hints
 
Tutorial
TutorialTutorial
Tutorial
 
Design tools 2
Design tools 2Design tools 2
Design tools 2
 
Poser presentation1
Poser presentation1Poser presentation1
Poser presentation1
 
Cinema 4D R20 ESSENTIALS
Cinema 4D R20 ESSENTIALSCinema 4D R20 ESSENTIALS
Cinema 4D R20 ESSENTIALS
 
Resizing images
Resizing imagesResizing images
Resizing images
 
how to use design by software.pptx
how to use design by software.pptxhow to use design by software.pptx
how to use design by software.pptx
 
Introduction- The Basics of Photoshop CS6
Introduction- The Basics of Photoshop CS6Introduction- The Basics of Photoshop CS6
Introduction- The Basics of Photoshop CS6
 
Finding modes of_a_cantilever_beam_in_nx7
Finding modes of_a_cantilever_beam_in_nx7Finding modes of_a_cantilever_beam_in_nx7
Finding modes of_a_cantilever_beam_in_nx7
 
Photoshop basics
Photoshop basicsPhotoshop basics
Photoshop basics
 
ETECH_WEEK7-Image-Manipulation-Techniques-1.pdf
ETECH_WEEK7-Image-Manipulation-Techniques-1.pdfETECH_WEEK7-Image-Manipulation-Techniques-1.pdf
ETECH_WEEK7-Image-Manipulation-Techniques-1.pdf
 
Paths, Masks And Blend Modes
Paths, Masks And Blend ModesPaths, Masks And Blend Modes
Paths, Masks And Blend Modes
 
PIVOT ANIMATOR - USER GUIDE - VIDEO EDITING AND MAKING SOFTWARE
PIVOT ANIMATOR - USER GUIDE - VIDEO EDITING AND MAKING SOFTWARE PIVOT ANIMATOR - USER GUIDE - VIDEO EDITING AND MAKING SOFTWARE
PIVOT ANIMATOR - USER GUIDE - VIDEO EDITING AND MAKING SOFTWARE
 
Working with google sketch up
Working with google sketch upWorking with google sketch up
Working with google sketch up
 
Photoshop tools
Photoshop toolsPhotoshop tools
Photoshop tools
 
Inkscape Beginner Tutorial: How to Make a Yoga Class Flyer
Inkscape Beginner Tutorial: How to Make a Yoga Class FlyerInkscape Beginner Tutorial: How to Make a Yoga Class Flyer
Inkscape Beginner Tutorial: How to Make a Yoga Class Flyer
 
Chap39
Chap39Chap39
Chap39
 

More from graphitech

A graphic library and an application for simple curve manipolation
A graphic library and an application for simple curve manipolationA graphic library and an application for simple curve manipolation
A graphic library and an application for simple curve manipolation
graphitech
 

More from graphitech (20)

A graphic library and an application for simple curve manipolation
A graphic library and an application for simple curve manipolationA graphic library and an application for simple curve manipolation
A graphic library and an application for simple curve manipolation
 
A graphic library and an application for simple curve manipolation
A graphic library and an application for simple curve manipolationA graphic library and an application for simple curve manipolation
A graphic library and an application for simple curve manipolation
 
A graphic library and an application for simple curve manipolation
A graphic library and an application for simple curve manipolationA graphic library and an application for simple curve manipolation
A graphic library and an application for simple curve manipolation
 
A graphic library and an application for simple curve manipolation
A graphic library and an application for simple curve manipolationA graphic library and an application for simple curve manipolation
A graphic library and an application for simple curve manipolation
 
Rescue Mission
Rescue MissionRescue Mission
Rescue Mission
 
Rescue Mission
Rescue MissionRescue Mission
Rescue Mission
 
Mashup - Sustainability
Mashup - SustainabilityMashup - Sustainability
Mashup - Sustainability
 
Mashup - Sustainability
Mashup - SustainabilityMashup - Sustainability
Mashup - Sustainability
 
Multiple Screens
Multiple ScreensMultiple Screens
Multiple Screens
 
Multiple Screens
Multiple ScreensMultiple Screens
Multiple Screens
 
Graph Matching
Graph MatchingGraph Matching
Graph Matching
 
Shape Analysis
Shape AnalysisShape Analysis
Shape Analysis
 
Human Interaction Library
Human Interaction LibraryHuman Interaction Library
Human Interaction Library
 
Human Interaction Library
Human Interaction LibraryHuman Interaction Library
Human Interaction Library
 
WebCams Mapping on Nasa World Wind
WebCams Mapping on Nasa World WindWebCams Mapping on Nasa World Wind
WebCams Mapping on Nasa World Wind
 
Street Builder
Street BuilderStreet Builder
Street Builder
 
Street Builder
Street BuilderStreet Builder
Street Builder
 
Live Video in World Wind
Live Video in World WindLive Video in World Wind
Live Video in World Wind
 
Live Video in World Wind
Live Video in World WindLive Video in World Wind
Live Video in World Wind
 
Terrain Modification
Terrain ModificationTerrain Modification
Terrain Modification
 

Recently uploaded

The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
heathfieldcps1
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
ZurliaSoop
 

Recently uploaded (20)

Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfUGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structure
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptx
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17
 
REMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptxREMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptx
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
 
Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)
 
Fostering Friendships - Enhancing Social Bonds in the Classroom
Fostering Friendships - Enhancing Social Bonds  in the ClassroomFostering Friendships - Enhancing Social Bonds  in the Classroom
Fostering Friendships - Enhancing Social Bonds in the Classroom
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
 
Wellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptxWellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptx
 
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
 
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptxOn_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
 
How to Add New Custom Addons Path in Odoo 17
How to Add New Custom Addons Path in Odoo 17How to Add New Custom Addons Path in Odoo 17
How to Add New Custom Addons Path in Odoo 17
 

Drawing Splines on 3D

  • 1. Drawing Splines on 3D. Java Version A project by Rodolfo Cartas Ayala rodolfocartas@gmail.com Submitted to Dr. Raffaele de Amicis January 8, 2007
  • 2. User’s Manual Execution On Windows and Mac OS X double click the provided jar file. To launch from console, type java –jar curve2.jar The application requires Java 1.5 and Java 3D 1.31 installed. It also requires the colorchooser.jar and parallel_camera_parameters.jar files mapped in the system’s classpath. Both files are included in the distribution. The Toolbar Navigation/ Parallel Selection Copy Cut Perspective Draw Delete Join Drawing Plane Navigation/Selection Button When this mode is active, clicking on a curve will select it allowing further modifications. Clicking on the canvas allows you to navigate the scene. Rotation, zooming, and translation are done pressing different mouse buttons. Left clicking rotates the scene. Rotating the mouse wheel zooms in and out. Right clicking translates the scene. Draw Button To draw, simply turn on this mode and click on the canvas. To finish drawing a curve, double click at the termination point. The curve properties can be changed using the properties panel.
  • 3. Multiple selections can be done pressing the SHIFT key and clicking on each curve. Copy Button In this mode a copy of a curve is creating when clicking on it. Delete Button In this mode a curve is deleted from the scene when clicked. Cut Button A curve can be cut clicking on two points belonging to it. The clicked point will be shown. Join Button To join two curves with a hermite curve, click on the start and end of the curves to join. Parallel Perspective When clicked the canvas will show the scene using parallel perspective. Drawing plane When active and in drawing mode, this will show a plane where curves are drawn. The drawing plane can be modified using the following keys: T Shows a perpendicular plane to the current one. = Rotates the plane left. - Rotates the plane right. The Properties Panel Curve Type Thickness Color Curve Type Five types of curves are provided: Hermite Spline, Four Point Spline, Bezier Spline, Cubic B-Spline, and Cardinal Hermite Spline. The first two require four points to be drawn. The rest can be drawn with at least two points and up to twenty points. Thickness Selects the thickness of the curve. Color Select the color of a curve.
  • 4. Modifying Curves Changing properties To change the properties of a curve just select it and then use the properties panel to change type, thickness, or color. Translating To rotate a curve first, select it and then right click on it. A contextual menu appears, click on the translate option. A green bounding box appears. To translate, keep pressed the mouse’s right button over the box and move it. Rotating To rotate a curve first, select it and then right click on it. A contextual menu appears, click on the rotate option. A blue bounding box appears. To rotate, keep pressed the mouse’s left button over the box and move it.
  • 5. Scaling To rotate a curve first, select it and then right click on it. A contextual menu appears, click on the translate option. A dialog appears, enter the scaling factor and click ok. Grouping To group a set of curve, multiple select them and then go to Selection>Grouping. When clicking on any of the curve a white box containing the curves will appear. Translation, Rotation, and Scaling can be applied to the group. To ungroup, select the group, and then go to Selection>Ungroup. Saving and opening scenes Use the Open and Save options of the File Menu to save the scene to a file. Files are written in XML.
  • 6. System Model Main Classes The following class diagram shows the core classes in the system. User input and scene graph management. DrawingFrame: A Swing component used to capture the mouse wheel events. CurvesCanvas: Class inheriting from Canvas3D. This class manages the scene graph. Control: This class bridges widget events to the drawing subsystem through the Canvas. DrawingBehavior: Processes events to draw curves. It then creates CurveGroups that contain a Spline, the generalization of a Curve. This CurveGroups are added to the scene graph.
  • 7. Spline Subsystem The Spline abstract class implements functionality to manage geometries and callbacks to the Behavior Subsystem through the GraphicalSelectableObjectInterface. All classes inheriting from Spline must implement the calculation of points and other special functions such as cutting or derivative calculation. The CurveGroup inherits from BranchGroup and is used to store a Spline and behaviors that modify the Spline appeareance. Behavior Subsystem CurvesPickBehavior accepts mouse events and picks the objects clicked. CurveClickerBehavior stores the last object clicked. DrawingBehavior gets the mouse event and creates Splines. JoinBehavior and CutBehavior use the object stores by their parent to implement curve joining and cutting. KeyboardBehavior process key presses to modify the drawing plane. ModeConstants is used to store constants for DrawingBehavior.