tour updates

This commit is contained in:
Sampo Niskanen 2011-12-27 20:09:25 +00:00
parent b03d1d5c8b
commit 3abd99725b
8 changed files with 208 additions and 65 deletions

View File

@ -1,4 +1,5 @@
#Sun Jun 13 15:09:13 EEST 2010
#Tue Dec 27 21:59:43 EET 2011
eclipse.preferences.version=1
encoding//doc/design/simulation-sequence.uml=UTF-8
encoding//doc/design/simulation-sequence.umlseq=UTF-8
encoding/<project>=UTF-8

View File

@ -0,0 +1,3 @@
#Tue Dec 27 21:59:43 EET 2011
eclipse.preferences.version=1
line.separator=\n

View File

@ -0,0 +1,138 @@
Creating a simple rocket design
<p>This tour shows how to create a simple rocket design from scratch.
[none]
<p>When you choose to create a new design, you are presented with a blank
design and the <em>Rocket configuration</em> dialog is displayed.
Here you can enter general information on the rocket design, such as
the design name, designer, comments and revision information.
<p>You can later open this dialog by double-clicking on the root
component in the component tree.
[none]
<p>Next, add a <em>Nose cone</em> to the design by clicking the
corresponding component addition button. This opens the nose cone
configuration dialog.
[none]
<p>The configuration dialog contains settings for the nose cone shape,
dimensions and material. Set the nose cone length to 10&nbsp;cm,
base diameter to 2.5&nbsp;cm and material to Polystyrene (plastic).
<p>To use inches, either click the unit to change it, or change the
default units in <a href="FIXME">Preferences</a>.
[none]
<p>The design window displays the nose cone. Next, add a <em>Body
tube</em> to the design.
[none]
<p>Change the body tube length to 25&nbsp;cm. The <em>Automatic</em>
option for the outer diameter is ticked by default, in which case the
diameter is automatically the same as that of the nose cone.
[none]
<p>Next, add a <em>Trapezoidal fin set</em> to the rocket. The body
tube must be selected in order to add the component.
[none]
<p>The trapezoidal fin set has numerous dimension parameters. The
most important are the root and tip chord (length next to the body
tube and tip), height and sweep.
<p>The default values are okay for the example design.
[none]
<p>Next, add an <em>Inner tube</em> as a motor mount. Select the body
tube, and then click the component addition button.
[none]
<p>The default dimensions are suitable for Estes A-C motors. To have
the motor mount overhang a bit, change the position parameter to
<em>Bottom of parent component</em> plus 0.5&nbsp;cm.
[none]
<p>To add <em>Centering rings</em> to keep the mount in place, select
the body tube and click the centering ring button.
<p>(If you have the inner tube selected when clicking, the centering
ring will be added inside the inner tube. Use <b>Edit</b> &rarr;
<b>Undo</b> to undo the latest action.)
[none]
<p>The centering ring automatically selects the appropriate outer and
inner diameter when the <em>Automatic</em> checkboxes are selected.
<p>Move the centering ring to the front of the engine mount by setting
the position parameter to <em>Bottom of parent component</em> plus
-5.0&nbsp;cm.
<p>Next add another centering ring at the aft end with position
parameter zero.
[none]
<p>Next add a <em>Parachute</em> to the body tube.
[none]
<p>The <em>canopy diameter</em> and <em>drag coefficient</em>
determine how much the parachute slows down the rocket during descent.
The <em>material</em> and <em>shroud lines</em> affect the total
mass. The <em>packed length</em>, <em>diameter</em> and
<em>position</em> affect the packed size and location of the
parachute.
<p>The <em>Deploys at</em> propery can be used to affect when the
parachute deploys. For <em>First ejection charge of this stage</em>
option will deploy the parachute when the ejection charge is fired, as
is typical in small model rockets.
[none]
<p>Now the functional aspects of the rocket design are complete.
<p>For completeness you can still attach a <em>Mass component</em> to
the body tube for wadding, and an <em>Engine block</em> to the inner
tube for holding the motor in place.
[none]
<p>Now the rocket design is complete.
<p>You can now continue to
<a href="defining_motors/defining_motors">defining motors</a> to your
rocket.

View File

