Formatting and colors
This commit is contained in:
parent
573788fbfc
commit
443eb4217c
@ -69,7 +69,8 @@ pub(crate) fn dump_latex_code(route: &[RunState], polys: &[Polygon]) {
|
|||||||
println!("\\tkzDrawSegment(R{},R{})", idx - 1, idx);
|
println!("\\tkzDrawSegment(R{},R{})", idx - 1, idx);
|
||||||
}
|
}
|
||||||
for idx in 0..route.len() {
|
for idx in 0..route.len() {
|
||||||
println!("\\tkzDrawPoint[fill=red,color=black,size=13](R{})", idx);
|
let color = if idx == 0 || idx == route.len() - 1 { "green" } else { "red" };
|
||||||
|
println!("\\tkzDrawPoint[fill={},color=black,size=13](R{})", color, idx);
|
||||||
}
|
}
|
||||||
println!("\\end{{tikzpicture}}");
|
println!("\\end{{tikzpicture}}");
|
||||||
}
|
}
|
||||||
|
@ -218,6 +218,7 @@ fn main() {
|
|||||||
// neu gefundene Routen speichern
|
// neu gefundene Routen speichern
|
||||||
states.extend(all);
|
states.extend(all);
|
||||||
}
|
}
|
||||||
|
// beste Lösung ausgeben
|
||||||
eprintln!("Finale Lösung:");
|
eprintln!("Finale Lösung:");
|
||||||
let route = best;
|
let route = best;
|
||||||
let last = route.last().unwrap();
|
let last = route.last().unwrap();
|
||||||
@ -295,6 +296,7 @@ fn none_intersect(polys: &[Polygon], line: &Line) -> bool {
|
|||||||
}
|
}
|
||||||
// (dieser Fall tritt auf, wenn die Linie von einer Polygon-Ecke zu einer anderen Ecke verläuft)
|
// (dieser Fall tritt auf, wenn die Linie von einer Polygon-Ecke zu einer anderen Ecke verläuft)
|
||||||
}
|
}
|
||||||
|
// keine Überschneidung gefunden: der Weg ist frei!
|
||||||
true
|
true
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -305,10 +307,11 @@ fn distance(a: Point, b: Point) -> f64 {
|
|||||||
|
|
||||||
/// Mit dieser Funktion kann man bestimmen, wo der Bus zu Lisas Startzeit war.
|
/// Mit dieser Funktion kann man bestimmen, wo der Bus zu Lisas Startzeit war.
|
||||||
/// Die Funktion nimmt an, dass Lisa, von ihrer aktuellen Position aus, den Bus ohne Umwege erreichen kann.
|
/// Die Funktion nimmt an, dass Lisa, von ihrer aktuellen Position aus, den Bus ohne Umwege erreichen kann.
|
||||||
/// Sehr hilfreich als Heuristik, da sie nie schlechter als das eigentliche Ergebnis sein kann.
|
/// Sehr hilfreich als Heuristik, da die theoretisch beste Lösung nie schlechter als das eigentliche Ergebnis sein kann.
|
||||||
fn best_bus_pos(opt: &Opt, total_distance: f64, lisa: Point) -> f64 {
|
fn best_bus_pos(opt: &Opt, total_distance: f64, lisa: Point) -> f64 {
|
||||||
let x_l = lisa.x(); // a
|
let x_l = lisa.x(); // a
|
||||||
let y_l = lisa.y(); // b
|
let y_l = lisa.y(); // b
|
||||||
|
|
||||||
// y-Koordinate des Busses: d
|
// y-Koordinate des Busses: d
|
||||||
// Länge, die Lisa noch laufen muss: l
|
// Länge, die Lisa noch laufen muss: l
|
||||||
// Verhältnis beider Geschwindigkeiten: x = bus / lisa
|
// Verhältnis beider Geschwindigkeiten: x = bus / lisa
|
||||||
|
Loading…
Reference in New Issue
Block a user