このページは機械翻訳を使用して翻訳されました。最新版の英語を参照するには、ここをクリックします。
fieldOfView
説明
fieldOfView( は、指定されたコニカル センサーに sensor)FieldOfView オブジェクトを追加し、地球上にコンターを描画します。各コンターは、シナリオの現在の状態に基づいて、sensor 内のコニカル センサーの視野を表します。
コンターの内側の位置は視野内にあります。ビュー コンターは、開いているすべての衛星シナリオ ビューアーに描画されます。コンターは、地球の表面と視野の円錐が交差する線です。視野円錐の半角はコニカル センサーの MaxViewAngle プロパティに等しく、円錐の軸はコニカル センサーの z 軸 (または照準) です。円錐の頂点はコニカル センサーの位置にあります。円錐は、コニカル センサーの正のボディ z 軸に沿って広くなります。
fieldOfView( は、1 つ以上の名前と値の引数を使用してオプションを指定します。sensor,Name,Value)
fov = fieldOfView(___)
例
開始時刻が 2021 年 6 月 15 日午前 8 時 55 分 UTC、終了時刻が 5 日後の衛星シナリオを作成します。シミュレーションのサンプル時間を 60 秒に設定します。
startTime = datetime(2021,6,21,8,55,0);
stopTime = startTime + days(5);
sampleTime = 60;                                      % seconds
sc = satelliteScenario(startTime,stopTime,sampleTime)sc = 
  satelliteScenario with properties:
         StartTime: 21-Jun-2021 08:55:00
          StopTime: 26-Jun-2021 08:55:00
        SampleTime: 60
      AutoSimulate: 1
        Satellites: [1×0 matlabshared.satellitescenario.Satellite]
    GroundStations: [1×0 matlabshared.satellitescenario.GroundStation]
         Platforms: [1×0 matlabshared.satellitescenario.Platform]
           Viewers: [0×0 matlabshared.satellitescenario.Viewer]
          AutoShow: 1
ケプラーの軌道要素を使用して、シナリオに衛星を追加します。
semiMajorAxis = 7878137; % meters eccentricity = 0; inclination = 50; % degrees rightAscensionOfAscendingNode = 0; % degrees argumentOfPeriapsis = 0; % degrees trueAnomaly = 50; % degrees sat = satellite(sc,semiMajorAxis,eccentricity,inclination,rightAscensionOfAscendingNode, ... argumentOfPeriapsis,trueAnomaly)
sat = 
  Satellite with properties:
                  Name:  Satellite 1
                    ID:  1
        ConicalSensors:  [1x0 matlabshared.satellitescenario.ConicalSensor]
               Gimbals:  [1x0 matlabshared.satellitescenario.Gimbal]
          Transmitters:  [1x0 satcom.satellitescenario.Transmitter]
             Receivers:  [1x0 satcom.satellitescenario.Receiver]
              Accesses:  [1x0 matlabshared.satellitescenario.Access]
               Eclipse:  [1x0 Aero.satellitescenario.Eclipse]
           GroundTrack:  [1x1 matlabshared.satellitescenario.GroundTrack]
                 Orbit:  [1x1 matlabshared.satellitescenario.Orbit]
        CoordinateAxes:  [1x1 matlabshared.satellitescenario.CoordinateAxes]
       OrbitPropagator:  sgp4
           MarkerColor:  [0.059 1 1]
            MarkerSize:  6
             ShowLabel:  true
        LabelFontColor:  [1 1 1]
         LabelFontSize:  15
         Visual3DModel:  
    Visual3DModelScale:  1
撮影する場所を表す地上局をシナリオに追加します。
gs = groundStation(sc,Name="Location to Photograph", ... Latitude=42.3001,Longitude=-71.3504) % degrees
gs = 
  GroundStation with properties:
                 Name:  Location to Photograph
                   ID:  2
             Latitude:  42.3001 degrees
            Longitude:  -71.3504 degrees
             Altitude:  0 meters
    MinElevationAngle:  0 degrees
       ConicalSensors:  [1x0 matlabshared.satellitescenario.ConicalSensor]
              Gimbals:  [1x0 matlabshared.satellitescenario.Gimbal]
         Transmitters:  [1x0 satcom.satellitescenario.Transmitter]
            Receivers:  [1x0 satcom.satellitescenario.Receiver]
             Accesses:  [1x0 matlabshared.satellitescenario.Access]
              Eclipse:  [1x0 Aero.satellitescenario.Eclipse]
       CoordinateAxes:  [1x1 matlabshared.satellitescenario.CoordinateAxes]
          MarkerColor:  [1 0.4118 0.1608]
           MarkerSize:  6
            ShowLabel:  true
       LabelFontColor:  [1 1 1]
        LabelFontSize:  15