@ -1,83 +1,83 @@
Introduction
<p>Ce premier tour d'horizon donne un apperçu rapide des écrans et fonctionnalités
<p>Ce premier tour d'horizon donne un apperçu rapide des écrans et fonctionnalités
d'OpenRocket.
[logo.png]
[logo_fr.png]
<p><b>OpenRocket</b> est une application pour concevoir,
simuler et optimiser des fusées modèle réduit. Ce premier tour d'horizon
montre une vue globale des écrans et fonctionnalités d'OpenRocket.
simuler et optimiser des fusées modèle réduit. Ce premier tour d'horizon
montre une vue globale des écrans et fonctionnalités d'OpenRocket.
<p>Vous pouvez vous déplacer dans le tour d'horizon en utilisant les boutons <b>Suivant</b>
et <b>Précédant</b>, ou en utilisant les flèches <em>gauche</em> et <em>droite
<p>Vous pouvez vous déplacer dans le tour d'horizon en utilisant les boutons <b>Suivant</b>
et <b>Précédant</b>, ou en utilisant les flèches <em>gauche</em> et <em>droite
</em> sur votre clavier.
[none]
# FIXME: Add screenshot after dialog is complete
<p>Ceci est l'écran de démarrage depuis lequel vous pouvez créer une nouvelle fusée
<p>Ceci est l'écran de démarrage depuis lequel vous pouvez créer une nouvelle fusée
ou ouvrir des projets existant.
<p>Pour ce tour d'horizon, ouvrons le projet exemple nommé <em>A simple model
<p>Pour ce tour d'horizon, ouvrons le projet exemple nommé <em>A simple model
rocket</em>.
[main_window.jpg]
<p>Ceci est l'écran principal d'OpenRocket. Il est divisé horizontalement en
deux parties: la partie projet fusée / simulation de vol
et la partie conception fusée.
<p>Ceci est l'écran principal d'OpenRocket. Il est divisé horizontalement en
deux parties: la partie projet fusée / simulation de vol
et la partie conception fusée.
[main_window_top.jpg]
<p>En haut à gauche il y a l'arborescence de pièces du projet fusée.
Il montre quelles pièces sont attachées à quelles pièces.
<p>En haut à gauche il y a l'arborescence de pièces du projet fusée.
Il montre quelles pièces sont attachées à quelles pièces.
<p>Juste à coté les buttons permettent d'ajouter de nouvelles pièces à
la fusée.
<p>Juste à coté les buttons permettent d'ajouter de nouvelles pièces à
la fusée.
[main_window_bottom.jpg]
<p>La partie basse de la fenêtre contient un diagramme du projet fusée
<p>La partie basse de la fenêtre contient un diagramme du projet fusée
en cour.
<p>Les différentes options de visualisation sont décrites en détail dans le tour
<p>Les différentes options de visualisation sont décrites en détail dans le tour
d'horizon <a href="FIXME">Options de visualisation</a>.
[flight_simulations.jpg]
<p>Lorsque vous sélectionnez l'onglet <b>Simulations de vol</b>, la partie haute de
la fenêtre change pour montrer les simulations qui ont été programmées pour
la fusée.
<p>Lorsque vous sélectionnez l'onglet <b>Simulations de vol</b>, la partie haute de
la fenêtre change pour montrer les simulations qui ont été programmées pour
la fusée.
<p>Vous pouvez définir plusieurs simulations avec des configurations moteurs différentes
<p>Vous pouvez définir plusieurs simulations avec des configurations moteurs différentes
et en modifiant les conditions de lancement, comme le vent et l'inclinaison
de la rampe de lancement.
[simulation_edit.png]
<p>En double cliquant sur une simulation vous ouvrez <em>la fenêtre de dialogue de modification
de Simulation </em>. Sur les deux premiers onglets vous pouvez définir les options de simulation,
dans les deux derniers onglets vous pouvez tracer ou exporter les résultats.
<p>En double cliquant sur une simulation vous ouvrez <em>la fenêtre de dialogue de modification
de Simulation </em>. Sur les deux premiers onglets vous pouvez définir les options de simulation,
dans les deux derniers onglets vous pouvez tracer ou exporter les résultats.
<p>La simulation d'une fusée est décrite en détail dans le tour d'horizon
<p>La simulation d'une fusée est décrite en détail dans le tour d'horizon
<a href="FIXME">Simulation d'un vol</a>.
[advanced_features.jpg]
<p>D'autres fonctionnalités avancées incluant l'analyse des pièces et une
optimisation automatique du projet sont traités dans d'autres tours d'horizon.
<p>D'autres fonctionnalités avancées incluant l'analyse des pièces et une
optimisation automatique du projet sont traités dans d'autres tours d'horizon.
<p>Ensuite vous pouvez voir <a href="FIXME">Créer un projet fusée
</a>, survoler d'autres tours d'horizons ou commencer à expérimenter le
<p>Ensuite vous pouvez voir <a href="FIXME">Créer un projet fusée
</a>, survoler d'autres tours d'horizons ou commencer à expérimenter le
logiciel.

