Add chain home land stuff

This commit is contained in:
2026-05-25 14:46:42 -07:00
parent 0575724538
commit 5900e10807
2 changed files with 88 additions and 15 deletions

101
CLAUDE.md
View File

@@ -612,9 +612,6 @@ Individual scope informations
brightness will no longer increase, but there will be a slight blooming of brightness will no longer increase, but there will be a slight blooming of
the target. the target.
This is suggested example psudeo code for the target shader
for both the radar equation as well as the blooming
Note that values will change depending on the scope being used (traffic control or boat) Note that values will change depending on the scope being used (traffic control or boat)
------------------------------------------------------------------- -------------------------------------------------------------------
@@ -783,19 +780,89 @@ PPI Radar Equiation
GROUND TERRAIN AND LIDAR DATA PROCESSING GROUND TERRAIN AND LIDAR DATA PROCESSING
Note: Do not do this for the Chain Home Radar. Theu user will heve enough
of a challenging dealing with the targets and noise alone.
Note that the following files already exist in the project directory Note that the following files already exist in the project directory
in the following: in the following:
map map
map/lidar_raw map/lidar_processed
map/lidar_raw/wa2016_west_dem_J1364939.zip
map/lidar_raw/wa2022_nooksack_dem_J1364940.zip
map/charts_enc map/charts_enc
map/charts_enc/US5WA45M.000 map/charts_enc/US5WA45M.000
map/charts_enc/n48_w123_1arc_v3.tif map/charts_enc/n48_w123_1arc_v3.tif
map/lidar_raw
map/lidar_raw/wa2022_nooksack_dem_J1364940.zip
map/lidar_raw/wa2016_west_dem_J1364939.zip
map/gebco_for_chain_home
map/gebco_for_chain_home/gebco_2026_n52.866_s46.397_w-3.93_e2.784_jpg_hs.jpg
For Chain Home only:
New file added -
map/gebco_for_chain_home/gebco_2026_n52.866_s46.397_w-3.93_e2.784_jpg_hs.jpg
The file map/gebco_for_chain_home/gebco_2026_n52.866_s46.397_w-3.93_e2.784_jpg_hs.jpg
is a GEBCO hillshaded JPEG. The _hs suffix means "hillshade" — a directional-lighting
visual render of the terrain. It is NOT raw elevation data. Pixel color values cannot
be directly converted to meters above sea level.
Bounding box (from filename):
North: 52.866 N
South: 46.397 N
West: -3.930 E (3.930 W)
East: 2.784 E
RAF Ventnor (50.600 N, -1.183 E) maps to approximately pixel (659, 544)
in a 1611x1553 image (top-left origin, Y increases downward).
UV coordinate formula for a given lat/lon in the shader:
u = (longitude - LON_W) / (LON_E - LON_W)
v = (LAT_N - latitude) / (LAT_N - LAT_S) // v=0 at top
LAND vs. WATER DISCRIMINATION
Since this is a hillshade image without elevation values, land and water must be
distinguished by color hue in the fragment shader. Convert the RGB texture sample
to HSV and apply these thresholds:
Ocean (no echo): HSV hue approximately 170 to 220 degrees
Land (echo): HSV hue approximately 50 to 170 degrees
These are defined in settings.h as GEBCO_OCEAN_HUE_MIN_DEG and GEBCO_OCEAN_HUE_MAX_DEG
so they can be tuned without rewriting shader code.
Because JPEG compression blurs color at coastline boundaries, apply a small
soft transition zone (GEBCO_COAST_BLEND_UV_WIDTH in settings.h) to avoid
a hard pixel-boundary artifact at the shoreline.
COVERAGE NOTE
The 200nm range circle from Ventnor extends beyond the image to the north, east,
and west. Any radar sample point whose lat/lon falls outside the bounding box
should be treated as open ocean (zero land echo). The primary threat axis
(English Channel, French coast, Belgian coast) is fully within the image.
ELEVATION LIMITATION
This file provides land/water masking only, not actual terrain height. All land
returns use a single fixed amplitude defined in settings.h as
CHAIN_HOME_LAND_ECHO_AMPLITUDE. There is no line-of-sight terrain shadowing
for Chain Home; the 150 degree floodlight beam and 12m wavelength make
fine terrain masking historically irrelevant for this simulation.
OPTIONAL UPGRADE PATH
If higher fidelity is later needed, replace with the raw GEBCO NetCDF grid
(GEBCO_2024.nc, freely downloadable from gebco.net). That file provides actual
elevation in meters on a 15 arc-second grid and can be loaded as a GL_R32F
texture giving real line-of-sight capability.
SETTINGS.H ENTRIES FOR CHAIN HOME TERRAIN
#define CHAIN_HOME_MAP_LAT_N 52.866f
#define CHAIN_HOME_MAP_LAT_S 46.397f
#define CHAIN_HOME_MAP_LON_W -3.930f
#define CHAIN_HOME_MAP_LON_E 2.784f
#define CHAIN_HOME_LAND_ECHO_AMPLITUDE 0.6f // fraction of max A-scope deflection
#define GEBCO_OCEAN_HUE_MIN_DEG 170.0f
#define GEBCO_OCEAN_HUE_MAX_DEG 220.0f
#define GEBCO_COAST_BLEND_UV_WIDTH 0.003f // ~1-2 pixels at this resolution
#define ENABLE_CHAIN_HOME_TERRAIN 1 // set 0 to suppress land clutter
For all except for Chain Home:
This needs to be processed into a fragment shader via ray casting. This needs to be processed into a fragment shader via ray casting.
@@ -916,6 +983,17 @@ PPI Radar Equiation
coverage boundaries when compositing the height-map. */ coverage boundaries when compositing the height-map. */
#define DEBUG_SHOW_LIDAR_COVERAGE 0 #define DEBUG_SHOW_LIDAR_COVERAGE 0
=============================================================
Sections still to be worked on:
Details of the Traffic Cop and the PostGres database. These
two subjects are interrelated and will be discussed later
Details on the simulator will be discussed later.
Details on the relationship between the simulator and the movement of the
police boat will be discussed later.
================================== ==================================
@@ -923,8 +1001,3 @@ End of discussion
================================== ==================================
settings.h file suggestions:
The settings.h file needs to improve variables that the developer may need
to change for facilitate troubleshooting. Need ability to change amplifier gain,
radar beam width, antenna, gain, and so on.

Binary file not shown.

After

Width:  |  Height:  |  Size: 599 KiB