衛星にジンバルを追加します。このジンバルは衛星とは独立して操縦できます。
g = gimbal(sat)
g = 
  Gimbal with properties:
                Name:  Gimbal 3
                  ID:  3
    MountingLocation:  [0; 0; 0] meters
      MountingAngles:  [0; 0; 0] degrees
      ConicalSensors:  [1x0 matlabshared.satellitescenario.ConicalSensor]
        Transmitters:  [1x0 satcom.satellitescenario.Transmitter]
           Receivers:  [1x0 satcom.satellitescenario.Receiver]
      CoordinateAxes:  [1x1 matlabshared.satellitescenario.CoordinateAxes]
ジンバルを使用して撮影する場所を追跡します。
pointAt(g,gs);
ジンバルにコニカル センサーを追加します。このセンサーはカメラを表します。視野を60度に設定します。
camSensor = conicalSensor(g,MaxViewAngle=60)
camSensor = 
  ConicalSensor with properties:
                Name:  Conical sensor 4
                  ID:  4
    MountingLocation:  [0; 0; 0] meters
      MountingAngles:  [0; 0; 0] degrees
        MaxViewAngle:  60 degrees
            Accesses:  [1x0 matlabshared.satellitescenario.Access]
         FieldOfView:  [0x0 matlabshared.satellitescenario.FieldOfView]
      CoordinateAxes:  [1x1 matlabshared.satellitescenario.CoordinateAxes]
カメラと撮影場所の間にあるコニカル センサーにアクセス解析を追加します。
ac = access(camSensor,gs)
ac = 
  Access with properties:
    Sequence:  [4 2]
    LineWidth:  3
    LineColor:  [0.3922 0.8314 0.0745]
衛星シナリオ ビューアーを使用して、カメラの視野を可視化します。
v = satelliteScenarioViewer(sc); fieldOfView(camSensor);

カメラが地理的サイトを視認できる間隔を決定します。
t = accessIntervals(ac)
t=35×8 table
          Source                   Target             IntervalNumber         StartTime                EndTime           Duration    StartOrbit    EndOrbit
    __________________    ________________________    ______________    ____________________    ____________________    ________    __________    ________
    "Conical sensor 4"    "Location to Photograph"           1          21-Jun-2021 10:38:00    21-Jun-2021 10:55:00      1020           1            2   
    "Conical sensor 4"    "Location to Photograph"           2          21-Jun-2021 12:36:00    21-Jun-2021 12:58:00      1320           2            3   
    "Conical sensor 4"    "Location to Photograph"           3          21-Jun-2021 14:37:00    21-Jun-2021 15:01:00      1440           3            4   
    "Conical sensor 4"    "Location to Photograph"           4          21-Jun-2021 16:41:00    21-Jun-2021 17:04:00      1380           5            5   
    "Conical sensor 4"    "Location to Photograph"           5          21-Jun-2021 18:44:00    21-Jun-2021 19:07:00      1380           6            6   
    "Conical sensor 4"    "Location to Photograph"           6          21-Jun-2021 20:46:00    21-Jun-2021 21:08:00      1320           7            7   
    "Conical sensor 4"    "Location to Photograph"           7          21-Jun-2021 22:50:00    21-Jun-2021 23:04:00       840           8            8   
    "Conical sensor 4"    "Location to Photograph"           8          22-Jun-2021 09:51:00    22-Jun-2021 10:02:00       660          13           13   
    "Conical sensor 4"    "Location to Photograph"           9          22-Jun-2021 11:46:00    22-Jun-2021 12:07:00      1260          14           15   
    "Conical sensor 4"    "Location to Photograph"          10          22-Jun-2021 13:46:00    22-Jun-2021 14:10:00      1440          15           16   
    "Conical sensor 4"    "Location to Photograph"          11          22-Jun-2021 15:49:00    22-Jun-2021 16:13:00      1440          16           17   
    "Conical sensor 4"    "Location to Photograph"          12          22-Jun-2021 17:53:00    22-Jun-2021 18:16:00      1380          18           18   
    "Conical sensor 4"    "Location to Photograph"          13          22-Jun-2021 19:55:00    22-Jun-2021 20:18:00      1380          19           19   
    "Conical sensor 4"    "Location to Photograph"          14          22-Jun-2021 21:58:00    22-Jun-2021 22:16:00      1080          20           20   
    "Conical sensor 4"    "Location to Photograph"          15          23-Jun-2021 10:56:00    23-Jun-2021 11:16:00      1200          26           27   
    "Conical sensor 4"    "Location to Photograph"          16          23-Jun-2021 12:56:00    23-Jun-2021 13:19:00      1380          27           28   
      ⋮
