a1=1 a2=1/(1+a1) an=1/(1+a(n-1)),求a25(结果保留10位小数)

使用C语言实现递归公式a1=1, a2=1/(1+a1), an=1/(1+a(n-1)),计算a25的结果并保留10位小数。" 107275434,8783232,Unity3D游戏开发教程:构建3D仿真,第三部分,"['游戏开发', 'Unity', '3D仿真', 'C#编程', '游戏设计']
#include<stdio.h>
void main()
{
   
   
	int n;
	double a;
	for(n=1;n<=25;n++)
	{
   
   </
<div class="next-virtual-tree-container"><div class="next-virtual-list-wrapper" style="position: relative; height: 1092px;"><div style="transform: translate(0px, 0px);"><ul role="tree" aria-multiselectable="false" class="next-tree next-label-block next-node-indent mr-change-file-tree"><li role="presentation" class="next-tree-node" id="tree_f327158de5da6cc3ccb8bf1e6efb8439ec18a473" level="1"><div role="treeitem" aria-selected="false" aria-disabled="false" aria-checked="false" aria-expanded="true" aria-level="1" aria-posinset="1" aria-setsize="39" class="next-tree-node-inner" tabindex="0"><span class="next-tree-switcher next-noline"><i class="next-icon next-icon-arrow-down next-medium next-tree-switcher-icon next-tree-fold-icon"></i></span><div class="next-tree-node-label-wrapper" data-spm-anchor-id="a2cl9.codeup_devops2020_goldlog_projectCodeReviewDetail.0.i0.1a4b2f95Riq47i"><div class="next-tree-node-label next-tree-node-label-selectable"><i class="teamix-icon teamix-icon-folder-line teamix-medium" style="color: var(--color-text1-2, #6e6e6e);"><svg viewBox="0 0 1024 1024"><use xlink:href="#yunxiao-folder-line"></use></svg></i><span class="label-content "><div class="teamix-title"><span>develop/api</span></div></span></div></div></div></li><li role="presentation" class="next-tree-node" id="tree_645502b1c12dbd3e90161f42b35ac4842b2f1bc0" level="2"><div role="treeitem" aria-selected="false" aria-disabled="false" aria-checked="false" aria-expanded="true" aria-level="2" aria-posinset="2" aria-setsize="39" class="next-tree-node-inner" tabindex="-1"><span class="next-tree-node-indent-unit"></span><span class="next-tree-switcher next-noline"><i class="next-icon next-icon-arrow-down next-medium next-tree-switcher-icon next-tree-fold-icon"></i></span><div class="next-tree-node-label-wrapper"><div class="next-tree-node-label next-tree-node-label-selectable"><i class="teamix-icon teamix-icon-folder-line teamix-medium" style="color: var(--color-text1-2, #6e6e6e);"><svg viewBox="0 0 1024 1024"><use xlink:href="#yunxiao-folder-line"></use></svg></i><span class="label-content "><div class="teamix-title"><span>cc</span></div></span></div></div></div></li><li role="presentation" class="next-tree-node" id="tree_26795b2da1ced4325633e17429a14a6d65b37997" level="3"><div role="treeitem" aria-selected="false" aria-disabled="false" aria-checked="false" aria-expanded="false" aria-level="3" aria-posinset="3" aria-setsize="39" class="next-tree-node-inner" tabindex="-1"><span class="next-tree-node-indent-unit"></span><span class="next-tree-node-indent-unit"></span><span class="next-tree-switcher next-noop-noline"></span><div class="next-tree-node-label-wrapper"><div class="next-tree-node-label next-tree-node-label-selectable"><div class="mr-file-read-state"><span class="next-badge next-badge-not-a-wrapper mr-file-read-badge"></span><i class="teamix-icon teamix-icon-modified-code-file-line teamix-small"><svg viewBox="0 0 1024 1024"><use xlink:href="#yunxiao-modified-code-file-line"></use></svg></i></div><span class="label-content read"><div class="teamix-title"><span>agenda.adoc</span></div><span class="label-content-right"><span class="changes-tree-item-right-item add-lines">+ 79</span><span class="changes-tree-item-right-item del-lines" style="margin-left: 8px;">- 47</span></span></span></div></div></div></li><li role="presentation" class="next-tree-node" id="tree_2bf30c75cda26b6da9a01bb778c3f18caff120b7" level="3"><div role="treeitem" aria-selected="false" aria-disabled="false" aria-checked="false" aria-expanded="false" aria-level="3" aria-posinset="4" aria-setsize="39" class="next-tree-node-inner" tabindex="-1"><span class="next-tree-node-indent-unit"></span><span class="next-tree-node-indent-unit"></span><span class="next-tree-switcher next-noop-noline"></span><div class="next-tree-node-label-wrapper"><div class="next-tree-node-label next-tree-node-label-selectable"><div class="mr-file-read-state"><span class="next-badge next-badge-not-a-wrapper mr-file-read-badge"></span><i class="teamix-icon teamix-icon-modified-code-file-line teamix-small"><svg viewBox="0 0 1024 1024"><use xlink:href="#yunxiao-modified-code-file-line"></use></svg></i></div><span class="label-content read"><div class="teamix-title"><span>bot-asr.adoc</span></div><span class="label-content-right"><span class="changes-tree-item-right-item add-lines">+ 3</span><span class="changes-tree-item-right-item del-lines" style="margin-left: 8px;">- 3</span></span></span></div></div></div></li><li role="presentation" class="next-tree-node" id="tree_5415bbf49cd2dce85711212f52e33e311f53396b" level="3"><div role="treeitem" aria-selected="false" aria-disabled="false" aria-checked="false" aria-expanded="false" aria-level="3" aria-posinset="5" aria-setsize="39" class="next-tree-node-inner" tabindex="-1"><span class="next-tree-node-indent-unit"></span><span class="next-tree-node-indent-unit"></span><span class="next-tree-switcher next-noop-noline"></span><div class="next-tree-node-label-wrapper"><div class="next-tree-node-label next-tree-node-label-selectable"><div class="mr-file-read-state"><span class="next-badge next-badge-not-a-wrapper mr-file-read-badge"></span><i class="teamix-icon teamix-icon-modified-code-file-line teamix-small"><svg viewBox="0 0 1024 1024"><use xlink:href="#yunxiao-modified-code-file-line"></use></svg></i></div><span class="label-content read"><div class="teamix-title"><span>cache.adoc</span></div><span class="label-content-right"><span class="changes-tree-item-right-item add-lines">+ 7</span><span class="changes-tree-item-right-item del-lines" style="margin-left: 8px;">- 8</span></span></span></div></div></div></li><li role="presentation" class="next-tree-node" id="tree_2244b0780bfca45f4c922db59e053b3883112722" level="3"><div role="treeitem" aria-selected="true" aria-disabled="false" aria-checked="false" aria-expanded="false" aria-level="3" aria-posinset="6" aria-setsize="39" class="next-tree-node-inner next-selected" tabindex="-1"><span class="next-tree-node-indent-unit"></span><span class="next-tree-node-indent-unit"></span><span class="next-tree-switcher next-noop-noline"></span><div class="next-tree-node-label-wrapper"><div class="next-tree-node-label next-tree-node-label-selectable"><div class="mr-file-read-state"><span class="next-badge next-badge-not-a-wrapper mr-file-read-badge"></span><i class="teamix-icon teamix-icon-modified-code-file-line teamix-small"><svg viewBox="0 0 1024 1024"><use xlink:href="#yunxiao-modified-code-file-line"></use></svg></i></div><span class="label-content selected read"><div class="teamix-title"><span>call.adoc</span></div><span class="label-content-right"><span class="changes-tree-item-right-item add-lines">+ 225</span><span class="changes-tree-item-right-item del-lines" style="margin-left: 8px;">- 24</span></span></span></div></div></div></li><li role="presentation" class="next-tree-node" id="tree_c0db26d547a3e13a3e725335a3810f5427c6041f" level="3"><div role="treeitem" aria-selected="false" aria-disabled="false" aria-checked="false" aria-expanded="false" aria-level="3" aria-posinset="7" aria-setsize="39" class="next-tree-node-inner" tabindex="-1"><span class="next-tree-node-indent-unit"></span><span class="next-tree-node-indent-unit"></span><span class="next-tree-switcher next-noop-noline"></span><div class="next-tree-node-label-wrapper"><div class="next-tree-node-label next-tree-node-label-selectable"><div class="mr-file-read-state"><span class="next-badge next-badge-not-a-wrapper mr-file-read-badge"></span><i class="teamix-icon teamix-icon-modified-code-file-line teamix-small"><svg viewBox="0 0 1024 1024"><use xlink:href="#yunxiao-modified-code-file-line"></use></svg></i></div><span class="label-content read"><div class="teamix-title"><span>cdr-ib.adoc</span></div><span class="label-content-right"><span class="changes-tree-item-right-item add-lines">+ 5</span><span class="changes-tree-item-right-item del-lines" style="margin-left: 8px;">- 5</span></span></span></div></div></div></li><li role="presentation" class="next-tree-node" id="tree_36daf1c4dc152afacb2964a0a4d980cbfeac4190" level="3"><div role="treeitem" aria-selected="false" aria-disabled="false" aria-checked="false" aria-expanded="false" aria-level="3" aria-posinset="8" aria-setsize="39" class="next-tree-node-inner" tabindex="-1"><span class="next-tree-node-indent-unit"></span><span class="next-tree-node-indent-unit"></span><span class="next-tree-switcher next-noop-noline"></span><div class="next-tree-node-label-wrapper"><div class="next-tree-node-label next-tree-node-label-selectable"><div class="mr-file-read-state"><span class="next-badge next-badge-not-a-wrapper mr-file-read-badge"></span><i class="teamix-icon teamix-icon-modified-code-file-line teamix-small"><svg viewBox="0 0 1024 1024"><use xlink:href="#yunxiao-modified-code-file-line"></use></svg></i></div><span class="label-content read"><div class="teamix-title"><span>cdr-new-ib.adoc</span></div><span class="label-content-right"><span class="changes-tree-item-right-item add-lines">+ 45</span><span class="changes-tree-item-right-item del-lines" style="margin-left: 8px;">- 19</span></span></span></div></div></div></li><li role="presentation" class="next-tree-node" id="tree_622909527d2dc809366984c977e94ccd65d5bce3" level="3"><div role="treeitem" aria-selected="false" aria-disabled="false" aria-checked="false" aria-expanded="false" aria-level="3" aria-posinset="9" aria-setsize="39" class="next-tree-node-inner" tabindex="-1"><span class="next-tree-node-indent-unit"></span><span class="next-tree-node-indent-unit"></span><span class="next-tree-switcher next-noop-noline"></span><div class="next-tree-node-label-wrapper"><div class="next-tree-node-label next-tree-node-label-selectable"><div class="mr-file-read-state"><span class="next-badge next-badge-not-a-wrapper mr-file-read-badge"></span><i class="teamix-icon teamix-icon-modified-code-file-line teamix-small"><svg viewBox="0 0 1024 1024"><use xlink:href="#yunxiao-modified-code-file-line"></use></svg></i></div><span class="label-content "><div class="teamix-title"><span>cdr-new-ob.adoc</span></div><span class="label-content-right"><span class="changes-tree-item-right-item add-lines">+ 2</span><span class="changes-tree-item-right-item del-lines" style="margin-left: 8px;">- 2</span></span></span></div></div></div></li><li role="presentation" class="next-tree-node" id="tree_2a6ecd488c46a3b580371de33343d8cfde3a411f" level="3"><div role="treeitem" aria-selected="false" aria-disabled="false" aria-checked="false" aria-expanded="false" aria-level="3" aria-posinset="10" aria-setsize="39" class="next-tree-node-inner" tabindex="-1"><span class="next-tree-node-indent-unit"></span><span class="next-tree-node-indent-unit"></span><span class="next-tree-switcher next-noop-noline"></span><div class="next-tree-node-label-wrapper"><div class="next-tree-node-label next-tree-node-label-selectable"><div class="mr-file-read-state"><span class="next-badge next-badge-not-a-wrapper mr-file-read-badge"></span><i class="teamix-icon teamix-icon-modified-code-file-line teamix-small"><svg viewBox="0 0 1024 1024"><use xlink:href="#yunxiao-modified-code-file-line"></use></svg></i></div><span class="label-content "><div class="teamix-title"><span>cdr-ob.adoc</span></div><span class="label-content-right"><span class="changes-tree-item-right-item add-lines">+ 1</span><span class="changes-tree-item-right-item del-lines" style="margin-left: 8px;">- 4</span></span></span></div></div></div></li><li role="presentation" class="next-tree-node" id="tree_b2f2e0948f378d82249b208abc74336d186b9015" level="3"><div role="treeitem" aria-selected="false" aria-disabled="false" aria-checked="false" aria-expanded="false" aria-level="3" aria-posinset="11" aria-setsize="39" class="next-tree-node-inner" tabindex="-1"><span class="next-tree-node-indent-unit"></span><span class="next-tree-node-indent-unit"></span><span class="next-tree-switcher next-noop-noline"></span><div class="next-tree-node-label-wrapper"><div class="next-tree-node-label next-tree-node-label-selectable"><div class="mr-file-read-state"><span class="next-badge next-badge-not-a-wrapper mr-file-read-badge"></span><i class="teamix-icon teamix-icon-modified-code-file-line teamix-small"><svg viewBox="0 0 1024 1024"><use xlink:href="#yunxiao-modified-code-file-line"></use></svg></i></div><span class="label-content "><div class="teamix-title"><span>cdr-webcall.adoc</span></div><span class="label-content-right"><span class="changes-tree-item-right-item add-lines">+ 10</span><span class="changes-tree-item-right-item del-lines" style="margin-left: 8px;">- 5</span></span></span></div></div></div></li><li role="presentation" class="next-tree-node" id="tree_c96ea8e19e39822d6b93792b6a1eca351192c195" level="3"><div role="treeitem" aria-selected="false" aria-disabled="false" aria-checked="false" aria-expanded="false" aria-level="3" aria-posinset="12" aria-setsize="39" class="next-tree-node-inner" tabindex="-1"><span class="next-tree-node-indent-unit"></span><span class="next-tree-node-indent-unit"></span><span class="next-tree-switcher next-noop-noline"></span><div class="next-tree-node-label-wrapper"><div class="next-tree-node-label next-tree-node-label-selectable"><div class="mr-file-read-state"><span class="next-badge next-badge-not-a-wrapper mr-file-read-badge"></span><i class="teamix-icon teamix-icon-modified-code-file-line teamix-small"><svg viewBox="0 0 1024 1024"><use xlink:href="#yunxiao-modified-code-file-line"></use></svg></i></div><span class="label-content read"><div class="teamix-title teamix-title-tooltip-trigger"><span>cloud-number.adoc</span></div><span class="label-content-right"><span class="changes-tree-item-right-item add-lines">+ 57</span><span class="changes-tree-item-right-item del-lines" style="margin-left: 8px;">- 17</span></span></span></div></div></div></li><li role="presentation" class="next-tree-node" id="tree_9f0f11e837f94eae5e698e87f4007496a028b790" level="3"><div role="treeitem" aria-selected="false" aria-disabled="false" aria-checked="false" aria-expanded="false" aria-level="3" aria-posinset="13" aria-setsize="39" class="next-tree-node-inner" tabindex="-1"><span class="next-tree-node-indent-unit"></span><span class="next-tree-node-indent-unit"></span><span class="next-tree-switcher next-noop-noline"></span><div class="next-tree-node-label-wrapper"><div class="next-tree-node-label next-tree-node-label-selectable"><div class="mr-file-read-state"><span class="next-badge next-badge-not-a-wrapper mr-file-read-badge"></span><i class="teamix-icon teamix-icon-modified-code-file-line teamix-small"><svg viewBox="0 0 1024 1024"><use xlink:href="#yunxiao-modified-code-file-line"></use></svg></i></div><span class="label-content read"><div class="teamix-title"><span>comment.adoc</span></div><span class="label-content-right"><span class="changes-tree-item-right-item add-lines">+ 1</span><span class="changes-tree-item-right-item del-lines" style="margin-left: 8px;">- 1</span></span></span></div></div></div></li><li role="presentation" class="next-tree-node" id="tree_de8eed9622827c92e2bef5b723b34973853f5d1e" level="3"><div role="treeitem" aria-selected="false" aria-disabled="false" aria-checked="false" aria-expanded="false" aria-level="3" aria-posinset="14" aria-setsize="39" class="next-tree-node-inner" tabindex="-1"><span class="next-tree-node-indent-unit"></span><span class="next-tree-node-indent-unit"></span><span class="next-tree-switcher next-noop-noline"></span><div class="next-tree-node-label-wrapper"><div class="next-tree-node-label next-tree-node-label-selectable"><div class="mr-file-read-state"><span class="next-badge next-badge-not-a-wrapper mr-file-read-badge"></span><i class="teamix-icon teamix-icon-modified-code-file-line teamix-small"><svg viewBox="0 0 1024 1024"><use xlink:href="#yunxiao-modified-code-file-line"></use></svg></i></div><span class="label-content read"><div class="teamix-title teamix-title-tooltip-trigger"><span>config-client.adoc</span></div><span class="label-content-right"><span class="changes-tree-item-right-item add-lines">+ 299</span><span class="changes-tree-item-right-item del-lines" style="margin-left: 8px;">- 79</span></span></span></div></div></div></li><li role="presentation" class="next-tree-node" id="tree_70db9dfa2724ee83041e57034e35866fd984f490" level="3"><div role="treeitem" aria-selected="false" aria-disabled="false" aria-checked="false" aria-expanded="false" aria-level="3" aria-posinset="15" aria-setsize="39" class="next-tree-node-inner" tabindex="-1"><span class="next-tree-node-indent-unit"></span><span class="next-tree-node-indent-unit"></span><span class="next-tree-switcher next-noop-noline"></span><div class="next-tree-node-label-wrapper"><div class="next-tree-node-label next-tree-node-label-selectable"><div class="mr-file-read-state"><span class="next-badge next-badge-not-a-wrapper mr-file-read-badge"></span><i class="teamix-icon teamix-icon-modified-code-file-line teamix-small"><svg viewBox="0 0 1024 1024"><use xlink:href="#yunxiao-modified-code-file-line"></use></svg></i></div><span class="label-content read"><div class="teamix-title teamix-title-tooltip-trigger"><span>config-enterprise-pause.adoc</span></div><span class="label-content-right"><span class="changes-tree-item-right-item add-lines">+ 38</span><span class="changes-tree-item-right-item del-lines" style="margin-left: 8px;">- 16</span></span></span></div></div></div></li><li role="presentation" class="next-tree-node" id="tree_06f31b7e5b2206a07381e9a4514e1ee7360dd606" level="3"><div role="treeitem" aria-selected="false" aria-disabled="false" aria-checked="false" aria-expanded="false" aria-level="3" aria-posinset="16" aria-setsize="39" class="next-tree-node-inner" tabindex="-1"><span class="next-tree-node-indent-unit"></span><span class="next-tree-node-indent-unit"></span><span class="next-tree-switcher next-noop-noline"></span><div class="next-tree-node-label-wrapper"><div class="next-tree-node-label next-tree-node-label-selectable"><div class="mr-file-read-state"><span class="next-badge next-badge-not-a-wrapper mr-file-read-badge"></span><i class="teamix-icon teamix-icon-modified-code-file-line teamix-small"><svg viewBox="0 0 1024 1024"><use xlink:href="#yunxiao-modified-code-file-line"></use></svg></i></div><span class="label-content read"><div class="teamix-title teamix-title-tooltip-trigger"><span>config-exten.adoc</span></div><span class="label-content-right"><span class="changes-tree-item-right-item add-lines">+ 153</span><span class="changes-tree-item-right-item del-lines" style="margin-left: 8px;">- 43</span></span></span></div></div></div></li><li role="presentation" class="next-tree-node" id="tree_8668a164f3b579c32e2ff437e29a2d9b9e7facab" level="3"><div role="treeitem" aria-selected="false" aria-disabled="false" aria-checked="false" aria-expanded="false" aria-level="3" aria-posinset="17" aria-setsize="39" class="next-tree-node-inner" tabindex="-1"><span class="next-tree-node-indent-unit"></span><span class="next-tree-node-indent-unit"></span><span class="next-tree-switcher next-noop-noline"></span><div class="next-tree-node-label-wrapper"><div class="next-tree-node-label next-tree-node-label-selectable"><div class="mr-file-read-state"><span class="next-badge next-badge-not-a-wrapper mr-file-read-badge"></span><i class="teamix-icon teamix-icon-modified-code-file-line teamix-small"><svg viewBox="0 0 1024 1024"><use xlink:href="#yunxiao-modified-code-file-line"></use></svg></i></div><span class="label-content "><div class="teamix-title"><span>config-global.adoc</span></div><span class="label-content-right"><span class="changes-tree-item-right-item add-lines">+ 12</span></span></span></div></div></div></li><li role="presentation" class="next-tree-node" id="tree_02ee093280570525c4acdbfe1cb0638cbc01854e" level="3"><div role="treeitem" aria-selected="false" aria-disabled="false" aria-checked="false" aria-expanded="false" aria-level="3" aria-posinset="18" aria-setsize="39" class="next-tree-node-inner" tabindex="-1"><span class="next-tree-node-indent-unit"></span><span class="next-tree-node-indent-unit"></span><span class="next-tree-switcher next-noop-noline"></span><div class="next-tree-node-label-wrapper"><div class="next-tree-node-label next-tree-node-label-selectable"><div class="mr-file-read-state"><span class="next-badge next-badge-not-a-wrapper mr-file-read-badge"></span><i class="teamix-icon teamix-icon-modified-code-file-line teamix-small"><svg viewBox="0 0 1024 1024"><use xlink:href="#yunxiao-modified-code-file-line"></use></svg></i></div><span class="label-content "><div class="teamix-title"><span>config-ivr.adoc</span></div><span class="label-content-right"><span class="changes-tree-item-right-item add-lines">+ 2</span><span class="changes-tree-item-right-item del-lines" style="margin-left: 8px;">- 6</span></span></span></div></div></div></li><li role="presentation" class="next-tree-node" id="tree_262552720b3a25db9c10d0cb5ac1bf5917a4fbde" level="3"><div role="treeitem" aria-selected="false" aria-disabled="false" aria-checked="false" aria-expanded="false" aria-level="3" aria-posinset="19" aria-setsize="39" class="next-tree-node-inner" tabindex="-1"><span class="next-tree-node-indent-unit"></span><span class="next-tree-node-indent-unit"></span><span class="next-tree-switcher next-noop-noline"></span><div class="next-tree-node-label-wrapper"><div class="next-tree-node-label next-tree-node-label-selectable"><div class="mr-file-read-state"><span class="next-badge next-badge-not-a-wrapper mr-file-read-badge"></span><i class="teamix-icon teamix-icon-modified-code-file-line teamix-small"><svg viewBox="0 0 1024 1024"><use xlink:href="#yunxiao-modified-code-file-line"></use></svg></i></div><span class="label-content read"><div class="teamix-title teamix-title-tooltip-trigger"><span>config-number.adoc</span></div><span class="label-content-right"><span class="changes-tree-item-right-item add-lines">+ 70</span><span class="changes-tree-item-right-item del-lines" style="margin-left: 8px;">- 41</span></span></span></div></div></div></li><li role="presentation" class="next-tree-node" id="tree_b6eaed69a33cbb7bcc82256fbbf6fe8fb99d61f2" level="3"><div role="treeitem" aria-selected="false" aria-disabled="false" aria-checked="false" aria-expanded="false" aria-level="3" aria-posinset="20" aria-setsize="39" class="next-tree-node-inner" tabindex="-1"><span class="next-tree-node-indent-unit"></span><span class="next-tree-node-indent-unit"></span><span class="next-tree-switcher next-noop-noline"></span><div class="next-tree-node-label-wrapper"><div class="next-tree-node-label next-tree-node-label-selectable"><div class="mr-file-read-state"><span class="next-badge next-badge-not-a-wrapper mr-file-read-badge"></span><i class="teamix-icon teamix-icon-modified-code-file-line teamix-small"><svg viewBox="0 0 1024 1024"><use xlink:href="#yunxiao-modified-code-file-line"></use></svg></i></div><span class="label-content read"><div class="teamix-title teamix-title-tooltip-trigger"><span>config-queue.adoc</span></div><span class="label-content-right"><span class="changes-tree-item-right-item add-lines">+ 135</span><span class="changes-tree-item-right-item del-lines" style="margin-left: 8px;">- 52</span></span></span></div></div></div></li><li role="presentation" class="next-tree-node" id="tree_e153e556cf95e0de8a4dc3c6b4dd5c771766c76c" level="3"><div role="treeitem" aria-selected="false" aria-disabled="false" aria-checked="false" aria-expanded="false" aria-level="3" aria-posinset="21" aria-setsize="39" class="next-tree-node-inner" tabindex="-1"><span class="next-tree-node-indent-unit"></span><span class="next-tree-node-indent-unit"></span><span class="next-tree-switcher next-noop-noline"></span><div class="next-tree-node-label-wrapper"><div class="next-tree-node-label next-tree-node-label-selectable"><div class="mr-file-read-state"><span class="next-badge next-badge-not-a-wrapper mr-file-read-badge"></span><i class="teamix-icon teamix-icon-modified-code-file-line teamix-small"><svg viewBox="0 0 1024 1024"><use xlink:href="#yunxiao-modified-code-file-line"></use></svg></i></div><span class="label-content read"><div class="teamix-title teamix-title-tooltip-trigger"><span>config-restrict-tel.adoc</span></div><span class="label-content-right"><span class="changes-tree-item-right-item add-lines">+ 63</span><span class="changes-tree-item-right-item del-lines" style="margin-left: 8px;">- 29</span></span></span></div></div></div></li><li role="presentation" class="next-tree-node" id="tree_7b76e5a55474a067b0a786da41180f97dc45fb7f" level="3"><div role="treeitem" aria-selected="false" aria-disabled="false" aria-checked="false" aria-expanded="false" aria-level="3" aria-posinset="22" aria-setsize="39" class="next-tree-node-inner" tabindex="-1"><span class="next-tree-node-indent-unit"></span><span class="next-tree-node-indent-unit"></span><span class="next-tree-switcher next-noop-noline"></span><div class="next-tree-node-label-wrapper"><div class="next-tree-node-label next-tree-node-label-selectable"><div class="mr-file-read-state"><span class="next-badge next-badge-not-a-wrapper mr-file-read-badge"></span><i class="teamix-icon teamix-icon-modified-code-file-line teamix-small"><svg viewBox="0 0 1024 1024"><use xlink:href="#yunxiao-modified-code-file-line"></use></svg></i></div><span class="label-content "><div class="teamix-title teamix-title-tooltip-trigger"><span>enterprise-info.adoc</span></div><span class="label-content-right"><span class="changes-tree-item-right-item add-lines">+ 12</span><span class="changes-tree-item-right-item del-lines" style="margin-left: 8px;">- 3</span></span></span></div></div></div></li><li role="presentation" class="next-tree-node" id="tree_3b2284d33f54f511379b41f9ff4b798a4aa1ac69" level="3"><div role="treeitem" aria-selected="false" aria-disabled="false" aria-checked="false" aria-expanded="false" aria-level="3" aria-posinset="23" aria-setsize="39" class="next-tree-node-inner" tabindex="-1"><span class="next-tree-node-indent-unit"></span><span class="next-tree-node-indent-unit"></span><span class="next-tree-switcher next-noop-noline"></span><div class="next-tree-node-label-wrapper"><div class="next-tree-node-label next-tree-node-label-selectable"><div class="mr-file-read-state"><span class="next-badge next-badge-not-a-wrapper mr-file-read-badge"></span><i class="teamix-icon teamix-icon-modified-code-file-line teamix-small"><svg viewBox="0 0 1024 1024"><use xlink:href="#yunxiao-modified-code-file-line"></use></svg></i></div><span class="label-content "><div class="teamix-title"><span>intelligent.adoc</span></div><span class="label-content-right"><span class="changes-tree-item-right-item add-lines">+ 2</span><span class="changes-tree-item-right-item del-lines" style="margin-left: 8px;">- 2</span></span></span></div></div></div></li><li role="presentation" class="next-tree-node" id="tree_42245dcf3431cbc07b41363fe72e1b4b72b39521" level="3"><div role="treeitem" aria-selected="false" aria-disabled="false" aria-checked="false" aria-expanded="false" aria-level="3" aria-posinset="24" aria-setsize="39" class="next-tree-node-inner" tabindex="-1"><span class="next-tree-node-indent-unit"></span><span class="next-tree-node-indent-unit"></span><span class="next-tree-switcher next-noop-noline"></span><div class="next-tree-node-label-wrapper"><div class="next-tree-node-label next-tree-node-label-selectable"><div class="mr-file-read-state"><span class="next-badge next-badge-not-a-wrapper mr-file-read-badge"></span><i class="teamix-icon teamix-icon-modified-code-file-line teamix-small"><svg viewBox="0 0 1024 1024"><use xlink:href="#yunxiao-modified-code-file-line"></use></svg></i></div><span class="label-content "><div class="teamix-title"><span>investigation.adoc</span></div><span class="label-content-right"><span class="changes-tree-item-right-item add-lines">+ 8</span><span class="changes-tree-item-right-item del-lines" style="margin-left: 8px;">- 7</span></span></span></div></div></div></li><li role="presentation" class="next-tree-node" id="tree_2b79fcb8c33ac0fd04019d6ddc898a0cfa489836" level="3"><div role="treeitem" aria-selected="false" aria-disabled="false" aria-checked="false" aria-expanded="false" aria-level="3" aria-posinset="25" aria-setsize="39" class="next-tree-node-inner" tabindex="-1"><span class="next-tree-node-indent-unit"></span><span class="next-tree-node-indent-unit"></span><span class="next-tree-switcher next-noop-noline"></span><div class="next-tree-node-label-wrapper"><div class="next-tree-node-label next-tree-node-label-selectable"><div class="mr-file-read-state"><span class="next-badge next-badge-not-a-wrapper mr-file-read-badge"></span><i class="teamix-icon teamix-icon-modified-code-file-line teamix-small"><svg viewBox="0 0 1024 1024"><use xlink:href="#yunxiao-modified-code-file-line"></use></svg></i></div><span class="label-content "><div class="teamix-title"><span>ivr-script.adoc</span></div><span class="label-content-right"><span class="changes-tree-item-right-item add-lines">+ 2</span><span class="changes-tree-item-right-item del-lines" style="margin-left: 8px;">- 2</span></span></span></div></div></div></li><li role="presentation" class="next-tree-node" id="tree_7aeb796e6c100399330afc26c134f13a6ab83255" level="3"><div role="treeitem" aria-selected="false" aria-disabled="false" aria-checked="false" aria-expanded="false" aria-level="3" aria-posinset="26" aria-setsize="39" class="next-tree-node-inner" tabindex="-1"><span class="next-tree-node-indent-unit"></span><span class="next-tree-node-indent-unit"></span><span class="next-tree-switcher next-noop-noline"></span><div class="next-tree-node-label-wrapper"><div class="next-tree-node-label next-tree-node-label-selectable"><div class="mr-file-read-state"><span class="next-badge next-badge-not-a-wrapper mr-file-read-badge"></span><i class="teamix-icon teamix-icon-modified-code-file-line teamix-small"><svg viewBox="0 0 1024 1024"><use xlink:href="#yunxiao-modified-code-file-line"></use></svg></i></div><span class="label-content read"><div class="teamix-title"><span>log.adoc</span></div><span class="label-content-right"><span class="changes-tree-item-right-item add-lines">+ 17</span><span class="changes-tree-item-right-item del-lines" style="margin-left: 8px;">- 8</span></span></span></div></div></div></li><li role="presentation" class="next-tree-node" id="tree_d2f1e29c432a686aa88c4cb1fb143d5d4318693d" level="3"><div role="treeitem" aria-selected="false" aria-disabled="false" aria-checked="false" aria-expanded="false" aria-level="3" aria-posinset="27" aria-setsize="39" class="next-tree-node-inner" tabindex="-1"><span class="next-tree-node-indent-unit"></span><span class="next-tree-node-indent-unit"></span><span class="next-tree-switcher next-noop-noline"></span><div class="next-tree-node-label-wrapper"><div class="next-tree-node-label next-tree-node-label-selectable"><div class="mr-file-read-state"><span class="next-badge next-badge-not-a-wrapper mr-file-read-badge"></span><i class="teamix-icon teamix-icon-modified-code-file-line teamix-small"><svg viewBox="0 0 1024 1024"><use xlink:href="#yunxiao-modified-code-file-line"></use></svg></i></div><span class="label-content read"><div class="teamix-title"><span>manage.adoc</span></div><span class="label-content-right"><span class="changes-tree-item-right-item add-lines">+ 101</span><span class="changes-tree-item-right-item del-lines" style="margin-left: 8px;">- 21</span></span></span></div></div></div></li><li role="presentation" class="next-tree-node" id="tree_5e970457d3b2936ae361e83bf05ab5ff9d2fefe2" level="3"><div role="treeitem" aria-selected="false" aria-disabled="false" aria-checked="false" aria-expanded="false" aria-level="3" aria-posinset="28" aria-setsize="39" class="next-tree-node-inner" tabindex="-1"><span class="next-tree-node-indent-unit"></span><span class="next-tree-node-indent-unit"></span><span class="next-tree-switcher next-noop-noline"></span><div class="next-tree-node-label-wrapper"><div class="next-tree-node-label next-tree-node-label-selectable"><div class="mr-file-read-state"><span class="next-badge next-badge-not-a-wrapper mr-file-read-badge"></span><i class="teamix-icon teamix-icon-modified-code-file-line teamix-small"><svg viewBox="0 0 1024 1024"><use xlink:href="#yunxiao-modified-code-file-line"></use></svg></i></div><span class="label-content read"><div class="teamix-title"><span>monitor.adoc</span></div><span class="label-content-right"><span class="changes-tree-item-right-item add-lines">+ 44</span><span class="changes-tree-item-right-item del-lines" style="margin-left: 8px;">- 28</span></span></span></div></div></div></li><li role="presentation" class="next-tree-node" id="tree_d93cc6a762355686be58a79adb0678a8da962e60" level="3"><div role="treeitem" aria-selected="false" aria-disabled="false" aria-checked="false" aria-expanded="false" aria-level="3" aria-posinset="29" aria-setsize="39" class="next-tree-node-inner" tabindex="-1"><span class="next-tree-node-indent-unit"></span><span class="next-tree-node-indent-unit"></span><span class="next-tree-switcher next-noop-noline"></span><div class="next-tree-node-label-wrapper"><div class="next-tree-node-label next-tree-node-label-selectable"><div class="mr-file-read-state"><span class="next-badge next-badge-not-a-wrapper mr-file-read-badge"></span><i class="teamix-icon teamix-icon-modified-code-file-line teamix-small"><svg viewBox="0 0 1024 1024"><use xlink:href="#yunxiao-modified-code-file-line"></use></svg></i></div><span class="label-content "><div class="teamix-title"><span>record.adoc</span></div><span class="label-content-right"><span class="changes-tree-item-right-item add-lines">+ 1</span><span class="changes-tree-item-right-item del-lines" style="margin-left: 8px;">- 1</span></span></span></div></div></div></li><li role="presentation" class="next-tree-node" id="tree_71af7fbc40f41108388d6bad45a6d27f6b8b095c" level="3"><div role="treeitem" aria-selected="false" aria-disabled="false" aria-checked="false" aria-expanded="false" aria-level="3" aria-posinset="30" aria-setsize="39" class="next-tree-node-inner" tabindex="-1"><span class="next-tree-node-indent-unit"></span><span class="next-tree-node-indent-unit"></span><span class="next-tree-switcher next-noop-noline"></span><div class="next-tree-node-label-wrapper"><div class="next-tree-node-label next-tree-node-label-selectable"><div class="mr-file-read-state"><span class="next-badge next-badge-not-a-wrapper mr-file-read-badge"></span><i class="teamix-icon teamix-icon-modified-code-file-line teamix-small"><svg viewBox="0 0 1024 1024"><use xlink:href="#yunxiao-modified-code-file-line"></use></svg></i></div><span class="label-content read"><div class="teamix-title"><span>report.adoc</span></div><span class="label-content-right"><span class="changes-tree-item-right-item add-lines">+ 225</span><span class="changes-tree-item-right-item del-lines" style="margin-left: 8px;">- 119</span></span></span></div></div></div></li><li role="presentation" class="next-tree-node" id="tree_00e44423e8a5374da656f4c501c5a95c417fc545" level="3"><div role="treeitem" aria-selected="false" aria-disabled="false" aria-checked="false" aria-expanded="false" aria-level="3" aria-posinset="31" aria-setsize="39" class="next-tree-node-inner" tabindex="-1"><span class="next-tree-node-indent-unit"></span><span class="next-tree-node-indent-unit"></span><span class="next-tree-switcher next-noop-noline"></span><div class="next-tree-node-label-wrapper"><div class="next-tree-node-label next-tree-node-label-selectable"><div class="mr-file-read-state"><span class="next-badge next-badge-not-a-wrapper mr-file-read-badge"></span><i class="teamix-icon teamix-icon-modified-code-file-line teamix-small"><svg viewBox="0 0 1024 1024"><use xlink:href="#yunxiao-modified-code-file-line"></use></svg></i></div><span class="label-content read"><div class="teamix-title"><span>sms.adoc</span></div><span class="label-content-right"><span class="changes-tree-item-right-item add-lines">+ 119</span><span class="changes-tree-item-right-item del-lines" style="margin-left: 8px;">- 54</span></span></span></div></div></div></li><li role="presentation" class="next-tree-node" id="tree_e48fa19c604cb18d50fbd8c024fc8fee1ded3c33" level="3"><div role="treeitem" aria-selected="false" aria-disabled="false" aria-checked="false" aria-expanded="false" aria-level="3" aria-posinset="32" aria-setsize="39" class="next-tree-node-inner" tabindex="-1"><span class="next-tree-node-indent-unit"></span><span class="next-tree-node-indent-unit"></span><span class="next-tree-switcher next-noop-noline"></span><div class="next-tree-node-label-wrapper"><div class="next-tree-node-label next-tree-node-label-selectable"><div class="mr-file-read-state"><span class="next-badge next-badge-not-a-wrapper mr-file-read-badge"></span><i class="teamix-icon teamix-icon-modified-code-file-line teamix-small"><svg viewBox="0 0 1024 1024"><use xlink:href="#yunxiao-modified-code-file-line"></use></svg></i></div><span class="label-content read"><div class="teamix-title"><span>sqc-asr.adoc</span></div><span class="label-content-right"><span class="changes-tree-item-right-item add-lines">+ 34</span><span class="changes-tree-item-right-item del-lines" style="margin-left: 8px;">- 11</span></span></span></div></div></div></li><li role="presentation" class="next-tree-node" id="tree_6ac9e8260de70a8375bf2d7aee6939aecb8743ca" level="3"><div role="treeitem" aria-selected="false" aria-disabled="false" aria-checked="false" aria-expanded="false" aria-level="3" aria-posinset="33" aria-setsize="39" class="next-tree-node-inner" tabindex="-1"><span class="next-tree-node-indent-unit"></span><span class="next-tree-node-indent-unit"></span><span class="next-tree-switcher next-noop-noline"></span><div class="next-tree-node-label-wrapper"><div class="next-tree-node-label next-tree-node-label-selectable"><div class="mr-file-read-state"><span class="next-badge next-badge-not-a-wrapper mr-file-read-badge"></span><i class="teamix-icon teamix-icon-modified-code-file-line teamix-small"><svg viewBox="0 0 1024 1024"><use xlink:href="#yunxiao-modified-code-file-line"></use></svg></i></div><span class="label-content "><div class="teamix-title"><span>sso-login.adoc</span></div><span class="label-content-right"><span class="changes-tree-item-right-item add-lines">+ 1</span><span class="changes-tree-item-right-item del-lines" style="margin-left: 8px;">- 1</span></span></span></div></div></div></li><li role="presentation" class="next-tree-node" id="tree_00b07295c64dbd5376df8d02bda47da65b4e8cc9" level="3"><div role="treeitem" aria-selected="false" aria-disabled="false" aria-checked="false" aria-expanded="false" aria-level="3" aria-posinset="34" aria-setsize="39" class="next-tree-node-inner" tabindex="-1"><span class="next-tree-node-indent-unit"></span><span class="next-tree-node-indent-unit"></span><span class="next-tree-switcher next-noop-noline"></span><div class="next-tree-node-label-wrapper"><div class="next-tree-node-label next-tree-node-label-selectable"><div class="mr-file-read-state"><span class="next-badge next-badge-not-a-wrapper mr-file-read-badge"></span><i class="teamix-icon teamix-icon-modified-code-file-line teamix-small"><svg viewBox="0 0 1024 1024"><use xlink:href="#yunxiao-modified-code-file-line"></use></svg></i></div><span class="label-content read"><div class="teamix-title teamix-title-tooltip-trigger"><span>task-property.adoc</span></div><span class="label-content-right"><span class="changes-tree-item-right-item add-lines">+ 10</span><span class="changes-tree-item-right-item del-lines" style="margin-left: 8px;">- 2</span></span></span></div></div></div></li><li role="presentation" class="next-tree-node" id="tree_dffb54a48011883825c29fdcd90af450763763f9" level="3"><div role="treeitem" aria-selected="false" aria-disabled="false" aria-checked="false" aria-expanded="false" aria-level="3" aria-posinset="35" aria-setsize="39" class="next-tree-node-inner" tabindex="-1"><span class="next-tree-node-indent-unit"></span><span class="next-tree-node-indent-unit"></span><span class="next-tree-switcher next-noop-noline"></span><div class="next-tree-node-label-wrapper"><div class="next-tree-node-label next-tree-node-label-selectable"><div class="mr-file-read-state"><span class="next-badge next-badge-not-a-wrapper mr-file-read-badge"></span><i class="teamix-icon teamix-icon-modified-code-file-line teamix-small"><svg viewBox="0 0 1024 1024"><use xlink:href="#yunxiao-modified-code-file-line"></use></svg></i></div><span class="label-content read"><div class="teamix-title"><span>voice-mail.adoc</span></div><span class="label-content-right"><span class="changes-tree-item-right-item add-lines">+ 9</span><span class="changes-tree-item-right-item del-lines" style="margin-left: 8px;">- 3</span></span></span></div></div></div></li><li role="presentation" class="next-tree-node" id="tree_8ad845fdbb2305336e6609d2f303542ebe2c245f" level="3"><div role="treeitem" aria-selected="false" aria-disabled="false" aria-checked="false" aria-expanded="false" aria-level="3" aria-posinset="36" aria-setsize="39" class="next-tree-node-inner" tabindex="-1"><span class="next-tree-node-indent-unit"></span><span class="next-tree-node-indent-unit"></span><span class="next-tree-switcher next-noop-noline"></span><div class="next-tree-node-label-wrapper"><div class="next-tree-node-label next-tree-node-label-selectable"><div class="mr-file-read-state"><span class="next-badge next-badge-not-a-wrapper mr-file-read-badge"></span><i class="teamix-icon teamix-icon-modified-code-file-line teamix-small"><svg viewBox="0 0 1024 1024"><use xlink:href="#yunxiao-modified-code-file-line"></use></svg></i></div><span class="label-content read"><div class="teamix-title"><span>wm_rtc.adoc</span></div><span class="label-content-right"><span class="changes-tree-item-right-item add-lines">+ 38</span><span class="changes-tree-item-right-item del-lines" style="margin-left: 8px;">- 13</span></span></span></div></div></div></li><li role="presentation" class="next-tree-node" id="tree_2d82ef1179abafdcd48e7f68df961e01b7166451" level="3"><div role="treeitem" aria-selected="false" aria-disabled="false" aria-checked="false" aria-expanded="false" aria-level="3" aria-posinset="37" aria-setsize="39" class="next-tree-node-inner" tabindex="-1"><span class="next-tree-node-indent-unit"></span><span class="next-tree-node-indent-unit"></span><span class="next-tree-switcher next-noop-noline"></span><div class="next-tree-node-label-wrapper"><div class="next-tree-node-label next-tree-node-label-selectable"><div class="mr-file-read-state"><span class="next-badge next-badge-not-a-wrapper mr-file-read-badge"></span><i class="teamix-icon teamix-icon-modified-code-file-line teamix-small"><svg viewBox="0 0 1024 1024"><use xlink:href="#yunxiao-modified-code-file-line"></use></svg></i></div><span class="label-content read"><div class="teamix-title"><span>ws-login.adoc</span></div><span class="label-content-right"><span class="changes-tree-item-right-item add-lines">+ 12</span><span class="changes-tree-item-right-item del-lines" style="margin-left: 8px;">- 3</span></span></span></div></div></div></li><li role="presentation" class="next-tree-node" id="tree_8acab7cec62a3e33f169fa70f0bc95410c10f6d0" level="2"><div role="treeitem" aria-selected="false" aria-disabled="false" aria-checked="false" aria-expanded="true" aria-level="2" aria-posinset="38" aria-setsize="39" class="next-tree-node-inner" tabindex="-1"><span class="next-tree-node-indent-unit"></span><span class="next-tree-switcher next-noline"><i class="next-icon next-icon-arrow-down next-medium next-tree-switcher-icon next-tree-fold-icon"></i></span><div class="next-tree-node-label-wrapper"><div class="next-tree-node-label next-tree-node-label-selectable"><i class="teamix-icon teamix-icon-folder-line teamix-medium" style="color: var(--color-text1-2, #6e6e6e);"><svg viewBox="0 0 1024 1024"><use xlink:href="#yunxiao-folder-line"></use></svg></i><span class="label-content "><div class="teamix-title"><span>include</span></div></span></div></div></div></li><li role="presentation" class="next-tree-node" id="tree_70f70460b38ad1cb9617bbfd726b33ee7aa2cfdb" level="3"><div role="treeitem" aria-selected="false" aria-disabled="false" aria-checked="false" aria-expanded="false" aria-level="3" aria-posinset="39" aria-setsize="39" class="next-tree-node-inner" tabindex="-1"><span class="next-tree-node-indent-unit"></span><span class="next-tree-node-indent-unit"></span><span class="next-tree-switcher next-noop-noline"></span><div class="next-tree-node-label-wrapper"><div class="next-tree-node-label next-tree-node-label-selectable"><div class="mr-file-read-state"><span class="next-badge next-badge-not-a-wrapper mr-file-read-badge"></span><i class="teamix-icon teamix-icon-modified-code-file-line teamix-small"><svg viewBox="0 0 1024 1024"><use xlink:href="#yunxiao-modified-code-file-line"></use></svg></i></div><span class="label-content "><div class="teamix-title"><span>preface-cc.adoc</span></div><span class="label-content-right"><span class="changes-tree-item-right-item add-lines">+ 4</span><span class="changes-tree-item-right-item del-lines" style="margin-left: 8px;">- 1</span></span></span></div></div></div></li></ul></div></div></div> 这是我插件所控制pr页面中文件相关代码,是否存在这样一种情况,只有点击文件之后才会进行创建从而生成该文件的diff,
最新发布
08-06
import numpy as np import math class Matrix: def __init__(self, data): self.data = np.array(data) self.row = self.data.shape[0] self.col = self.data.shape[1] if len(self.data.shape) > 1 else 1 def __getitem__(self, indices): return self.data[indices] def __setitem__(self, indices, value): self.data[indices] = value def __mul__(self, other): if isinstance(other, Matrix): return Matrix(np.dot(self.data, other.data)) elif isinstance(other, (int, float)): return Matrix(self.data * other) else: raise TypeError("Unsupported operand type for *") def __rmul__(self, other): return self.__mul__(other) def T(self): return Matrix(self.data.T) @property def AX(self): try: return Matrix(np.linalg.inv(self.data)) except np.linalg.LinAlgError: # 当矩阵不可逆时,返回伪逆 return Matrix(np.linalg.pinv(self.data)) def __str__(self): return str(self.data) def 获取旋转矩阵(fai, omg, kai): a1 = math.cos(fai) * math.cos(kai) - math.sin(fai) * math.sin(omg) * math.sin(kai) a2 = -math.cos(fai) * math.sin(kai) - math.sin(fai) * math.sin(omg) * math.cos(kai) a3 = -math.sin(fai) * math.cos(omg) b1 = math.cos(omg) * math.sin(kai) b2 = math.cos(omg) * math.cos(kai) b3 = -math.sin(omg) c1 = math.sin(fai) * math.cos(kai) + math.cos(fai) * math.sin(omg) * math.sin(kai) c2 = -math.sin(fai) * math.sin(kai) + math.cos(fai) * math.sin(omg) * math.cos(kai) c3 = math.cos(fai) * math.cos(omg) return Matrix([[a1, a2, a3], [b1, b2, b3], [c1, c2, c3]]) def 后方交会(像点坐标, 地面坐标, f, m=10000): n = 地面坐标.row Xs = 0; Ys = 0; Zs = 0 fai = 0; omg = 0; kai = 0 for _ in range(100): # 最大迭代次数设为100 R = 获取旋转矩阵(fai, omg, kai) a1 = R[0, 0]; a2 = R[0, 1]; a3 = R[0, 2] b1 = R[1, 0]; b2 = R[1, 1]; b3 = R[1, 2] c1 = R[2, 0]; c2 = R[2, 1]; c3 = R[2, 2] A = Matrix(np.zeros((n * 2, 6))) L = Matrix(np.zeros((n * 2, 1))) for i in range(n): x = 像点坐标[i, 0]; y = 像点坐标[i, 1] X = 地面坐标[i, 0]; Y = 地面坐标[i, 1]; Z = 地面坐标[i, 2] Xb = a1 * (X - Xs) + b1 * (Y - Ys) + c1 * (Z - Zs) Yb = a2 * (X - Xs) + b2 * (Y - Ys) + c2 * (Z - Zs) Zb = a3 * (X - Xs) + b3 * (Y - Ys) + c3 * (Z - Zs) a11 = (a1 * f + a3 * x) / Zb a12 = (b1 * f + b3 * x) / Zb a13 = (c1 * f + c3 * x) / Zb a21 = (a2 * f + a3 * y) / Zb a22 = (b2 * f + b3 * y) / Zb a23 = (c2 * f + c3 * y) / Zb a14 = y * math.sin(omg) - math.cos(omg) * (x * (x * math.cos(kai) - y * math.sin(kai)) / f + f * math.cos(kai)) a15 = -f * math.sin(kai) - x * (x * math.sin(kai) + y * math.cos(kai)) / f a16 = y a24 = -x * math.sin(omg) - (y * (x * math.cos(kai) - y * math.sin(kai)) / f - f * math.sin(kai)) * math.cos(omg) a25 = -f * math.cos(kai) - y * (x * math.sin(kai) + y * math.cos(kai)) / f a26 = -x lx = x + f * Xb / Zb ly = y + f * Yb / Zb A[2*i, 0] = a11; A[2*i, 1] = a12; A[2*i, 2] = a13 A[2*i, 3] = a14; A[2*i, 4] = a15; A[2*i, 5] = a16 A[2*i+1, 0] = a21; A[2*i+1, 1] = a22; A[2*i+1, 2] = a23 A[2*i+1, 3] = a24; A[2*i+1, 4] = a25; A[2*i+1, 5] = a26 L[2*i, 0] = lx; L[2*i+1, 0] = ly dX = (A.T() * A).AX * A.T() * L Xs += dX[0, 0] Ys += dX[1, 0] Zs += dX[2, 0] fai = (fai + dX[3, 0]) % math.pi omg = (omg + dX[4, 0]) % math.pi kai = (kai + dX[5, 0]) % math.pi if (abs(dX[0, 0]) <= 1.0E-10 and abs(dX[1, 0]) <= 1.0E-10 and abs(dX[2, 0]) <= 1.0E-10 and abs(dX[3, 0]) <= 1.0E-10 and abs(dX[4, 0]) <= 1.0E-10 and abs(dX[5, 0]) <= 1.0E-10): break return Matrix([[Xs], [Ys], [Zs], [fai], [omg], [kai]]) def 前方交会(左片像点, 右片像点, 左片外方元素, 右片外方元素, f): n = 左片像点.row 地面坐标 = Matrix(np.zeros((n, 3))) Bx = 右片外方元素[0, 0] - 左片外方元素[0, 0] By = 右片外方元素[1, 0] - 左片外方元素[1, 0] Bz = 右片外方元素[2, 0] - 左片外方元素[2, 0] R左 = 获取旋转矩阵(左片外方元素[3, 0], 左片外方元素[4, 0], 左片外方元素[5, 0]) R右 = 获取旋转矩阵(右片外方元素[3, 0], 右片外方元素[4, 0], 右片外方元素[5, 0]) for i in range(n): uvw1 = R左 * Matrix([[左片像点[i, 0]], [左片像点[i, 1]], [-f]]) uvw2 = R右 * Matrix([[右片像点[i, 0]], [右片像点[i, 1]], [-f]]) u1 = uvw1[0, 0]; v1 = uvw1[1, 0]; w1 = uvw1[2, 0] u2 = uvw2[0, 0]; v2 = uvw2[1, 0]; w2 = uvw2[2, 0] N1 = (Bx * w2 - Bz * u2) / (u1 * w2 - u2 * w1) N2 = (Bx * w1 - Bz * u1) / (u1 * w2 - u2 * w1) UVW1 = N1 * uvw1 UVW2 = N2 * uvw2 地面坐标[i, 0] = UVW1[0, 0] + 左片外方元素[0, 0] 地面坐标[i, 1] = 0.5 * (UVW1[1, 0] + 左片外方元素[1, 0] + UVW2[1, 0] + 右片外方元素[1, 0]) 地面坐标[i, 2] = UVW1[2, 0] + 左片外方元素[2, 0] return 地面坐标 def 后前交会(像点数据, 地面点数据, f): n = 地面点数据.row t = 像点数据.row - 地面点数据.row 左片像点 = Matrix(np.zeros((n, 2))) 右片像点 = Matrix(np.zeros((n, 2)))左片像点 = Matrix(np.zeros((t, 2)))右片像点 = Matrix(np.zeros((t, 2))) for i in range(n): 左片像点[i, 0] = 像点数据[i, 0] 左片像点[i, 1] = 像点数据[i, 1] 右片像点[i, 0] = 像点数据[i, 2] 右片像点[i, 1] = 像点数据[i, 3] for i in range(t): 待左片像点[i, 0] = 像点数据[i + n, 0] 待左片像点[i, 1] = 像点数据[i + n, 1] 待右片像点[i, 0] = 像点数据[i + n, 2] 待右片像点[i, 1] = 像点数据[i + n, 3] 左片外方元素 = 后方交会(左片像点, 地面点数据, f) 右片外方元素 = 后方交会(右片像点, 地面点数据, f)点地面坐标 = 前方交会(左片像点, 待右片像点, 左片外方元素, 右片外方元素, f) result = "外方元素测试\\n" + str(左片外方元素) + "\\n分割线——————————————————\\n" + str(右片外方元素) + "\\n地面坐标:\\n" + str(点地面坐标) # 保存结果到文件 with open("摄影测量学光束法计算结果.txt", "w", encoding="utf-8") as f: f.write(result) print("摄影测量学光束法计算结果已保存到文件: 摄影测量学光束法计算结果.txt") return result # 示例数据 像点数据 = Matrix([ [100, 200, 300, 400], [150, 250, 350, 450], [200, 300, 400, 500], [250, 350, 450, 550] ]) 地面点数据 = Matrix([ [1000, 2000, 3000], [1500, 2500, 3500], [2000, 3000, 4000] ]) f = 100 # 焦距 # 执行后前交会计算 result = 后前交会(像点数据, 地面点数据, f) print(result)解释代码
06-05
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Turin_虞凛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值