mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-11-04 01:59:35 +00:00
Interleave for wind on path
This commit is contained in:
1 parent
772965736d
commit
a8891d2508
2 files changed
+12
-8
No files matched your search
+10
-6
@@ -153,6 +153,15 @@ public class WindFieldCanvasOverlay extends FullCanvasOverlay implements TimeLis
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected void drawScaledArrow(WindDTO windDTO, double angle, int index) {
|
||||||
|
|
||||||
|
double aWidth = Math.max(1., (windDTO.trueWindSpeedInMetersPerSecond/3.));
|
||||||
|
double aLength = Math.max(10., (3.*windDTO.trueWindSpeedInMetersPerSecond));
|
||||||
|
//logger.info("windspeed: "+windDTO.trueWindSpeedInMetersPerSecond+", aWidth: "+aWidth+", aLength: "+aLength);
|
||||||
|
drawArrow(windDTO, angle, aLength, aWidth, index);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
protected void drawWindField(final List<WindDTO> windDTOList) {
|
protected void drawWindField(final List<WindDTO> windDTOList) {
|
||||||
clear();
|
clear();
|
||||||
if (windDTOList != null && windDTOList.size() > 0) {
|
if (windDTOList != null && windDTOList.size() > 0) {
|
||||||
@@ -160,13 +169,8 @@ public class WindFieldCanvasOverlay extends FullCanvasOverlay implements TimeLis
|
|||||||
int index = 0;
|
int index = 0;
|
||||||
while (windDTOIter.hasNext()) {
|
while (windDTOIter.hasNext()) {
|
||||||
WindDTO windDTO = windDTOIter.next();
|
WindDTO windDTO = windDTOIter.next();
|
||||||
//int aWidth = (int) Math.max(1, Math.min(2, Math.round(windDTO.trueWindSpeedInMetersPerSecond)));
|
|
||||||
double aWidth = Math.max(1., (windDTO.trueWindSpeedInMetersPerSecond/3.));
|
|
||||||
double aLength = Math.max(10., (3.*windDTO.trueWindSpeedInMetersPerSecond));
|
|
||||||
logger.info("windspeed: "+windDTO.trueWindSpeedInMetersPerSecond+", aWidth: "+aWidth+", aLength: "+aLength);
|
|
||||||
DegreeBearingImpl dbi = new DegreeBearingImpl(windDTO.trueWindBearingDeg);
|
DegreeBearingImpl dbi = new DegreeBearingImpl(windDTO.trueWindBearingDeg);
|
||||||
drawArrow(windDTO, dbi.getRadians(), aLength, aWidth, ++index);
|
drawScaledArrow(windDTO, dbi.getRadians(), ++index);
|
||||||
|
|
||||||
}
|
}
|
||||||
String title = "Wind Field at " + windDTOList.size() + " points.";
|
String title = "Wind Field at " + windDTOList.size() + " points.";
|
||||||
getCanvas().setTitle(title);
|
getCanvas().setTitle(title);
|
||||||
|
|||||||
+2
-2
@@ -60,11 +60,11 @@ public class WindFieldGeneratorOscillationImpl extends WindFieldGeneratorImpl im
|
|||||||
int midPoint = ncol/2;
|
int midPoint = ncol/2;
|
||||||
for (int i = 0; i <= midPoint; ++i) {
|
for (int i = 0; i <= midPoint; ++i) {
|
||||||
speed[i] = new KnotSpeedImpl(leftSpeed + i*(middleSpeed-leftSpeed)/(midPoint));
|
speed[i] = new KnotSpeedImpl(leftSpeed + i*(middleSpeed-leftSpeed)/(midPoint));
|
||||||
logger.info("index: "+i+"speed: "+speed[i]);
|
//logger.info("index: "+i+"speed: "+speed[i]);
|
||||||
}
|
}
|
||||||
for (int i = 1; i < ncol - midPoint; ++i) {
|
for (int i = 1; i < ncol - midPoint; ++i) {
|
||||||
speed[midPoint + i] = new KnotSpeedImpl(middleSpeed + i*(rightSpeed-middleSpeed)/(ncol - midPoint -1));
|
speed[midPoint + i] = new KnotSpeedImpl(middleSpeed + i*(rightSpeed-middleSpeed)/(ncol - midPoint -1));
|
||||||
logger.info("index: "+(midPoint+i)+"speed: "+speed[midPoint-1+i]);
|
//logger.info("index: "+(midPoint+i)+"speed: "+speed[midPoint-1+i]);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in new issue
Block a user