最大再訪問時間を時間単位で計算します。
startTimes = t.StartTime;
endTimes = t.EndTime;
revisitTimes = hours(startTimes(2:end) - endTimes(1:end-1));
maxRevisitTime = max(revisitTimes)                             % hoursmaxRevisitTime = 12.666666666666666
カメラがその場所を撮影した再訪問時間を可視化します。
play(sc);

入力引数
コニカル センサー。ConicalSensor オブジェクトとして指定されます。
名前と値の引数
オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで、Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。 
R2021a より前では、コンマを使用して名前と値をそれぞれ区切り、Name を引用符で囲みます。 
例: 'LineWidth',2.5 は視野の線幅を 2.5 ピクセルに設定します。
衛星シナリオ ビューアー。スカラー、ベクトル、または satelliteScenarioViewer オブジェクトの配列として指定されます。シナリオの AutoSimulate プロパティが false の場合、シナリオに衛星を追加すると、以前使用可能だったタイムラインおよび再生ウィジェットがすべて無効になります。
視野のコンターを描くために使用されるコンター点の数。4 以上の整数として指定します。
データ型: double
ビュー コンターの視覚的な幅(ピクセル単位)。範囲(0~10)のスカラーとして指定します。
ライン幅をピクセルの幅より細くすることはできません。システムでライン幅をピクセルの幅より細い値に設定すると、ラインは 1 ピクセル幅で表示されます。
ビュー コンターの色。RGB トリプレット、16 進カラー コード、色名、または短縮名として指定します。
カスタム色を使用する場合は、RGB 3 成分または 16 進数カラー コードを指定します。
- RGB 3 成分は、色の赤、緑、青成分の強度値を指定する 3 要素の行ベクトルです。強度値は - [0,1]の範囲でなければなりません。たとえば- [0.4 0.6 0.7]のようになります。
- 16 進数カラー コードは、ハッシュ記号 ( - #) で始まり、3 桁または 6 桁の- 0から- Fまでの範囲の 16 進数が続く string スカラーまたは文字ベクトルです。これらの値では大文字小文字は区別されません。したがって、カラー コード- "#FF8800"、- "#ff8800"、- "#F80"、および- "#f80"は等価です。
あるいは、名前を使用して一部の一般的な色を指定できます。次の表に、名前の付いた色オプション、等価の RGB 3 成分、および 16 進数カラー コードを示します。
| 色名 | 省略名 | RGB 3 成分 | 16 進数カラー コード | 外観 | 
|---|---|---|---|---|
| "red" | "r" | [1 0 0] | "#FF0000" | 
 | 
| "green" | "g" | [0 1 0] | "#00FF00" | 
 | 
| "blue" | "b" | [0 0 1] | "#0000FF" | 
 | 
| "cyan" | "c" | [0 1 1] | "#00FFFF" | 
 | 
| "magenta" | "m" | [1 0 1] | "#FF00FF" | 
 | 
| "yellow" | "y" | [1 1 0] | "#FFFF00" | 
 | 
| "black" | "k" | [0 0 0] | "#000000" | 
 | 
| "white" | "w" | [1 1 1] | "#FFFFFF" | 
 | 
| "none" | 該当なし | 該当なし | 該当なし | 色なし | 
次の表に、プロット用のライト テーマとダーク テーマの既定のカラー パレットを示します。
| パレット | パレットの色 | 
|---|---|
| 
 R2025a より前: ほとんどのプロットで、これらの色が既定で使用されます。 | 
 | 
| 
 | 
 | 
orderedcolors 関数と rgb2hex 関数を使用すると、これらのパレットの RGB 3 成分および 16 進数カラー コードを取得できます。たとえば、"gem" パレットの RGB 3 成分を取得し、16 進数カラー コードに変換します。
RGB = orderedcolors("gem");
H = rgb2hex(RGB);R2023b より前: RGB = get(groot,"FactoryAxesColorOrder") を使用して、RGB 3 成分を取得します。
R2024a より前: H = compose("#%02X%02X%02X",round(RGB*255)) を使用して、16 進数カラー コードを取得します。
例: 'blue'
例: [0 0 1]
例: '#0000FF'
出力引数
コニカル センサーの視野。FieldOfView オブジェクトの行ベクトルとして返されます。
メモ
AutoSimulate プロパティが false に設定されている場合、fieldOfView 関数を呼び出すには SimulationStatus が NotStarted と等しくなければなりません。それ以外の場合は、restart 関数を使用して SimulationStatus を NotStarted にリセットし、シミュレーション データを消去します。
バージョン履歴
R2021a で導入
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)









