├── InitialiseJ2.m
├── J2Propagator.slx
├── LICENSE
├── README.md
├── RandomSatTLE.txt
├── earthSatSys_Ideal.WRL
├── keplerEq.m
└── texture
├── Marble3.jpg
├── SolarPanel.jpg
├── Stars.gif
└── world_physical_enhanced_giclee_lg.jpg
/InitialiseJ2.m:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nauaneed/OrbitPropagator/3a3fea6d72950142d48fc37de7df1fc9dc35d271/InitialiseJ2.m
--------------------------------------------------------------------------------
/J2Propagator.slx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nauaneed/OrbitPropagator/3a3fea6d72950142d48fc37de7df1fc9dc35d271/J2Propagator.slx
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | GNU AFFERO GENERAL PUBLIC LICENSE
2 | Version 3, 19 November 2007
3 |
4 | Copyright (C) 2007 Free Software Foundation, Inc.
5 | Everyone is permitted to copy and distribute verbatim copies
6 | of this license document, but changing it is not allowed.
7 |
8 | Preamble
9 |
10 | The GNU Affero General Public License is a free, copyleft license for
11 | software and other kinds of works, specifically designed to ensure
12 | cooperation with the community in the case of network server software.
13 |
14 | The licenses for most software and other practical works are designed
15 | to take away your freedom to share and change the works. By contrast,
16 | our General Public Licenses are intended to guarantee your freedom to
17 | share and change all versions of a program--to make sure it remains free
18 | software for all its users.
19 |
20 | When we speak of free software, we are referring to freedom, not
21 | price. Our General Public Licenses are designed to make sure that you
22 | have the freedom to distribute copies of free software (and charge for
23 | them if you wish), that you receive source code or can get it if you
24 | want it, that you can change the software or use pieces of it in new
25 | free programs, and that you know you can do these things.
26 |
27 | Developers that use our General Public Licenses protect your rights
28 | with two steps: (1) assert copyright on the software, and (2) offer
29 | you this License which gives you legal permission to copy, distribute
30 | and/or modify the software.
31 |
32 | A secondary benefit of defending all users' freedom is that
33 | improvements made in alternate versions of the program, if they
34 | receive widespread use, become available for other developers to
35 | incorporate. Many developers of free software are heartened and
36 | encouraged by the resulting cooperation. However, in the case of
37 | software used on network servers, this result may fail to come about.
38 | The GNU General Public License permits making a modified version and
39 | letting the public access it on a server without ever releasing its
40 | source code to the public.
41 |
42 | The GNU Affero General Public License is designed specifically to
43 | ensure that, in such cases, the modified source code becomes available
44 | to the community. It requires the operator of a network server to
45 | provide the source code of the modified version running there to the
46 | users of that server. Therefore, public use of a modified version, on
47 | a publicly accessible server, gives the public access to the source
48 | code of the modified version.
49 |
50 | An older license, called the Affero General Public License and
51 | published by Affero, was designed to accomplish similar goals. This is
52 | a different license, not a version of the Affero GPL, but Affero has
53 | released a new version of the Affero GPL which permits relicensing under
54 | this license.
55 |
56 | The precise terms and conditions for copying, distribution and
57 | modification follow.
58 |
59 | TERMS AND CONDITIONS
60 |
61 | 0. Definitions.
62 |
63 | "This License" refers to version 3 of the GNU Affero General Public License.
64 |
65 | "Copyright" also means copyright-like laws that apply to other kinds of
66 | works, such as semiconductor masks.
67 |
68 | "The Program" refers to any copyrightable work licensed under this
69 | License. Each licensee is addressed as "you". "Licensees" and
70 | "recipients" may be individuals or organizations.
71 |
72 | To "modify" a work means to copy from or adapt all or part of the work
73 | in a fashion requiring copyright permission, other than the making of an
74 | exact copy. The resulting work is called a "modified version" of the
75 | earlier work or a work "based on" the earlier work.
76 |
77 | A "covered work" means either the unmodified Program or a work based
78 | on the Program.
79 |
80 | To "propagate" a work means to do anything with it that, without
81 | permission, would make you directly or secondarily liable for
82 | infringement under applicable copyright law, except executing it on a
83 | computer or modifying a private copy. Propagation includes copying,
84 | distribution (with or without modification), making available to the
85 | public, and in some countries other activities as well.
86 |
87 | To "convey" a work means any kind of propagation that enables other
88 | parties to make or receive copies. Mere interaction with a user through
89 | a computer network, with no transfer of a copy, is not conveying.
90 |
91 | An interactive user interface displays "Appropriate Legal Notices"
92 | to the extent that it includes a convenient and prominently visible
93 | feature that (1) displays an appropriate copyright notice, and (2)
94 | tells the user that there is no warranty for the work (except to the
95 | extent that warranties are provided), that licensees may convey the
96 | work under this License, and how to view a copy of this License. If
97 | the interface presents a list of user commands or options, such as a
98 | menu, a prominent item in the list meets this criterion.
99 |
100 | 1. Source Code.
101 |
102 | The "source code" for a work means the preferred form of the work
103 | for making modifications to it. "Object code" means any non-source
104 | form of a work.
105 |
106 | A "Standard Interface" means an interface that either is an official
107 | standard defined by a recognized standards body, or, in the case of
108 | interfaces specified for a particular programming language, one that
109 | is widely used among developers working in that language.
110 |
111 | The "System Libraries" of an executable work include anything, other
112 | than the work as a whole, that (a) is included in the normal form of
113 | packaging a Major Component, but which is not part of that Major
114 | Component, and (b) serves only to enable use of the work with that
115 | Major Component, or to implement a Standard Interface for which an
116 | implementation is available to the public in source code form. A
117 | "Major Component", in this context, means a major essential component
118 | (kernel, window system, and so on) of the specific operating system
119 | (if any) on which the executable work runs, or a compiler used to
120 | produce the work, or an object code interpreter used to run it.
121 |
122 | The "Corresponding Source" for a work in object code form means all
123 | the source code needed to generate, install, and (for an executable
124 | work) run the object code and to modify the work, including scripts to
125 | control those activities. However, it does not include the work's
126 | System Libraries, or general-purpose tools or generally available free
127 | programs which are used unmodified in performing those activities but
128 | which are not part of the work. For example, Corresponding Source
129 | includes interface definition files associated with source files for
130 | the work, and the source code for shared libraries and dynamically
131 | linked subprograms that the work is specifically designed to require,
132 | such as by intimate data communication or control flow between those
133 | subprograms and other parts of the work.
134 |
135 | The Corresponding Source need not include anything that users
136 | can regenerate automatically from other parts of the Corresponding
137 | Source.
138 |
139 | The Corresponding Source for a work in source code form is that
140 | same work.
141 |
142 | 2. Basic Permissions.
143 |
144 | All rights granted under this License are granted for the term of
145 | copyright on the Program, and are irrevocable provided the stated
146 | conditions are met. This License explicitly affirms your unlimited
147 | permission to run the unmodified Program. The output from running a
148 | covered work is covered by this License only if the output, given its
149 | content, constitutes a covered work. This License acknowledges your
150 | rights of fair use or other equivalent, as provided by copyright law.
151 |
152 | You may make, run and propagate covered works that you do not
153 | convey, without conditions so long as your license otherwise remains
154 | in force. You may convey covered works to others for the sole purpose
155 | of having them make modifications exclusively for you, or provide you
156 | with facilities for running those works, provided that you comply with
157 | the terms of this License in conveying all material for which you do
158 | not control copyright. Those thus making or running the covered works
159 | for you must do so exclusively on your behalf, under your direction
160 | and control, on terms that prohibit them from making any copies of
161 | your copyrighted material outside their relationship with you.
162 |
163 | Conveying under any other circumstances is permitted solely under
164 | the conditions stated below. Sublicensing is not allowed; section 10
165 | makes it unnecessary.
166 |
167 | 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
168 |
169 | No covered work shall be deemed part of an effective technological
170 | measure under any applicable law fulfilling obligations under article
171 | 11 of the WIPO copyright treaty adopted on 20 December 1996, or
172 | similar laws prohibiting or restricting circumvention of such
173 | measures.
174 |
175 | When you convey a covered work, you waive any legal power to forbid
176 | circumvention of technological measures to the extent such circumvention
177 | is effected by exercising rights under this License with respect to
178 | the covered work, and you disclaim any intention to limit operation or
179 | modification of the work as a means of enforcing, against the work's
180 | users, your or third parties' legal rights to forbid circumvention of
181 | technological measures.
182 |
183 | 4. Conveying Verbatim Copies.
184 |
185 | You may convey verbatim copies of the Program's source code as you
186 | receive it, in any medium, provided that you conspicuously and
187 | appropriately publish on each copy an appropriate copyright notice;
188 | keep intact all notices stating that this License and any
189 | non-permissive terms added in accord with section 7 apply to the code;
190 | keep intact all notices of the absence of any warranty; and give all
191 | recipients a copy of this License along with the Program.
192 |
193 | You may charge any price or no price for each copy that you convey,
194 | and you may offer support or warranty protection for a fee.
195 |
196 | 5. Conveying Modified Source Versions.
197 |
198 | You may convey a work based on the Program, or the modifications to
199 | produce it from the Program, in the form of source code under the
200 | terms of section 4, provided that you also meet all of these conditions:
201 |
202 | a) The work must carry prominent notices stating that you modified
203 | it, and giving a relevant date.
204 |
205 | b) The work must carry prominent notices stating that it is
206 | released under this License and any conditions added under section
207 | 7. This requirement modifies the requirement in section 4 to
208 | "keep intact all notices".
209 |
210 | c) You must license the entire work, as a whole, under this
211 | License to anyone who comes into possession of a copy. This
212 | License will therefore apply, along with any applicable section 7
213 | additional terms, to the whole of the work, and all its parts,
214 | regardless of how they are packaged. This License gives no
215 | permission to license the work in any other way, but it does not
216 | invalidate such permission if you have separately received it.
217 |
218 | d) If the work has interactive user interfaces, each must display
219 | Appropriate Legal Notices; however, if the Program has interactive
220 | interfaces that do not display Appropriate Legal Notices, your
221 | work need not make them do so.
222 |
223 | A compilation of a covered work with other separate and independent
224 | works, which are not by their nature extensions of the covered work,
225 | and which are not combined with it such as to form a larger program,
226 | in or on a volume of a storage or distribution medium, is called an
227 | "aggregate" if the compilation and its resulting copyright are not
228 | used to limit the access or legal rights of the compilation's users
229 | beyond what the individual works permit. Inclusion of a covered work
230 | in an aggregate does not cause this License to apply to the other
231 | parts of the aggregate.
232 |
233 | 6. Conveying Non-Source Forms.
234 |
235 | You may convey a covered work in object code form under the terms
236 | of sections 4 and 5, provided that you also convey the
237 | machine-readable Corresponding Source under the terms of this License,
238 | in one of these ways:
239 |
240 | a) Convey the object code in, or embodied in, a physical product
241 | (including a physical distribution medium), accompanied by the
242 | Corresponding Source fixed on a durable physical medium
243 | customarily used for software interchange.
244 |
245 | b) Convey the object code in, or embodied in, a physical product
246 | (including a physical distribution medium), accompanied by a
247 | written offer, valid for at least three years and valid for as
248 | long as you offer spare parts or customer support for that product
249 | model, to give anyone who possesses the object code either (1) a
250 | copy of the Corresponding Source for all the software in the
251 | product that is covered by this License, on a durable physical
252 | medium customarily used for software interchange, for a price no
253 | more than your reasonable cost of physically performing this
254 | conveying of source, or (2) access to copy the
255 | Corresponding Source from a network server at no charge.
256 |
257 | c) Convey individual copies of the object code with a copy of the
258 | written offer to provide the Corresponding Source. This
259 | alternative is allowed only occasionally and noncommercially, and
260 | only if you received the object code with such an offer, in accord
261 | with subsection 6b.
262 |
263 | d) Convey the object code by offering access from a designated
264 | place (gratis or for a charge), and offer equivalent access to the
265 | Corresponding Source in the same way through the same place at no
266 | further charge. You need not require recipients to copy the
267 | Corresponding Source along with the object code. If the place to
268 | copy the object code is a network server, the Corresponding Source
269 | may be on a different server (operated by you or a third party)
270 | that supports equivalent copying facilities, provided you maintain
271 | clear directions next to the object code saying where to find the
272 | Corresponding Source. Regardless of what server hosts the
273 | Corresponding Source, you remain obligated to ensure that it is
274 | available for as long as needed to satisfy these requirements.
275 |
276 | e) Convey the object code using peer-to-peer transmission, provided
277 | you inform other peers where the object code and Corresponding
278 | Source of the work are being offered to the general public at no
279 | charge under subsection 6d.
280 |
281 | A separable portion of the object code, whose source code is excluded
282 | from the Corresponding Source as a System Library, need not be
283 | included in conveying the object code work.
284 |
285 | A "User Product" is either (1) a "consumer product", which means any
286 | tangible personal property which is normally used for personal, family,
287 | or household purposes, or (2) anything designed or sold for incorporation
288 | into a dwelling. In determining whether a product is a consumer product,
289 | doubtful cases shall be resolved in favor of coverage. For a particular
290 | product received by a particular user, "normally used" refers to a
291 | typical or common use of that class of product, regardless of the status
292 | of the particular user or of the way in which the particular user
293 | actually uses, or expects or is expected to use, the product. A product
294 | is a consumer product regardless of whether the product has substantial
295 | commercial, industrial or non-consumer uses, unless such uses represent
296 | the only significant mode of use of the product.
297 |
298 | "Installation Information" for a User Product means any methods,
299 | procedures, authorization keys, or other information required to install
300 | and execute modified versions of a covered work in that User Product from
301 | a modified version of its Corresponding Source. The information must
302 | suffice to ensure that the continued functioning of the modified object
303 | code is in no case prevented or interfered with solely because
304 | modification has been made.
305 |
306 | If you convey an object code work under this section in, or with, or
307 | specifically for use in, a User Product, and the conveying occurs as
308 | part of a transaction in which the right of possession and use of the
309 | User Product is transferred to the recipient in perpetuity or for a
310 | fixed term (regardless of how the transaction is characterized), the
311 | Corresponding Source conveyed under this section must be accompanied
312 | by the Installation Information. But this requirement does not apply
313 | if neither you nor any third party retains the ability to install
314 | modified object code on the User Product (for example, the work has
315 | been installed in ROM).
316 |
317 | The requirement to provide Installation Information does not include a
318 | requirement to continue to provide support service, warranty, or updates
319 | for a work that has been modified or installed by the recipient, or for
320 | the User Product in which it has been modified or installed. Access to a
321 | network may be denied when the modification itself materially and
322 | adversely affects the operation of the network or violates the rules and
323 | protocols for communication across the network.
324 |
325 | Corresponding Source conveyed, and Installation Information provided,
326 | in accord with this section must be in a format that is publicly
327 | documented (and with an implementation available to the public in
328 | source code form), and must require no special password or key for
329 | unpacking, reading or copying.
330 |
331 | 7. Additional Terms.
332 |
333 | "Additional permissions" are terms that supplement the terms of this
334 | License by making exceptions from one or more of its conditions.
335 | Additional permissions that are applicable to the entire Program shall
336 | be treated as though they were included in this License, to the extent
337 | that they are valid under applicable law. If additional permissions
338 | apply only to part of the Program, that part may be used separately
339 | under those permissions, but the entire Program remains governed by
340 | this License without regard to the additional permissions.
341 |
342 | When you convey a copy of a covered work, you may at your option
343 | remove any additional permissions from that copy, or from any part of
344 | it. (Additional permissions may be written to require their own
345 | removal in certain cases when you modify the work.) You may place
346 | additional permissions on material, added by you to a covered work,
347 | for which you have or can give appropriate copyright permission.
348 |
349 | Notwithstanding any other provision of this License, for material you
350 | add to a covered work, you may (if authorized by the copyright holders of
351 | that material) supplement the terms of this License with terms:
352 |
353 | a) Disclaiming warranty or limiting liability differently from the
354 | terms of sections 15 and 16 of this License; or
355 |
356 | b) Requiring preservation of specified reasonable legal notices or
357 | author attributions in that material or in the Appropriate Legal
358 | Notices displayed by works containing it; or
359 |
360 | c) Prohibiting misrepresentation of the origin of that material, or
361 | requiring that modified versions of such material be marked in
362 | reasonable ways as different from the original version; or
363 |
364 | d) Limiting the use for publicity purposes of names of licensors or
365 | authors of the material; or
366 |
367 | e) Declining to grant rights under trademark law for use of some
368 | trade names, trademarks, or service marks; or
369 |
370 | f) Requiring indemnification of licensors and authors of that
371 | material by anyone who conveys the material (or modified versions of
372 | it) with contractual assumptions of liability to the recipient, for
373 | any liability that these contractual assumptions directly impose on
374 | those licensors and authors.
375 |
376 | All other non-permissive additional terms are considered "further
377 | restrictions" within the meaning of section 10. If the Program as you
378 | received it, or any part of it, contains a notice stating that it is
379 | governed by this License along with a term that is a further
380 | restriction, you may remove that term. If a license document contains
381 | a further restriction but permits relicensing or conveying under this
382 | License, you may add to a covered work material governed by the terms
383 | of that license document, provided that the further restriction does
384 | not survive such relicensing or conveying.
385 |
386 | If you add terms to a covered work in accord with this section, you
387 | must place, in the relevant source files, a statement of the
388 | additional terms that apply to those files, or a notice indicating
389 | where to find the applicable terms.
390 |
391 | Additional terms, permissive or non-permissive, may be stated in the
392 | form of a separately written license, or stated as exceptions;
393 | the above requirements apply either way.
394 |
395 | 8. Termination.
396 |
397 | You may not propagate or modify a covered work except as expressly
398 | provided under this License. Any attempt otherwise to propagate or
399 | modify it is void, and will automatically terminate your rights under
400 | this License (including any patent licenses granted under the third
401 | paragraph of section 11).
402 |
403 | However, if you cease all violation of this License, then your
404 | license from a particular copyright holder is reinstated (a)
405 | provisionally, unless and until the copyright holder explicitly and
406 | finally terminates your license, and (b) permanently, if the copyright
407 | holder fails to notify you of the violation by some reasonable means
408 | prior to 60 days after the cessation.
409 |
410 | Moreover, your license from a particular copyright holder is
411 | reinstated permanently if the copyright holder notifies you of the
412 | violation by some reasonable means, this is the first time you have
413 | received notice of violation of this License (for any work) from that
414 | copyright holder, and you cure the violation prior to 30 days after
415 | your receipt of the notice.
416 |
417 | Termination of your rights under this section does not terminate the
418 | licenses of parties who have received copies or rights from you under
419 | this License. If your rights have been terminated and not permanently
420 | reinstated, you do not qualify to receive new licenses for the same
421 | material under section 10.
422 |
423 | 9. Acceptance Not Required for Having Copies.
424 |
425 | You are not required to accept this License in order to receive or
426 | run a copy of the Program. Ancillary propagation of a covered work
427 | occurring solely as a consequence of using peer-to-peer transmission
428 | to receive a copy likewise does not require acceptance. However,
429 | nothing other than this License grants you permission to propagate or
430 | modify any covered work. These actions infringe copyright if you do
431 | not accept this License. Therefore, by modifying or propagating a
432 | covered work, you indicate your acceptance of this License to do so.
433 |
434 | 10. Automatic Licensing of Downstream Recipients.
435 |
436 | Each time you convey a covered work, the recipient automatically
437 | receives a license from the original licensors, to run, modify and
438 | propagate that work, subject to this License. You are not responsible
439 | for enforcing compliance by third parties with this License.
440 |
441 | An "entity transaction" is a transaction transferring control of an
442 | organization, or substantially all assets of one, or subdividing an
443 | organization, or merging organizations. If propagation of a covered
444 | work results from an entity transaction, each party to that
445 | transaction who receives a copy of the work also receives whatever
446 | licenses to the work the party's predecessor in interest had or could
447 | give under the previous paragraph, plus a right to possession of the
448 | Corresponding Source of the work from the predecessor in interest, if
449 | the predecessor has it or can get it with reasonable efforts.
450 |
451 | You may not impose any further restrictions on the exercise of the
452 | rights granted or affirmed under this License. For example, you may
453 | not impose a license fee, royalty, or other charge for exercise of
454 | rights granted under this License, and you may not initiate litigation
455 | (including a cross-claim or counterclaim in a lawsuit) alleging that
456 | any patent claim is infringed by making, using, selling, offering for
457 | sale, or importing the Program or any portion of it.
458 |
459 | 11. Patents.
460 |
461 | A "contributor" is a copyright holder who authorizes use under this
462 | License of the Program or a work on which the Program is based. The
463 | work thus licensed is called the contributor's "contributor version".
464 |
465 | A contributor's "essential patent claims" are all patent claims
466 | owned or controlled by the contributor, whether already acquired or
467 | hereafter acquired, that would be infringed by some manner, permitted
468 | by this License, of making, using, or selling its contributor version,
469 | but do not include claims that would be infringed only as a
470 | consequence of further modification of the contributor version. For
471 | purposes of this definition, "control" includes the right to grant
472 | patent sublicenses in a manner consistent with the requirements of
473 | this License.
474 |
475 | Each contributor grants you a non-exclusive, worldwide, royalty-free
476 | patent license under the contributor's essential patent claims, to
477 | make, use, sell, offer for sale, import and otherwise run, modify and
478 | propagate the contents of its contributor version.
479 |
480 | In the following three paragraphs, a "patent license" is any express
481 | agreement or commitment, however denominated, not to enforce a patent
482 | (such as an express permission to practice a patent or covenant not to
483 | sue for patent infringement). To "grant" such a patent license to a
484 | party means to make such an agreement or commitment not to enforce a
485 | patent against the party.
486 |
487 | If you convey a covered work, knowingly relying on a patent license,
488 | and the Corresponding Source of the work is not available for anyone
489 | to copy, free of charge and under the terms of this License, through a
490 | publicly available network server or other readily accessible means,
491 | then you must either (1) cause the Corresponding Source to be so
492 | available, or (2) arrange to deprive yourself of the benefit of the
493 | patent license for this particular work, or (3) arrange, in a manner
494 | consistent with the requirements of this License, to extend the patent
495 | license to downstream recipients. "Knowingly relying" means you have
496 | actual knowledge that, but for the patent license, your conveying the
497 | covered work in a country, or your recipient's use of the covered work
498 | in a country, would infringe one or more identifiable patents in that
499 | country that you have reason to believe are valid.
500 |
501 | If, pursuant to or in connection with a single transaction or
502 | arrangement, you convey, or propagate by procuring conveyance of, a
503 | covered work, and grant a patent license to some of the parties
504 | receiving the covered work authorizing them to use, propagate, modify
505 | or convey a specific copy of the covered work, then the patent license
506 | you grant is automatically extended to all recipients of the covered
507 | work and works based on it.
508 |
509 | A patent license is "discriminatory" if it does not include within
510 | the scope of its coverage, prohibits the exercise of, or is
511 | conditioned on the non-exercise of one or more of the rights that are
512 | specifically granted under this License. You may not convey a covered
513 | work if you are a party to an arrangement with a third party that is
514 | in the business of distributing software, under which you make payment
515 | to the third party based on the extent of your activity of conveying
516 | the work, and under which the third party grants, to any of the
517 | parties who would receive the covered work from you, a discriminatory
518 | patent license (a) in connection with copies of the covered work
519 | conveyed by you (or copies made from those copies), or (b) primarily
520 | for and in connection with specific products or compilations that
521 | contain the covered work, unless you entered into that arrangement,
522 | or that patent license was granted, prior to 28 March 2007.
523 |
524 | Nothing in this License shall be construed as excluding or limiting
525 | any implied license or other defenses to infringement that may
526 | otherwise be available to you under applicable patent law.
527 |
528 | 12. No Surrender of Others' Freedom.
529 |
530 | If conditions are imposed on you (whether by court order, agreement or
531 | otherwise) that contradict the conditions of this License, they do not
532 | excuse you from the conditions of this License. If you cannot convey a
533 | covered work so as to satisfy simultaneously your obligations under this
534 | License and any other pertinent obligations, then as a consequence you may
535 | not convey it at all. For example, if you agree to terms that obligate you
536 | to collect a royalty for further conveying from those to whom you convey
537 | the Program, the only way you could satisfy both those terms and this
538 | License would be to refrain entirely from conveying the Program.
539 |
540 | 13. Remote Network Interaction; Use with the GNU General Public License.
541 |
542 | Notwithstanding any other provision of this License, if you modify the
543 | Program, your modified version must prominently offer all users
544 | interacting with it remotely through a computer network (if your version
545 | supports such interaction) an opportunity to receive the Corresponding
546 | Source of your version by providing access to the Corresponding Source
547 | from a network server at no charge, through some standard or customary
548 | means of facilitating copying of software. This Corresponding Source
549 | shall include the Corresponding Source for any work covered by version 3
550 | of the GNU General Public License that is incorporated pursuant to the
551 | following paragraph.
552 |
553 | Notwithstanding any other provision of this License, you have
554 | permission to link or combine any covered work with a work licensed
555 | under version 3 of the GNU General Public License into a single
556 | combined work, and to convey the resulting work. The terms of this
557 | License will continue to apply to the part which is the covered work,
558 | but the work with which it is combined will remain governed by version
559 | 3 of the GNU General Public License.
560 |
561 | 14. Revised Versions of this License.
562 |
563 | The Free Software Foundation may publish revised and/or new versions of
564 | the GNU Affero General Public License from time to time. Such new versions
565 | will be similar in spirit to the present version, but may differ in detail to
566 | address new problems or concerns.
567 |
568 | Each version is given a distinguishing version number. If the
569 | Program specifies that a certain numbered version of the GNU Affero General
570 | Public License "or any later version" applies to it, you have the
571 | option of following the terms and conditions either of that numbered
572 | version or of any later version published by the Free Software
573 | Foundation. If the Program does not specify a version number of the
574 | GNU Affero General Public License, you may choose any version ever published
575 | by the Free Software Foundation.
576 |
577 | If the Program specifies that a proxy can decide which future
578 | versions of the GNU Affero General Public License can be used, that proxy's
579 | public statement of acceptance of a version permanently authorizes you
580 | to choose that version for the Program.
581 |
582 | Later license versions may give you additional or different
583 | permissions. However, no additional obligations are imposed on any
584 | author or copyright holder as a result of your choosing to follow a
585 | later version.
586 |
587 | 15. Disclaimer of Warranty.
588 |
589 | THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
590 | APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
591 | HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
592 | OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
593 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
594 | PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
595 | IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
596 | ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
597 |
598 | 16. Limitation of Liability.
599 |
600 | IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
601 | WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
602 | THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
603 | GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
604 | USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
605 | DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
606 | PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
607 | EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
608 | SUCH DAMAGES.
609 |
610 | 17. Interpretation of Sections 15 and 16.
611 |
612 | If the disclaimer of warranty and limitation of liability provided
613 | above cannot be given local legal effect according to their terms,
614 | reviewing courts shall apply local law that most closely approximates
615 | an absolute waiver of all civil liability in connection with the
616 | Program, unless a warranty or assumption of liability accompanies a
617 | copy of the Program in return for a fee.
618 |
619 | END OF TERMS AND CONDITIONS
620 |
621 | How to Apply These Terms to Your New Programs
622 |
623 | If you develop a new program, and you want it to be of the greatest
624 | possible use to the public, the best way to achieve this is to make it
625 | free software which everyone can redistribute and change under these terms.
626 |
627 | To do so, attach the following notices to the program. It is safest
628 | to attach them to the start of each source file to most effectively
629 | state the exclusion of warranty; and each file should have at least
630 | the "copyright" line and a pointer to where the full notice is found.
631 |
632 |
633 | Copyright (C)
634 |
635 | This program is free software: you can redistribute it and/or modify
636 | it under the terms of the GNU Affero General Public License as published
637 | by the Free Software Foundation, either version 3 of the License, or
638 | (at your option) any later version.
639 |
640 | This program is distributed in the hope that it will be useful,
641 | but WITHOUT ANY WARRANTY; without even the implied warranty of
642 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
643 | GNU Affero General Public License for more details.
644 |
645 | You should have received a copy of the GNU Affero General Public License
646 | along with this program. If not, see .
647 |
648 | Also add information on how to contact you by electronic and paper mail.
649 |
650 | If your software can interact with users remotely through a computer
651 | network, you should also make sure that it provides a way for users to
652 | get its source. For example, if your program is a web application, its
653 | interface could display a "Source" link that leads users to an archive
654 | of the code. There are many ways you could offer source, and different
655 | solutions will be better for different programs; see section 13 for the
656 | specific requirements.
657 |
658 | You should also get your employer (if you work as a programmer) or school,
659 | if any, to sign a "copyright disclaimer" for the program, if necessary.
660 | For more information on this, and how to apply and follow the GNU AGPL, see
661 | .
662 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # OrbitPropagator
2 | A Simple J2 propagator (with a VRML visualisation option) modeled in Simulink
3 |
--------------------------------------------------------------------------------
/RandomSatTLE.txt:
--------------------------------------------------------------------------------
1 | RANDOM SAT
2 | 1 99999U 17212.27083333 -.00000681 00000-0 -73551-4 0 00002
3 | 2 99999 097.7872 145.0781 0010609 271.6166 088.3814 14.88384880000013
4 |
--------------------------------------------------------------------------------
/earthSatSys_Ideal.WRL:
--------------------------------------------------------------------------------
1 | #VRML V2.0 utf8
2 |
3 | #Created with V-Realm Builder v2.0
4 | #Integrated Data Systems Inc.
5 | #www.ids-net.com
6 |
7 |
8 | SpotLight {
9 | location 0 36329 0
10 | radius 100
11 | }
12 | DEF Satellite Transform {
13 | scale 100 100 100
14 | children Transform {
15 | translation -0.0854189 0.0615436 0
16 | scale 0.001 0.001 0.001
17 | children Group {
18 | children [
19 | Group {
20 | children DEF _04F287F8 Group {
21 | children []
22 | }
23 | }
24 |
25 | Group {
26 | children DEF _04F28418 Group {
27 | children []
28 | }
29 | }
30 |
31 | Group {
32 | children DEF _04F280B8 Group {
33 | children []
34 | }
35 | }
36 |
37 | Group {
38 | children [
39 | Group {
40 | children [
41 | Shape {
42 | appearance Appearance {
43 | material DEF _material0 Material {
44 | emissiveColor 0.86 0.86 0
45 | }
46 |
47 | }
48 |
49 | geometry PointSet {
50 | color Color {
51 | color 1 1 1
52 | }
53 |
54 | coord Coordinate {
55 | point -67 0 0
56 | }
57 |
58 | }
59 |
60 | }
61 |
62 | DEF _1E5C98A8 Group {
63 | children []
64 | }
65 |
66 | DEF _1E5C9688 Group {
67 | children []
68 | }
69 | ]
70 | }
71 |
72 | Group {
73 | children DEF _1BF277D8 Group {
74 | children [
75 | Shape {
76 | appearance Appearance {
77 | material DEF _material1 Material {
78 | diffuseColor 0.823529 0.823529 1
79 | }
80 |
81 | }
82 |
83 | geometry IndexedFaceSet {
84 | coord Coordinate {
85 | point [ -67 9.2388 -3.82683,
86 | -67 7.07107 -7.07107,
87 | -67 3.82683 -9.2388,
88 | -67 1.83691e-015 -10,
89 | -67 -3.82683 -9.2388,
90 | -67 -7.07107 -7.07107,
91 | -67 -9.2388 -3.82683,
92 | -67 -10 0,
93 | -67 -9.2388 3.82683,
94 | -67 -7.07107 7.07107,
95 | -67 -3.82683 9.2388,
96 | -67 -6.12303e-016 10,
97 | -67 3.82683 9.2388,
98 | -67 7.07107 7.07107,
99 | -67 9.2388 3.82683,
100 | -67 10 1.22461e-015,
101 | -67 -14.2658 -4.63525,
102 | -67 -12.1353 -8.81678,
103 | -67 -8.81678 -12.1353,
104 | -67 -4.63525 -14.2658,
105 | -67 1.6078e-014 -15,
106 | -67 4.63525 -14.2658,
107 | -67 8.81678 -12.1353,
108 | -67 12.1353 -8.81678,
109 | -67 14.2658 -4.63525,
110 | -67 15 8.49825e-015,
111 | -67 14.2658 4.63525,
112 | -67 12.1353 8.81678,
113 | -67 8.81678 12.1353,
114 | -67 4.63525 14.2658,
115 | -67 -4.24912e-015 15,
116 | -67 -4.63525 14.2658,
117 | -67 -8.81678 12.1353,
118 | -67 -12.1353 8.81678,
119 | -67 -14.2658 4.63525,
120 | -67 -15 0 ]
121 | }
122 |
123 | solid FALSE
124 | coordIndex [ 32, 11, 31, -1, 11, 30, 31, -1,
125 | 11, 28, 30, -1, 28, 29, 30, -1,
126 | 14, 26, 13, -1, 26, 27, 13, -1,
127 | 13, 27, 12, -1, 27, 28, 12, -1,
128 | 12, 28, 11, -1, 2, 23, 1, -1,
129 | 23, 24, 1, -1, 1, 24, 0, -1,
130 | 24, 25, 0, -1, 0, 25, 15, -1,
131 | 25, 26, 15, -1, 15, 26, 14, -1,
132 | 2, 3, 23, -1, 3, 22, 23, -1,
133 | 3, 20, 22, -1, 20, 21, 22, -1,
134 | 8, 9, 34, -1, 9, 10, 34, -1,
135 | 34, 10, 33, -1, 10, 11, 33, -1,
136 | 33, 11, 32, -1, 4, 5, 17, -1,
137 | 5, 6, 17, -1, 17, 6, 16, -1,
138 | 6, 7, 16, -1, 16, 7, 35, -1,
139 | 7, 8, 35, -1, 35, 8, 34, -1,
140 | 17, 18, 4, -1, 18, 3, 4, -1,
141 | 18, 19, 3, -1, 19, 20, 3, -1 ]
142 | }
143 |
144 | }
145 |
146 | Shape {
147 | appearance Appearance {
148 | material USE _material1
149 | }
150 |
151 | geometry IndexedFaceSet {
152 | coord Coordinate {
153 | point [ -67 9.2388 -3.82683,
154 | -67 7.07107 -7.07107,
155 | -67 3.82683 -9.2388,
156 | -67 1.83691e-015 -10,
157 | -67 -3.82683 -9.2388,
158 | -67 -7.07107 -7.07107,
159 | -67 -9.2388 -3.82683,
160 | -67 -10 0,
161 | -52 -10 0,
162 | -52 -9.2388 -3.82683,
163 | -52 -7.07107 -7.07107,
164 | -52 -3.82683 -9.2388,
165 | -52 1.83691e-015 -10,
166 | -52 3.82683 -9.2388,
167 | -52 7.07107 -7.07107,
168 | -52 9.2388 -3.82683,
169 | -52 10 1.22461e-015,
170 | -67 10 1.22461e-015 ]
171 | }
172 |
173 | normal Normal {
174 | vector [ 0 0.92388 -0.382683,
175 | 0 0.707107 -0.707107,
176 | 0 0.382683 -0.92388,
177 | 0 1.83691e-016 -1,
178 | 0 -0.382683 -0.92388,
179 | 0 -0.707107 -0.707107,
180 | 0 -0.92388 -0.382683,
181 | 0 -1 -2.44921e-016,
182 | 0 -1 -2.44921e-016,
183 | 0 -0.92388 -0.382683,
184 | 0 -0.707107 -0.707107,
185 | 0 -0.382683 -0.92388,
186 | 0 1.83691e-016 -1,
187 | 0 0.382683 -0.92388,
188 | 0 0.707107 -0.707107,
189 | 0 0.92388 -0.382683,
190 | 0 1 1.22461e-016,
191 | 0 1 1.22461e-016 ]
192 | }
193 |
194 | solid FALSE
195 | coordIndex [ 8, 7, 9, -1, 7, 6, 9, -1,
196 | 9, 6, 10, -1, 6, 5, 10, -1,
197 | 10, 5, 11, -1, 5, 4, 11, -1,
198 | 11, 4, 12, -1, 4, 3, 12, -1,
199 | 12, 3, 13, -1, 3, 2, 13, -1,
200 | 13, 2, 14, -1, 2, 1, 14, -1,
201 | 14, 1, 15, -1, 1, 0, 15, -1,
202 | 15, 0, 16, -1, 0, 17, 16, -1 ]
203 | }
204 |
205 | }
206 |
207 | Shape {
208 | appearance Appearance {
209 | material USE _material1
210 | }
211 |
212 | geometry IndexedFaceSet {
213 | coord Coordinate {
214 | point [ -67 -9.2388 3.82683,
215 | -67 -7.07107 7.07107,
216 | -67 -3.82683 9.2388,
217 | -67 -6.12303e-016 10,
218 | -67 3.82683 9.2388,
219 | -67 7.07107 7.07107,
220 | -67 9.2388 3.82683,
221 | -67 10 1.22461e-015,
222 | -52 10 1.22461e-015,
223 | -52 9.2388 3.82683,
224 | -52 7.07107 7.07107,
225 | -52 3.82683 9.2388,
226 | -52 -6.12303e-016 10,
227 | -52 -3.82683 9.2388,
228 | -52 -7.07107 7.07107,
229 | -52 -9.2388 3.82683,
230 | -52 -10 0,
231 | -67 -10 0 ]
232 | }
233 |
234 | normal Normal {
235 | vector [ 0 -0.92388 0.382683,
236 | 0 -0.707107 0.707107,
237 | 0 -0.382683 0.92388,
238 | 0 -6.12303e-017 1,
239 | 0 0.382683 0.92388,
240 | 0 0.707107 0.707107,
241 | 0 0.92388 0.382683,
242 | 0 1 1.22461e-016,
243 | 0 1 1.22461e-016,
244 | 0 0.92388 0.382683,
245 | 0 0.707107 0.707107,
246 | 0 0.382683 0.92388,
247 | 0 -6.12303e-017 1,
248 | 0 -0.382683 0.92388,
249 | 0 -0.707107 0.707107,
250 | 0 -0.92388 0.382683,
251 | 0 -1 0,
252 | 0 -1 0 ]
253 | }
254 |
255 | solid FALSE
256 | coordIndex [ 8, 7, 9, -1, 7, 6, 9, -1,
257 | 9, 6, 10, -1, 6, 5, 10, -1,
258 | 10, 5, 11, -1, 5, 4, 11, -1,
259 | 11, 4, 12, -1, 4, 3, 12, -1,
260 | 12, 3, 13, -1, 3, 2, 13, -1,
261 | 13, 2, 14, -1, 2, 1, 14, -1,
262 | 14, 1, 15, -1, 1, 0, 15, -1,
263 | 15, 0, 16, -1, 0, 17, 16, -1 ]
264 | }
265 |
266 | }
267 |
268 | Shape {
269 | appearance Appearance {
270 | material USE _material1
271 | }
272 |
273 | geometry IndexedFaceSet {
274 | coord Coordinate {
275 | point [ -68 -14.2658 -4.63525,
276 | -68 -12.1353 -8.81678,
277 | -68 -8.81678 -12.1353,
278 | -68 -4.63525 -14.2658,
279 | -68 1.6078e-014 -15,
280 | -68 4.63525 -14.2658,
281 | -68 8.81678 -12.1353,
282 | -68 12.1353 -8.81678,
283 | -68 14.2658 -4.63525,
284 | -68 15 8.49825e-015,
285 | -68 14.2658 4.63525,
286 | -68 12.1353 8.81678,
287 | -68 8.81678 12.1353,
288 | -68 4.63525 14.2658,
289 | -68 -4.24912e-015 15,
290 | -68 -4.63525 14.2658,
291 | -68 -8.81678 12.1353,
292 | -68 -12.1353 8.81678,
293 | -68 -14.2658 4.63525,
294 | -68 -15 0 ]
295 | }
296 |
297 | solid FALSE
298 | coordIndex [ 15, 13, 16, -1, 13, 12, 16, -1,
299 | 16, 12, 17, -1, 12, 11, 17, -1,
300 | 17, 11, 18, -1, 11, 10, 18, -1,
301 | 18, 10, 19, -1, 10, 9, 19, -1,
302 | 19, 9, 0, -1, 9, 8, 0, -1,
303 | 0, 8, 1, -1, 8, 7, 1, -1,
304 | 1, 7, 2, -1, 7, 6, 2, -1,
305 | 2, 6, 3, -1, 6, 5, 3, -1,
306 | 3, 5, 4, -1, 13, 15, 14, -1 ]
307 | }
308 |
309 | }
310 |
311 | Shape {
312 | appearance Appearance {
313 | material USE _material1
314 | }
315 |
316 | geometry IndexedFaceSet {
317 | coord Coordinate {
318 | point [ -68 14.2658 -4.63525,
319 | -68 12.1353 -8.81678,
320 | -68 8.81678 -12.1353,
321 | -68 4.63525 -14.2658,
322 | -68 1.6078e-014 -15,
323 | -68 -4.63525 -14.2658,
324 | -68 -8.81678 -12.1353,
325 | -68 -12.1353 -8.81678,
326 | -68 -14.2658 -4.63525,
327 | -68 -15 0,
328 | -67 -15 0,
329 | -67 -14.2658 -4.63525,
330 | -67 -12.1353 -8.81678,
331 | -67 -8.81678 -12.1353,
332 | -67 -4.63525 -14.2658,
333 | -67 1.6078e-014 -15,
334 | -67 4.63525 -14.2658,
335 | -67 8.81678 -12.1353,
336 | -67 12.1353 -8.81678,
337 | -67 14.2658 -4.63525,
338 | -67 15 8.49825e-015,
339 | -68 15 8.49825e-015 ]
340 | }
341 |
342 | normal Normal {
343 | vector [ 0 0.951057 -0.309017,
344 | 0 0.809017 -0.587785,
345 | 0 0.587785 -0.809017,
346 | 0 0.309017 -0.951057,
347 | 0 1.07187e-015 -1,
348 | 0 -0.309017 -0.951057,
349 | 0 -0.587785 -0.809017,
350 | 0 -0.809017 -0.587785,
351 | 0 -0.951057 -0.309017,
352 | 0 -1 -1.1331e-015,
353 | 0 -1 -1.1331e-015,
354 | 0 -0.951057 -0.309017,
355 | 0 -0.809017 -0.587785,
356 | 0 -0.587785 -0.809017,
357 | 0 -0.309017 -0.951057,
358 | 0 1.07187e-015 -1,
359 | 0 0.309017 -0.951057,
360 | 0 0.587785 -0.809017,
361 | 0 0.809017 -0.587785,
362 | 0 0.951057 -0.309017,
363 | 0 1 5.6655e-016,
364 | 0 1 5.6655e-016 ]
365 | }
366 |
367 | solid FALSE
368 | coordIndex [ 10, 9, 11, -1, 9, 8, 11, -1,
369 | 11, 8, 12, -1, 8, 7, 12, -1,
370 | 12, 7, 13, -1, 7, 6, 13, -1,
371 | 13, 6, 14, -1, 6, 5, 14, -1,
372 | 14, 5, 15, -1, 5, 4, 15, -1,
373 | 15, 4, 16, -1, 4, 3, 16, -1,
374 | 16, 3, 17, -1, 3, 2, 17, -1,
375 | 17, 2, 18, -1, 2, 1, 18, -1,
376 | 18, 1, 19, -1, 1, 0, 19, -1,
377 | 19, 0, 20, -1, 0, 21, 20, -1 ]
378 | }
379 |
380 | }
381 |
382 | Shape {
383 | appearance Appearance {
384 | material USE _material1
385 | }
386 |
387 | geometry IndexedFaceSet {
388 | coord Coordinate {
389 | point [ -68 -14.2658 4.63525,
390 | -68 -12.1353 8.81678,
391 | -68 -8.81678 12.1353,
392 | -68 -4.63525 14.2658,
393 | -68 -4.24912e-015 15,
394 | -68 4.63525 14.2658,
395 | -68 8.81678 12.1353,
396 | -68 12.1353 8.81678,
397 | -68 14.2658 4.63525,
398 | -68 15 8.49825e-015,
399 | -67 15 8.49825e-015,
400 | -67 14.2658 4.63525,
401 | -67 12.1353 8.81678,
402 | -67 8.81678 12.1353,
403 | -67 4.63525 14.2658,
404 | -67 -4.24912e-015 15,
405 | -67 -4.63525 14.2658,
406 | -67 -8.81678 12.1353,
407 | -67 -12.1353 8.81678,
408 | -67 -14.2658 4.63525,
409 | -67 -15 0,
410 | -68 -15 0 ]
411 | }
412 |
413 | normal Normal {
414 | vector [ 0 -0.951057 0.309017,
415 | 0 -0.809017 0.587785,
416 | 0 -0.587785 0.809017,
417 | 0 -0.309017 0.951057,
418 | 0 -2.83275e-016 1,
419 | 0 0.309017 0.951057,
420 | 0 0.587785 0.809017,
421 | 0 0.809017 0.587785,
422 | 0 0.951057 0.309017,
423 | 0 1 5.6655e-016,
424 | 0 1 5.6655e-016,
425 | 0 0.951057 0.309017,
426 | 0 0.809017 0.587785,
427 | 0 0.587785 0.809017,
428 | 0 0.309017 0.951057,
429 | 0 -2.83275e-016 1,
430 | 0 -0.309017 0.951057,
431 | 0 -0.587785 0.809017,
432 | 0 -0.809017 0.587785,
433 | 0 -0.951057 0.309017,
434 | 0 -1 0,
435 | 0 -1 0 ]
436 | }
437 |
438 | solid FALSE
439 | coordIndex [ 10, 9, 11, -1, 9, 8, 11, -1,
440 | 11, 8, 12, -1, 8, 7, 12, -1,
441 | 12, 7, 13, -1, 7, 6, 13, -1,
442 | 13, 6, 14, -1, 6, 5, 14, -1,
443 | 14, 5, 15, -1, 5, 4, 15, -1,
444 | 15, 4, 16, -1, 4, 3, 16, -1,
445 | 16, 3, 17, -1, 3, 2, 17, -1,
446 | 17, 2, 18, -1, 2, 1, 18, -1,
447 | 18, 1, 19, -1, 1, 0, 19, -1,
448 | 19, 0, 20, -1, 0, 21, 20, -1 ]
449 | }
450 |
451 | }
452 |
453 | Shape {
454 | appearance Appearance {
455 | material USE _material1
456 | }
457 |
458 | geometry IndexedFaceSet {
459 | coord Coordinate {
460 | point [ -52 9.2388 -3.82683,
461 | -52 7.07107 -7.07107,
462 | -52 3.82683 -9.2388,
463 | -52 1.83691e-015 -10,
464 | -52 -3.82683 -9.2388,
465 | -52 -7.07107 -7.07107,
466 | -52 -9.2388 -3.82683,
467 | -52 -10 0,
468 | -52 -9.2388 3.82683,
469 | -52 -7.07107 7.07107,
470 | -52 -3.82683 9.2388,
471 | -52 -6.12303e-016 10,
472 | -52 3.82683 9.2388,
473 | -52 7.07107 7.07107,
474 | -52 9.2388 3.82683,
475 | -52 10 1.22461e-015,
476 | -52 -35.2676 -7.49636,
477 | -52 -32.9384 -14.6651,
478 | -52 -29.1695 -21.1929,
479 | -52 -24.1258 -26.7945,
480 | -52 -18.0278 -31.225,
481 | -52 -11.1418 -34.2908,
482 | -52 -3.76883 -35.858,
483 | -52 3.76883 -35.858,
484 | -52 11.1418 -34.2908,
485 | -52 18.0278 -31.225,
486 | -52 24.1258 -26.7945,
487 | -52 29.1695 -21.1929,
488 | -52 32.9384 -14.6651,
489 | -52 35.2676 -7.49636,
490 | -52 36.0555 4.41538e-015,
491 | -52 35.2676 7.49636,
492 | -52 32.9384 14.6651,
493 | -52 29.1695 21.1929,
494 | -52 24.1258 26.7945,
495 | -52 18.0278 31.225,
496 | -52 11.1418 34.2908,
497 | -52 3.76883 35.858,
498 | -52 -3.76883 35.858,
499 | -52 -11.1418 34.2908,
500 | -52 -18.0278 31.225,
501 | -52 -24.1258 26.7945,
502 | -52 -29.1695 21.1929,
503 | -52 -32.9384 14.6651,
504 | -52 -35.2676 7.49636,
505 | -52 -36.0555 0 ]
506 | }
507 |
508 | solid FALSE
509 | coordIndex [ 30, 14, 31, -1, 14, 13, 31, -1,
510 | 31, 13, 12, -1, 44, 9, 45, -1,
511 | 9, 8, 45, -1, 45, 8, 7, -1,
512 | 45, 7, 16, -1, 7, 6, 16, -1,
513 | 16, 6, 5, -1, 4, 17, 5, -1,
514 | 17, 16, 5, -1, 28, 27, 26, -1,
515 | 28, 26, 25, -1, 28, 25, 24, -1,
516 | 28, 24, 23, -1, 28, 23, 22, -1,
517 | 28, 22, 3, -1, 28, 3, 2, -1,
518 | 28, 2, 1, -1, 28, 1, 29, -1,
519 | 3, 22, 21, -1, 3, 21, 20, -1,
520 | 3, 20, 19, -1, 3, 19, 18, -1,
521 | 3, 18, 17, -1, 3, 17, 4, -1,
522 | 11, 10, 44, -1, 11, 44, 43, -1,
523 | 11, 43, 42, -1, 11, 42, 41, -1,
524 | 11, 41, 40, -1, 11, 40, 39, -1,
525 | 11, 39, 38, -1, 11, 38, 37, -1,
526 | 11, 37, 36, -1, 11, 36, 35, -1,
527 | 11, 35, 34, -1, 11, 34, 33, -1,
528 | 11, 33, 32, -1, 11, 32, 31, -1,
529 | 11, 31, 12, -1, 29, 1, 0, -1,
530 | 29, 0, 15, -1, 29, 15, 30, -1,
531 | 15, 14, 30, -1, 10, 9, 44, -1 ]
532 | }
533 |
534 | }
535 |
536 | Shape {
537 | appearance Appearance {
538 | material USE _material1
539 | }
540 |
541 | geometry IndexedFaceSet {
542 | coord Coordinate {
543 | point [ -50 -35.2676 -7.49636,
544 | -50 -32.9384 -14.6651,
545 | -50 -29.1695 -21.1929,
546 | -50 -24.1258 -26.7945,
547 | -50 -18.0278 -31.225,
548 | -50 -11.1418 -34.2908,
549 | -50 -3.76883 -35.858,
550 | -50 3.76883 -35.858,
551 | -50 11.1418 -34.2908,
552 | -50 18.0278 -31.225,
553 | -50 24.1258 -26.7945,
554 | -50 29.1695 -21.1929,
555 | -50 32.9384 -14.6651,
556 | -50 35.2676 -7.49636,
557 | -50 36.0555 3.64391e-014,
558 | -50 35.2676 7.49636,
559 | -50 32.9384 14.6651,
560 | -50 29.1695 21.1929,
561 | -50 24.1258 26.7945,
562 | -50 18.0278 31.225,
563 | -50 11.1418 34.2908,
564 | -50 3.76883 35.858,
565 | -50 -3.76883 35.858,
566 | -50 -11.1418 34.2908,
567 | -50 -18.0278 31.225,
568 | -50 -24.1258 26.7945,
569 | -50 -29.1695 21.1929,
570 | -50 -32.9384 14.6651,
571 | -50 -35.2676 7.49636,
572 | -50 -36.0555 0,
573 | -50 -150 147,
574 | -50 -750 147,
575 | -50 -750 150,
576 | -50 750 150,
577 | -50 750 147,
578 | -50 150 147,
579 | -50 150 -150,
580 | -50 -150 -150 ]
581 | }
582 |
583 | solid FALSE
584 | coordIndex [ 35, 36, 17, -1, 35, 17, 18, -1,
585 | 35, 18, 19, -1, 35, 19, 20, -1,
586 | 35, 20, 21, -1, 35, 21, 22, -1,
587 | 35, 22, 30, -1, 35, 30, 32, -1,
588 | 35, 32, 33, -1, 35, 33, 34, -1,
589 | 37, 26, 27, -1, 37, 27, 28, -1,
590 | 37, 28, 29, -1, 37, 29, 0, -1,
591 | 37, 0, 1, -1, 37, 1, 2, -1,
592 | 37, 2, 3, -1, 37, 3, 4, -1,
593 | 37, 4, 5, -1, 37, 5, 6, -1,
594 | 37, 6, 7, -1, 37, 7, 36, -1,
595 | 30, 22, 23, -1, 30, 23, 24, -1,
596 | 30, 24, 25, -1, 30, 25, 26, -1,
597 | 30, 26, 37, -1, 36, 7, 8, -1,
598 | 36, 8, 9, -1, 36, 9, 10, -1,
599 | 36, 10, 11, -1, 36, 11, 12, -1,
600 | 36, 12, 13, -1, 36, 13, 14, -1,
601 | 36, 14, 15, -1, 36, 15, 16, -1,
602 | 36, 16, 17, -1, 31, 32, 30, -1 ]
603 | }
604 |
605 | }
606 |
607 | Shape {
608 | appearance Appearance {
609 | material USE _material1
610 | }
611 |
612 | geometry IndexedFaceSet {
613 | coord Coordinate {
614 | point [ -52 35.2676 -7.49636,
615 | -52 32.9384 -14.6651,
616 | -52 29.1695 -21.1929,
617 | -52 24.1258 -26.7945,
618 | -52 18.0278 -31.225,
619 | -52 11.1418 -34.2908,
620 | -52 3.76883 -35.858,
621 | -52 -3.76883 -35.858,
622 | -52 -11.1418 -34.2908,
623 | -52 -18.0278 -31.225,
624 | -52 -24.1258 -26.7945,
625 | -52 -29.1695 -21.1929,
626 | -52 -32.9384 -14.6651,
627 | -52 -35.2676 -7.49636,
628 | -52 -36.0555 0,
629 | -50 -36.0555 0,
630 | -50 -35.2676 -7.49636,
631 | -50 -32.9384 -14.6651,
632 | -50 -29.1695 -21.1929,
633 | -50 -24.1258 -26.7945,
634 | -50 -18.0278 -31.225,
635 | -50 -11.1418 -34.2908,
636 | -50 -3.76883 -35.858,
637 | -50 3.76883 -35.858,
638 | -50 11.1418 -34.2908,
639 | -50 18.0278 -31.225,
640 | -50 24.1258 -26.7945,
641 | -50 29.1695 -21.1929,
642 | -50 32.9384 -14.6651,
643 | -50 35.2676 -7.49636,
644 | -50 36.0555 3.64391e-014,
645 | -52 36.0555 4.41538e-015 ]
646 | }
647 |
648 | normal Normal {
649 | vector [ 0 0.978148 -0.207912,
650 | 0 0.913545 -0.406737,
651 | 0 0.809017 -0.587785,
652 | 0 0.669131 -0.743145,
653 | 0 0.5 -0.866025,
654 | 0 0.309017 -0.951057,
655 | 0 0.104528 -0.994522,
656 | 0 -0.104528 -0.994522,
657 | 0 -0.309017 -0.951057,
658 | 0 -0.5 -0.866025,
659 | 0 -0.669131 -0.743145,
660 | 0 -0.809017 -0.587785,
661 | 0 -0.913545 -0.406737,
662 | 0 -0.978148 -0.207912,
663 | 0 -1 -1.1331e-015,
664 | 0 -1 -2.02128e-015,
665 | 0 -0.978148 -0.207912,
666 | 0 -0.913545 -0.406737,
667 | 0 -0.809017 -0.587785,
668 | 0 -0.669131 -0.743145,
669 | 0 -0.5 -0.866025,
670 | 0 -0.309017 -0.951057,
671 | 0 -0.104528 -0.994522,
672 | 0 0.104528 -0.994522,
673 | 0 0.309017 -0.951057,
674 | 0 0.5 -0.866025,
675 | 0 0.669131 -0.743145,
676 | 0 0.809017 -0.587785,
677 | 0 0.913545 -0.406737,
678 | 0 0.978148 -0.207912,
679 | 0 1 5.6655e-016,
680 | 0 1 5.6655e-016 ]
681 | }
682 |
683 | solid FALSE
684 | coordIndex [ 15, 14, 16, -1, 14, 13, 16, -1,
685 | 16, 13, 17, -1, 13, 12, 17, -1,
686 | 17, 12, 18, -1, 12, 11, 18, -1,
687 | 18, 11, 19, -1, 11, 10, 19, -1,
688 | 19, 10, 20, -1, 10, 9, 20, -1,
689 | 20, 9, 21, -1, 9, 8, 21, -1,
690 | 21, 8, 22, -1, 8, 7, 22, -1,
691 | 22, 7, 23, -1, 7, 6, 23, -1,
692 | 23, 6, 24, -1, 6, 5, 24, -1,
693 | 24, 5, 25, -1, 5, 4, 25, -1,
694 | 25, 4, 26, -1, 4, 3, 26, -1,
695 | 26, 3, 27, -1, 3, 2, 27, -1,
696 | 27, 2, 28, -1, 2, 1, 28, -1,
697 | 28, 1, 29, -1, 1, 0, 29, -1,
698 | 29, 0, 30, -1, 0, 31, 30, -1 ]
699 | }
700 |
701 | }
702 |
703 | Shape {
704 | appearance Appearance {
705 | material USE _material1
706 | }
707 |
708 | geometry IndexedFaceSet {
709 | coord Coordinate {
710 | point [ -52 -35.2676 7.49636,
711 | -52 -32.9384 14.6651,
712 | -52 -29.1695 21.1929,
713 | -52 -24.1258 26.7945,
714 | -52 -18.0278 31.225,
715 | -52 -11.1418 34.2908,
716 | -52 -3.76883 35.858,
717 | -52 3.76883 35.858,
718 | -52 11.1418 34.2908,
719 | -52 18.0278 31.225,
720 | -52 24.1258 26.7945,
721 | -52 29.1695 21.1929,
722 | -52 32.9384 14.6651,
723 | -52 35.2676 7.49636,
724 | -52 36.0555 4.41538e-015,
725 | -50 36.0555 3.64391e-014,
726 | -50 35.2676 7.49636,
727 | -50 32.9384 14.6651,
728 | -50 29.1695 21.1929,
729 | -50 24.1258 26.7945,
730 | -50 18.0278 31.225,
731 | -50 11.1418 34.2908,
732 | -50 3.76883 35.858,
733 | -50 -3.76883 35.858,
734 | -50 -11.1418 34.2908,
735 | -50 -18.0278 31.225,
736 | -50 -24.1258 26.7945,
737 | -50 -29.1695 21.1929,
738 | -50 -32.9384 14.6651,
739 | -50 -35.2676 7.49636,
740 | -50 -36.0555 0,
741 | -52 -36.0555 0 ]
742 | }
743 |
744 | normal Normal {
745 | vector [ 0 -0.978148 0.207912,
746 | 0 -0.913545 0.406737,
747 | 0 -0.809017 0.587785,
748 | 0 -0.669131 0.743145,
749 | 0 -0.5 0.866025,
750 | 0 -0.309017 0.951057,
751 | 0 -0.104528 0.994522,
752 | 0 0.104528 0.994522,
753 | 0 0.309017 0.951057,
754 | 0 0.5 0.866025,
755 | 0 0.669131 0.743145,
756 | 0 0.809017 0.587785,
757 | 0 0.913545 0.406737,
758 | 0 0.978148 0.207912,
759 | 0 1 5.6655e-016,
760 | 0 1 1.01064e-015,
761 | 0 0.978148 0.207912,
762 | 0 0.913545 0.406737,
763 | 0 0.809017 0.587785,
764 | 0 0.669131 0.743145,
765 | 0 0.5 0.866025,
766 | 0 0.309017 0.951057,
767 | 0 0.104528 0.994522,
768 | 0 -0.104528 0.994522,
769 | 0 -0.309017 0.951057,
770 | 0 -0.5 0.866025,
771 | 0 -0.669131 0.743145,
772 | 0 -0.809017 0.587785,
773 | 0 -0.913545 0.406737,
774 | 0 -0.978148 0.207912,
775 | 0 -1 0,
776 | 0 -1 0 ]
777 | }
778 |
779 | solid FALSE
780 | coordIndex [ 15, 14, 16, -1, 14, 13, 16, -1,
781 | 16, 13, 17, -1, 13, 12, 17, -1,
782 | 17, 12, 18, -1, 12, 11, 18, -1,
783 | 18, 11, 19, -1, 11, 10, 19, -1,
784 | 19, 10, 20, -1, 10, 9, 20, -1,
785 | 20, 9, 21, -1, 9, 8, 21, -1,
786 | 21, 8, 22, -1, 8, 7, 22, -1,
787 | 22, 7, 23, -1, 7, 6, 23, -1,
788 | 23, 6, 24, -1, 6, 5, 24, -1,
789 | 24, 5, 25, -1, 5, 4, 25, -1,
790 | 25, 4, 26, -1, 4, 3, 26, -1,
791 | 26, 3, 27, -1, 3, 2, 27, -1,
792 | 27, 2, 28, -1, 2, 1, 28, -1,
793 | 28, 1, 29, -1, 1, 0, 29, -1,
794 | 29, 0, 30, -1, 0, 31, 30, -1 ]
795 | }
796 |
797 | }
798 |
799 | Shape {
800 | appearance Appearance {
801 | material USE _material1
802 | }
803 |
804 | geometry IndexedFaceSet {
805 | coord Coordinate {
806 | point [ 50 -150 147,
807 | 50 -750 147,
808 | 50 -750 150,
809 | 50 750 150,
810 | 50 750 147,
811 | 50 150 147,
812 | 50 150 -150,
813 | 50 -150 -150 ]
814 | }
815 |
816 | solid FALSE
817 | coordIndex [ 7, 6, 0, -1, 6, 5, 0, -1,
818 | 3, 2, 1, -1, 3, 1, 0, -1,
819 | 3, 0, 5, -1, 3, 5, 4, -1 ]
820 | }
821 |
822 | }
823 |
824 | Shape {
825 | appearance Appearance {
826 | material USE _material1
827 | }
828 |
829 | geometry IndexedFaceSet {
830 | coord Coordinate {
831 | point [ -50 -150 147,
832 | -50 -150 -150,
833 | 50 -150 -150,
834 | 50 -150 147 ]
835 | }
836 |
837 | solid FALSE
838 | coordIndex [ 2, 3, 1, -1, 3, 0, 1, -1 ]
839 | }
840 |
841 | }
842 |
843 | Shape {
844 | appearance Appearance {
845 | material USE _material1
846 | }
847 |
848 | geometry IndexedFaceSet {
849 | coord Coordinate {
850 | point [ -50 -750 147,
851 | -50 -150 147,
852 | 50 -150 147,
853 | 50 -750 147 ]
854 | }
855 |
856 | solid FALSE
857 | coordIndex [ 2, 3, 1, -1, 3, 0, 1, -1 ]
858 | }
859 |
860 | }
861 |
862 | Shape {
863 | appearance Appearance {
864 | material USE _material1
865 | }
866 |
867 | geometry IndexedFaceSet {
868 | coord Coordinate {
869 | point [ -50 -750 150,
870 | -50 -750 147,
871 | 50 -750 147,
872 | 50 -750 150 ]
873 | }
874 |
875 | solid FALSE
876 | coordIndex [ 1, 2, 0, -1, 2, 3, 0, -1 ]
877 | }
878 |
879 | }
880 |
881 | Shape {
882 | appearance Appearance {
883 | material USE _material1
884 | texture DEF Brick_Grey ImageTexture {
885 | url "texture/SolarPanel.jpg"
886 | }
887 |
888 | }
889 |
890 | geometry IndexedFaceSet {
891 | coord Coordinate {
892 | point [ -50 750 150,
893 | -50 -750 150,
894 | 50 -750 150,
895 | 50 750 150 ]
896 | }
897 |
898 | solid FALSE
899 | coordIndex [ 2, 3, 1, -1, 3, 0, 1, -1 ]
900 | }
901 |
902 | }
903 |
904 | Shape {
905 | appearance Appearance {
906 | material USE _material1
907 | }
908 |
909 | geometry IndexedFaceSet {
910 | coord Coordinate {
911 | point [ -50 750 147,
912 | -50 750 150,
913 | 50 750 150,
914 | 50 750 147 ]
915 | }
916 |
917 | solid FALSE
918 | coordIndex [ 1, 2, 0, -1, 2, 3, 0, -1 ]
919 | }
920 |
921 | }
922 |
923 | Shape {
924 | appearance Appearance {
925 | material USE _material1
926 | }
927 |
928 | geometry IndexedFaceSet {
929 | coord Coordinate {
930 | point [ -50 150 147,
931 | -50 750 147,
932 | 50 750 147,
933 | 50 150 147 ]
934 | }
935 |
936 | solid FALSE
937 | coordIndex [ 2, 3, 1, -1, 3, 0, 1, -1 ]
938 | }
939 |
940 | }
941 |
942 | Shape {
943 | appearance Appearance {
944 | material USE _material1
945 | }
946 |
947 | geometry IndexedFaceSet {
948 | coord Coordinate {
949 | point [ -50 150 -150,
950 | -50 150 147,
951 | 50 150 147,
952 | 50 150 -150 ]
953 | }
954 |
955 | solid FALSE
956 | coordIndex [ 2, 3, 1, -1, 3, 0, 1, -1 ]
957 | }
958 |
959 | }
960 |
961 | Shape {
962 | appearance Appearance {
963 | material USE _material1
964 | }
965 |
966 | geometry IndexedFaceSet {
967 | coord Coordinate {
968 | point [ -50 -150 -150,
969 | -50 150 -150,
970 | 50 150 -150,
971 | 50 -150 -150 ]
972 | }
973 |
974 | solid FALSE
975 | coordIndex [ 2, 3, 1, -1, 3, 0, 1, -1 ]
976 | }
977 |
978 | }
979 |
980 | Shape {
981 | appearance Appearance {
982 | material DEF _material2 Material {
983 | }
984 |
985 | }
986 |
987 | geometry IndexedLineSet {
988 | coord Coordinate {
989 | point [ -50 -150 -150,
990 | 50 -150 -150 ]
991 | }
992 |
993 | coordIndex [ 0, 1, -1 ]
994 | }
995 |
996 | }
997 |
998 | Shape {
999 | appearance Appearance {
1000 | material USE _material2
1001 | }
1002 |
1003 | geometry IndexedLineSet {
1004 | coord Coordinate {
1005 | point [ -50 150 -150,
1006 | 50 150 -150 ]
1007 | }
1008 |
1009 | coordIndex [ 0, 1, -1 ]
1010 | }
1011 |
1012 | }
1013 |
1014 | Shape {
1015 | appearance Appearance {
1016 | material USE _material2
1017 | }
1018 |
1019 | geometry IndexedLineSet {
1020 | coord Coordinate {
1021 | point [ -50 -150 -150,
1022 | -50 150 -150 ]
1023 | }
1024 |
1025 | coordIndex [ 0, 1, -1 ]
1026 | }
1027 |
1028 | }
1029 |
1030 | Shape {
1031 | appearance Appearance {
1032 | material USE _material2
1033 | }
1034 |
1035 | geometry IndexedLineSet {
1036 | coord Coordinate {
1037 | point [ 50 -150 -150,
1038 | 50 150 -150 ]
1039 | }
1040 |
1041 | coordIndex [ 0, 1, -1 ]
1042 | }
1043 |
1044 | }
1045 |
1046 | Shape {
1047 | appearance Appearance {
1048 | material USE _material2
1049 | }
1050 |
1051 | geometry IndexedLineSet {
1052 | coord Coordinate {
1053 | point [ -50 150 147,
1054 | 50 150 147 ]
1055 | }
1056 |
1057 | coordIndex [ 0, 1, -1 ]
1058 | }
1059 |
1060 | }
1061 |
1062 | Shape {
1063 | appearance Appearance {
1064 | material USE _material2
1065 | }
1066 |
1067 | geometry IndexedLineSet {
1068 | coord Coordinate {
1069 | point [ -50 150 -150,
1070 | -50 150 147 ]
1071 | }
1072 |
1073 | coordIndex [ 0, 1, -1 ]
1074 | }
1075 |
1076 | }
1077 |
1078 | Shape {
1079 | appearance Appearance {
1080 | material USE _material2
1081 | }
1082 |
1083 | geometry IndexedLineSet {
1084 | coord Coordinate {
1085 | point [ 50 150 -150,
1086 | 50 150 147 ]
1087 | }
1088 |
1089 | coordIndex [ 0, 1, -1 ]
1090 | }
1091 |
1092 | }
1093 |
1094 | Shape {
1095 | appearance Appearance {
1096 | material USE _material2
1097 | }
1098 |
1099 | geometry IndexedLineSet {
1100 | coord Coordinate {
1101 | point [ -50 750 147,
1102 | 50 750 147 ]
1103 | }
1104 |
1105 | coordIndex [ 0, 1, -1 ]
1106 | }
1107 |
1108 | }
1109 |
1110 | Shape {
1111 | appearance Appearance {
1112 | material USE _material2
1113 | }
1114 |
1115 | geometry IndexedLineSet {
1116 | coord Coordinate {
1117 | point [ -50 150 147,
1118 | -50 750 147 ]
1119 | }
1120 |
1121 | coordIndex [ 0, 1, -1 ]
1122 | }
1123 |
1124 | }
1125 |
1126 | Shape {
1127 | appearance Appearance {
1128 | material USE _material2
1129 | }
1130 |
1131 | geometry IndexedLineSet {
1132 | coord Coordinate {
1133 | point [ 50 150 147,
1134 | 50 750 147 ]
1135 | }
1136 |
1137 | coordIndex [ 0, 1, -1 ]
1138 | }
1139 |
1140 | }
1141 |
1142 | Shape {
1143 | appearance Appearance {
1144 | material USE _material2
1145 | }
1146 |
1147 | geometry IndexedLineSet {
1148 | coord Coordinate {
1149 | point [ -50 750 150,
1150 | 50 750 150 ]
1151 | }
1152 |
1153 | coordIndex [ 0, 1, -1 ]
1154 | }
1155 |
1156 | }
1157 |
1158 | Shape {
1159 | appearance Appearance {
1160 | material USE _material2
1161 | }
1162 |
1163 | geometry IndexedLineSet {
1164 | coord Coordinate {
1165 | point [ -50 750 147,
1166 | -50 750 150 ]
1167 | }
1168 |
1169 | coordIndex [ 0, 1, -1 ]
1170 | }
1171 |
1172 | }
1173 |
1174 | Shape {
1175 | appearance Appearance {
1176 | material USE _material2
1177 | }
1178 |
1179 | geometry IndexedLineSet {
1180 | coord Coordinate {
1181 | point [ 50 750 147,
1182 | 50 750 150 ]
1183 | }
1184 |
1185 | coordIndex [ 0, 1, -1 ]
1186 | }
1187 |
1188 | }
1189 |
1190 | Shape {
1191 | appearance Appearance {
1192 | material USE _material2
1193 | }
1194 |
1195 | geometry IndexedLineSet {
1196 | coord Coordinate {
1197 | point [ -50 -750 150,
1198 | 50 -750 150 ]
1199 | }
1200 |
1201 | coordIndex [ 0, 1, -1 ]
1202 | }
1203 |
1204 | }
1205 |
1206 | Shape {
1207 | appearance Appearance {
1208 | material USE _material2
1209 | }
1210 |
1211 | geometry IndexedLineSet {
1212 | coord Coordinate {
1213 | point [ -50 750 150,
1214 | -50 -750 150 ]
1215 | }
1216 |
1217 | coordIndex [ 0, 1, -1 ]
1218 | }
1219 |
1220 | }
1221 |
1222 | Shape {
1223 | appearance Appearance {
1224 | material USE _material2
1225 | }
1226 |
1227 | geometry IndexedLineSet {
1228 | coord Coordinate {
1229 | point [ 50 750 150,
1230 | 50 -750 150 ]
1231 | }
1232 |
1233 | coordIndex [ 0, 1, -1 ]
1234 | }
1235 |
1236 | }
1237 |
1238 | Shape {
1239 | appearance Appearance {
1240 | material USE _material2
1241 | }
1242 |
1243 | geometry IndexedLineSet {
1244 | coord Coordinate {
1245 | point [ -50 -750 147,
1246 | 50 -750 147 ]
1247 | }
1248 |
1249 | coordIndex [ 0, 1, -1 ]
1250 | }
1251 |
1252 | }
1253 |
1254 | Shape {
1255 | appearance Appearance {
1256 | material USE _material2
1257 | }
1258 |
1259 | geometry IndexedLineSet {
1260 | coord Coordinate {
1261 | point [ -50 -750 150,
1262 | -50 -750 147 ]
1263 | }
1264 |
1265 | coordIndex [ 0, 1, -1 ]
1266 | }
1267 |
1268 | }
1269 |
1270 | Shape {
1271 | appearance Appearance {
1272 | material USE _material2
1273 | }
1274 |
1275 | geometry IndexedLineSet {
1276 | coord Coordinate {
1277 | point [ 50 -750 150,
1278 | 50 -750 147 ]
1279 | }
1280 |
1281 | coordIndex [ 0, 1, -1 ]
1282 | }
1283 |
1284 | }
1285 |
1286 | Shape {
1287 | appearance Appearance {
1288 | material USE _material2
1289 | }
1290 |
1291 | geometry IndexedLineSet {
1292 | coord Coordinate {
1293 | point [ -50 -150 147,
1294 | 50 -150 147 ]
1295 | }
1296 |
1297 | coordIndex [ 0, 1, -1 ]
1298 | }
1299 |
1300 | }
1301 |
1302 | Shape {
1303 | appearance Appearance {
1304 | material USE _material2
1305 | }
1306 |
1307 | geometry IndexedLineSet {
1308 | coord Coordinate {
1309 | point [ -50 -750 147,
1310 | -50 -150 147 ]
1311 | }
1312 |
1313 | coordIndex [ 0, 1, -1 ]
1314 | }
1315 |
1316 | }
1317 |
1318 | Shape {
1319 | appearance Appearance {
1320 | material USE _material2
1321 | }
1322 |
1323 | geometry IndexedLineSet {
1324 | coord Coordinate {
1325 | point [ 50 -750 147,
1326 | 50 -150 147 ]
1327 | }
1328 |
1329 | coordIndex [ 0, 1, -1 ]
1330 | }
1331 |
1332 | }
1333 |
1334 | Shape {
1335 | appearance Appearance {
1336 | material USE _material2
1337 | }
1338 |
1339 | geometry IndexedLineSet {
1340 | coord Coordinate {
1341 | point [ -50 -150 147,
1342 | -50 -150 -150 ]
1343 | }
1344 |
1345 | coordIndex [ 0, 1, -1 ]
1346 | }
1347 |
1348 | }
1349 |
1350 | Shape {
1351 | appearance Appearance {
1352 | material USE _material2
1353 | }
1354 |
1355 | geometry IndexedLineSet {
1356 | coord Coordinate {
1357 | point [ 50 -150 147,
1358 | 50 -150 -150 ]
1359 | }
1360 |
1361 | coordIndex [ 0, 1, -1 ]
1362 | }
1363 |
1364 | }
1365 |
1366 | Shape {
1367 | appearance Appearance {
1368 | material USE _material2
1369 | }
1370 |
1371 | geometry IndexedLineSet {
1372 | coord Coordinate {
1373 | point [ -52 -36.0555 0,
1374 | -52 -35.2676 7.49636,
1375 | -52 -32.9384 14.6651,
1376 | -52 -29.1695 21.1929,
1377 | -52 -24.1258 26.7945,
1378 | -52 -18.0278 31.225,
1379 | -52 -11.1418 34.2908,
1380 | -52 -3.76883 35.858,
1381 | -52 3.76883 35.858,
1382 | -52 11.1418 34.2908,
1383 | -52 18.0278 31.225,
1384 | -52 24.1258 26.7945,
1385 | -52 29.1695 21.1929,
1386 | -52 32.9384 14.6651,
1387 | -52 35.2676 7.49636,
1388 | -52 36.0555 4.41538e-015 ]
1389 | }
1390 |
1391 | coordIndex [ 0, 1, 2, 3, 4, 5, 6, 7,
1392 | 8, 9, 10, 11, 12, 13, 14, 15,
1393 | -1 ]
1394 | }
1395 |
1396 | }
1397 |
1398 | Shape {
1399 | appearance Appearance {
1400 | material USE _material2
1401 | }
1402 |
1403 | geometry IndexedLineSet {
1404 | coord Coordinate {
1405 | point [ -52 36.0555 4.41538e-015,
1406 | -52 35.2676 -7.49636,
1407 | -52 32.9384 -14.6651,
1408 | -52 29.1695 -21.1929,
1409 | -52 24.1258 -26.7945,
1410 | -52 18.0278 -31.225,
1411 | -52 11.1418 -34.2908,
1412 | -52 3.76883 -35.858,
1413 | -52 -3.76883 -35.858,
1414 | -52 -11.1418 -34.2908,
1415 | -52 -18.0278 -31.225,
1416 | -52 -24.1258 -26.7945,
1417 | -52 -29.1695 -21.1929,
1418 | -52 -32.9384 -14.6651,
1419 | -52 -35.2676 -7.49636,
1420 | -52 -36.0555 0 ]
1421 | }
1422 |
1423 | coordIndex [ 0, 1, 2, 3, 4, 5, 6, 7,
1424 | 8, 9, 10, 11, 12, 13, 14, 15,
1425 | -1 ]
1426 | }
1427 |
1428 | }
1429 |
1430 | Shape {
1431 | appearance Appearance {
1432 | material USE _material2
1433 | }
1434 |
1435 | geometry IndexedLineSet {
1436 | coord Coordinate {
1437 | point [ -50 -36.0555 0,
1438 | -50 -35.2676 7.49636,
1439 | -50 -32.9384 14.6651,
1440 | -50 -29.1695 21.1929,
1441 | -50 -24.1258 26.7945,
1442 | -50 -18.0278 31.225,
1443 | -50 -11.1418 34.2908,
1444 | -50 -3.76883 35.858,
1445 | -50 3.76883 35.858,
1446 | -50 11.1418 34.2908,
1447 | -50 18.0278 31.225,
1448 | -50 24.1258 26.7945,
1449 | -50 29.1695 21.1929,
1450 | -50 32.9384 14.6651,
1451 | -50 35.2676 7.49636,
1452 | -50 36.0555 3.64391e-014 ]
1453 | }
1454 |
1455 | coordIndex [ 0, 1, 2, 3, 4, 5, 6, 7,
1456 | 8, 9, 10, 11, 12, 13, 14, 15,
1457 | -1 ]
1458 | }
1459 |
1460 | }
1461 |
1462 | Shape {
1463 | appearance Appearance {
1464 | material USE _material2
1465 | }
1466 |
1467 | geometry IndexedLineSet {
1468 | coord Coordinate {
1469 | point [ -50 36.0555 3.64391e-014,
1470 | -50 35.2676 -7.49636,
1471 | -50 32.9384 -14.6651,
1472 | -50 29.1695 -21.1929,
1473 | -50 24.1258 -26.7945,
1474 | -50 18.0278 -31.225,
1475 | -50 11.1418 -34.2908,
1476 | -50 3.76883 -35.858,
1477 | -50 -3.76883 -35.858,
1478 | -50 -11.1418 -34.2908,
1479 | -50 -18.0278 -31.225,
1480 | -50 -24.1258 -26.7945,
1481 | -50 -29.1695 -21.1929,
1482 | -50 -32.9384 -14.6651,
1483 | -50 -35.2676 -7.49636,
1484 | -50 -36.0555 0 ]
1485 | }
1486 |
1487 | coordIndex [ 0, 1, 2, 3, 4, 5, 6, 7,
1488 | 8, 9, 10, 11, 12, 13, 14, 15,
1489 | -1 ]
1490 | }
1491 |
1492 | }
1493 |
1494 | Shape {
1495 | appearance Appearance {
1496 | material USE _material2
1497 | }
1498 |
1499 | geometry IndexedLineSet {
1500 | coord Coordinate {
1501 | point [ -52 -10 0,
1502 | -52 -9.2388 3.82683,
1503 | -52 -7.07107 7.07107,
1504 | -52 -3.82683 9.2388,
1505 | -52 -6.12303e-016 10,
1506 | -52 3.82683 9.2388,
1507 | -52 7.07107 7.07107,
1508 | -52 9.2388 3.82683,
1509 | -52 10 1.22461e-015 ]
1510 | }
1511 |
1512 | coordIndex [ 0, 1, 2, 3, 4, 5, 6, 7,
1513 | 8, -1 ]
1514 | }
1515 |
1516 | }
1517 |
1518 | Shape {
1519 | appearance Appearance {
1520 | material USE _material2
1521 | }
1522 |
1523 | geometry IndexedLineSet {
1524 | coord Coordinate {
1525 | point [ -52 10 1.22461e-015,
1526 | -52 9.2388 -3.82683,
1527 | -52 7.07107 -7.07107,
1528 | -52 3.82683 -9.2388,
1529 | -52 1.83691e-015 -10,
1530 | -52 -3.82683 -9.2388,
1531 | -52 -7.07107 -7.07107,
1532 | -52 -9.2388 -3.82683,
1533 | -52 -10 0 ]
1534 | }
1535 |
1536 | coordIndex [ 0, 1, 2, 3, 4, 5, 6, 7,
1537 | 8, -1 ]
1538 | }
1539 |
1540 | }
1541 |
1542 | Shape {
1543 | appearance Appearance {
1544 | material USE _material2
1545 | }
1546 |
1547 | geometry IndexedLineSet {
1548 | coord Coordinate {
1549 | point [ -67 -15 0,
1550 | -67 -14.2658 4.63525,
1551 | -67 -12.1353 8.81678,
1552 | -67 -8.81678 12.1353,
1553 | -67 -4.63525 14.2658,
1554 | -67 -4.24912e-015 15,
1555 | -67 4.63525 14.2658,
1556 | -67 8.81678 12.1353,
1557 | -67 12.1353 8.81678,
1558 | -67 14.2658 4.63525,
1559 | -67 15 8.49825e-015 ]
1560 | }
1561 |
1562 | coordIndex [ 0, 1, 2, 3, 4, 5, 6, 7,
1563 | 8, 9, 10, -1 ]
1564 | }
1565 |
1566 | }
1567 |
1568 | Shape {
1569 | appearance Appearance {
1570 | material USE _material2
1571 | }
1572 |
1573 | geometry IndexedLineSet {
1574 | coord Coordinate {
1575 | point [ -68 -15 0,
1576 | -68 -14.2658 4.63525,
1577 | -68 -12.1353 8.81678,
1578 | -68 -8.81678 12.1353,
1579 | -68 -4.63525 14.2658,
1580 | -68 -4.24912e-015 15,
1581 | -68 4.63525 14.2658,
1582 | -68 8.81678 12.1353,
1583 | -68 12.1353 8.81678,
1584 | -68 14.2658 4.63525,
1585 | -68 15 8.49825e-015 ]
1586 | }
1587 |
1588 | coordIndex [ 0, 1, 2, 3, 4, 5, 6, 7,
1589 | 8, 9, 10, -1 ]
1590 | }
1591 |
1592 | }
1593 |
1594 | Shape {
1595 | appearance Appearance {
1596 | material USE _material2
1597 | }
1598 |
1599 | geometry IndexedLineSet {
1600 | coord Coordinate {
1601 | point [ -67 15 8.49825e-015,
1602 | -67 14.2658 -4.63525,
1603 | -67 12.1353 -8.81678,
1604 | -67 8.81678 -12.1353,
1605 | -67 4.63525 -14.2658,
1606 | -67 1.6078e-014 -15,
1607 | -67 -4.63525 -14.2658,
1608 | -67 -8.81678 -12.1353,
1609 | -67 -12.1353 -8.81678,
1610 | -67 -14.2658 -4.63525,
1611 | -67 -15 0 ]
1612 | }
1613 |
1614 | coordIndex [ 0, 1, 2, 3, 4, 5, 6, 7,
1615 | 8, 9, 10, -1 ]
1616 | }
1617 |
1618 | }
1619 |
1620 | Shape {
1621 | appearance Appearance {
1622 | material USE _material2
1623 | }
1624 |
1625 | geometry IndexedLineSet {
1626 | coord Coordinate {
1627 | point [ -68 15 8.49825e-015,
1628 | -68 14.2658 -4.63525,
1629 | -68 12.1353 -8.81678,
1630 | -68 8.81678 -12.1353,
1631 | -68 4.63525 -14.2658,
1632 | -68 1.6078e-014 -15,
1633 | -68 -4.63525 -14.2658,
1634 | -68 -8.81678 -12.1353,
1635 | -68 -12.1353 -8.81678,
1636 | -68 -14.2658 -4.63525,
1637 | -68 -15 0 ]
1638 | }
1639 |
1640 | coordIndex [ 0, 1, 2, 3, 4, 5, 6, 7,
1641 | 8, 9, 10, -1 ]
1642 | }
1643 |
1644 | }
1645 |
1646 | Shape {
1647 | appearance Appearance {
1648 | material USE _material2
1649 | }
1650 |
1651 | geometry IndexedLineSet {
1652 | coord Coordinate {
1653 | point [ -67 -10 0,
1654 | -67 -9.2388 3.82683,
1655 | -67 -7.07107 7.07107,
1656 | -67 -3.82683 9.2388,
1657 | -67 -6.12303e-016 10,
1658 | -67 3.82683 9.2388,
1659 | -67 7.07107 7.07107,
1660 | -67 9.2388 3.82683,
1661 | -67 10 1.22461e-015 ]
1662 | }
1663 |
1664 | coordIndex [ 0, 1, 2, 3, 4, 5, 6, 7,
1665 | 8, -1 ]
1666 | }
1667 |
1668 | }
1669 |
1670 | Shape {
1671 | appearance Appearance {
1672 | material USE _material2
1673 | }
1674 |
1675 | geometry IndexedLineSet {
1676 | coord Coordinate {
1677 | point [ -67 10 1.22461e-015,
1678 | -67 9.2388 -3.82683,
1679 | -67 7.07107 -7.07107,
1680 | -67 3.82683 -9.2388,
1681 | -67 1.83691e-015 -10,
1682 | -67 -3.82683 -9.2388,
1683 | -67 -7.07107 -7.07107,
1684 | -67 -9.2388 -3.82683,
1685 | -67 -10 0 ]
1686 | }
1687 |
1688 | coordIndex [ 0, 1, 2, 3, 4, 5, 6, 7,
1689 | 8, -1 ]
1690 | }
1691 |
1692 | }
1693 |
1694 | Shape {
1695 | appearance Appearance {
1696 | material USE _material2
1697 | }
1698 |
1699 | geometry IndexedLineSet {
1700 | coord Coordinate {
1701 | point [ -50 -36.0555 0,
1702 | -52 -36.0555 0 ]
1703 | }
1704 |
1705 | coordIndex [ 0, 1, -1 ]
1706 | }
1707 |
1708 | }
1709 |
1710 | Shape {
1711 | appearance Appearance {
1712 | material USE _material2
1713 | }
1714 |
1715 | geometry IndexedLineSet {
1716 | coord Coordinate {
1717 | point [ -52 36.0555 4.41538e-015,
1718 | -50 36.0555 3.64391e-014 ]
1719 | }
1720 |
1721 | coordIndex [ 0, 1, -1 ]
1722 | }
1723 |
1724 | }
1725 |
1726 | Shape {
1727 | appearance Appearance {
1728 | material USE _material2
1729 | }
1730 |
1731 | geometry IndexedLineSet {
1732 | coord Coordinate {
1733 | point [ -67 -15 0,
1734 | -68 -15 0 ]
1735 | }
1736 |
1737 | coordIndex [ 0, 1, -1 ]
1738 | }
1739 |
1740 | }
1741 |
1742 | Shape {
1743 | appearance Appearance {
1744 | material USE _material2
1745 | }
1746 |
1747 | geometry IndexedLineSet {
1748 | coord Coordinate {
1749 | point [ -67 15 8.49825e-015,
1750 | -68 15 8.49825e-015 ]
1751 | }
1752 |
1753 | coordIndex [ 0, 1, -1 ]
1754 | }
1755 |
1756 | }
1757 |
1758 | Shape {
1759 | appearance Appearance {
1760 | material USE _material2
1761 | }
1762 |
1763 | geometry IndexedLineSet {
1764 | coord Coordinate {
1765 | point [ -52 -10 0,
1766 | -67 -10 0 ]
1767 | }
1768 |
1769 | coordIndex [ 0, 1, -1 ]
1770 | }
1771 |
1772 | }
1773 |
1774 | Shape {
1775 | appearance Appearance {
1776 | material USE _material2
1777 | }
1778 |
1779 | geometry IndexedLineSet {
1780 | coord Coordinate {
1781 | point [ -52 10 1.22461e-015,
1782 | -67 10 1.22461e-015 ]
1783 | }
1784 |
1785 | coordIndex [ 0, 1, -1 ]
1786 | }
1787 |
1788 | }
1789 | ]
1790 | }
1791 | }
1792 | ]
1793 | }
1794 | ]
1795 | }
1796 | }
1797 | }
1798 | Background {
1799 | groundAngle [ 0.9, 1.5, 1.57 ]
1800 | groundColor [ 0 0.8 0,
1801 | 0.174249 0.82 0.187362,
1802 | 0.467223 0.82 0.445801,
1803 | 0.621997 0.67 0.600279 ]
1804 | backUrl "texture/Stars.gif"
1805 | bottomUrl "texture/Stars.gif"
1806 | frontUrl "texture/Stars.gif"
1807 | leftUrl "texture/Stars.gif"
1808 | rightUrl "texture/Stars.gif"
1809 | topUrl "texture/Stars.gif"
1810 | skyAngle [ 0.1, 1.2, 1.57 ]
1811 | skyColor [ 0.76238 0.8 0.1427,
1812 | 0.277798 0.219779 0.7,
1813 | 0.222549 0.390234 0.7,
1814 | 0.60094 0.662637 0.69 ]
1815 | }
1816 | DEF Front Viewpoint {
1817 | position 0 0 500
1818 | description "Front_View"
1819 | }
1820 | DEF Right Viewpoint {
1821 | orientation 0 1 0 1.5708
1822 | position 500 0 0
1823 | description "Right_View"
1824 | }
1825 | DEF Back Viewpoint {
1826 | orientation 0 1 0 3.14159
1827 | position 0 0 -500
1828 | description "Back_View"
1829 | }
1830 | DEF Left Viewpoint {
1831 | orientation 0 -1 0 1.5708
1832 | position -500 0 0
1833 | description "Right_View"
1834 | }
1835 | DEF Top_View Viewpoint {
1836 | orientation 1 0 0 1.5708
1837 | position 0 -500 0
1838 | description "Top_View"
1839 | }
1840 | DEF Bottom_View Viewpoint {
1841 | orientation -1 0 0 1.5708
1842 | position 0 500 0
1843 | description "Top_View"
1844 | }
1845 | DEF Earth Transform {
1846 | translation 0 0 0
1847 | scale 1.5 1.5 1.5
1848 | children Shape {
1849 | appearance Appearance {
1850 | material Material {
1851 | ambientIntensity 0.2
1852 | diffuseColor 0.8 0.471841 0.503074
1853 | emissiveColor 0.35 0.237062 0.271762
1854 | specularColor 0.45 0.282414 0.308843
1855 | }
1856 |
1857 | texture DEF Marble_Blue ImageTexture {
1858 | url "texture/world_physical_enhanced_giclee_lg.jpg"
1859 | repeatS FALSE
1860 | repeatT FALSE
1861 | }
1862 |
1863 | }
1864 |
1865 | geometry Sphere {
1866 | radius 67.31
1867 | }
1868 |
1869 | }
1870 | }
1871 |
--------------------------------------------------------------------------------
/keplerEq.m:
--------------------------------------------------------------------------------
1 | function E = keplerEq(M,e,eps)
2 | En = M;
3 | Ens = En - (En-e*sin(En)- M)/(1 - e*cos(En));
4 | while ( abs(Ens-En) > eps )
5 | En = Ens;
6 | Ens = En - (En - e*sin(En) - M)/(1 - e*cos(En));
7 | end;
8 | E = Ens;
9 | end
--------------------------------------------------------------------------------
/texture/Marble3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nauaneed/OrbitPropagator/3a3fea6d72950142d48fc37de7df1fc9dc35d271/texture/Marble3.jpg
--------------------------------------------------------------------------------
/texture/SolarPanel.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nauaneed/OrbitPropagator/3a3fea6d72950142d48fc37de7df1fc9dc35d271/texture/SolarPanel.jpg
--------------------------------------------------------------------------------
/texture/Stars.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nauaneed/OrbitPropagator/3a3fea6d72950142d48fc37de7df1fc9dc35d271/texture/Stars.gif
--------------------------------------------------------------------------------
/texture/world_physical_enhanced_giclee_lg.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nauaneed/OrbitPropagator/3a3fea6d72950142d48fc37de7df1fc9dc35d271/texture/world_physical_enhanced_giclee_lg.jpg
--------------------------------------------------------------------------------