View File

@ -2,7 +2,7 @@
# This file lists all the available tours.
introduction/introduction.tour
creating_design/creating_design.tour
test1/test.tour
test2/test2.tour

View File

@ -49,6 +49,7 @@ public class SlideShowComponent extends JSplitPane {
public void setSlide(Slide slide) {
this.imageDisplay.setImage(slide.getImage());
this.textPane.setText(slide.getText());
this.textPane.setCaretPosition(0);
}

View File

@ -1,12 +1,12 @@
package net.sf.openrocket.rocketcomponent;
import net.sf.openrocket.util.Coordinate;
import net.sf.openrocket.util.MathUtil;
import static net.sf.openrocket.util.MathUtil.pow2;
import java.util.ArrayList;
import java.util.Collection;
import static net.sf.openrocket.util.MathUtil.pow2;
import net.sf.openrocket.util.Coordinate;
import net.sf.openrocket.util.MathUtil;
/**
@ -19,31 +19,31 @@ import static net.sf.openrocket.util.MathUtil.pow2;
* @author Sampo Niskanen <sampo.niskanen@iki.fi>
*/
public abstract class MassObject extends InternalComponent {
private double radius;
private double radialPosition;
private double radialDirection;
private double shiftY = 0;
private double shiftZ = 0;
public MassObject() {
this(0.03, 0.015);
this(0.025, 0.0125);
}
public MassObject(double length, double radius) {
super();
this.length = length;
this.radius = radius;
this.setRelativePosition(Position.TOP);
this.setPositionValue(0.0);
}
public void setLength(double length) {
length = Math.max(length, 0);
if (MathUtil.equals(this.length, length)) {
@ -52,13 +52,13 @@ public abstract class MassObject extends InternalComponent {
this.length = length;
fireComponentChangeEvent(ComponentChangeEvent.MASS_CHANGE);
}
public final double getRadius() {
return radius;
}
public final void setRadius(double radius) {
radius = Math.max(radius, 0);
if (MathUtil.equals(this.radius, radius)) {
@ -67,13 +67,13 @@ public abstract class MassObject extends InternalComponent {
this.radius = radius;
fireComponentChangeEvent(ComponentChangeEvent.MASS_CHANGE);
}
public final double getRadialPosition() {
return radialPosition;
}
public final void setRadialPosition(double radialPosition) {
radialPosition = Math.max(radialPosition, 0);
if (MathUtil.equals(this.radialPosition, radialPosition)) {
@ -84,11 +84,11 @@ public abstract class MassObject extends InternalComponent {
shiftZ = radialPosition * Math.sin(radialDirection);
fireComponentChangeEvent(ComponentChangeEvent.MASS_CHANGE);
}
public final double getRadialDirection() {
return radialDirection;
}
public final void setRadialDirection(double radialDirection) {
radialDirection = MathUtil.reduce180(radialDirection);
if (MathUtil.equals(this.radialDirection, radialDirection)) {
@ -99,8 +99,8 @@ public abstract class MassObject extends InternalComponent {
shiftZ = radialPosition * Math.sin(radialDirection);
fireComponentChangeEvent(ComponentChangeEvent.MASS_CHANGE);
}
/**
* Shift the coordinates according to the radial position and direction.
*/
@ -111,22 +111,22 @@ public abstract class MassObject extends InternalComponent {
}
return array;
}
@Override
public final Coordinate getComponentCG() {
return new Coordinate(length / 2, shiftY, shiftZ, getComponentMass());
}
@Override
public final double getLongitudinalUnitInertia() {
return (3 * pow2(radius) + pow2(length)) / 12;
}
@Override
public final double getRotationalUnitInertia() {
return pow2(radius) / 2;
}
@Override
public final Collection<Coordinate> getComponentBounds() {
Collection<Coordinate> c = new ArrayList<Coordinate>();
@ -134,5 +134,5 @@ public abstract class MassObject extends InternalComponent {
addBound(c, length, radius);
return c;
}
}

View File

@ -31,7 +31,7 @@ public class TrapezoidFinSet extends FinSet {
* length
* == rootChord
*/
// rootChord == length
private double tipChord = 0;
private double height = 0;
@ -39,7 +39,7 @@ public class TrapezoidFinSet extends FinSet {
public TrapezoidFinSet() {
this(3, 0.05, 0.05, 0.025, 0.05);
this(3, 0.05, 0.05, 0.025, 0.03);
}
// TODO: HIGH: height=0 -> CP = NaN
@ -149,7 +149,7 @@ public class TrapezoidFinSet extends FinSet {
}
/**
* Returns the geometry of a trapezoidal fin.
*/