旋转相机与旋转场景点(只有点,而不是整个场景)有什么不同? [英] Different between rotating the camera vs rotating the scene point (only the point, not the entire scene)?

查看:194
本文介绍了旋转相机与旋转场景点(只有点,而不是整个场景)有什么不同?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我认为旋转相机并拍摄场景的照片会产生相同的结果,保持相机稳定并以相反的方式旋转场景。

假设原始相机旋转矩阵是R1。旋转相机意味着我们应用另一个旋转矩阵R12(因此R2 = R12 * R1是新的旋转矩阵)。假设X是场景点的真实坐标。以相反方式旋转场景点意味着我们将反向旋转矩阵R12 ^ -1应用于X(这可能是错误的)。

那么为什么(R12 * R1 )!= R1 (R12 ^ -1 * X)?



任何人都可以解释我' m错了?



ps我并不是在问这两种方法的复杂程度。我只想知道

(1)动作的数学方程式旋转场景

( 2)如果我假设的旋转场景方程是正确的,那么为什么数学方程不能像我所描述的那样反映现实世界中的现象。

编辑1 :根据 Spektre 的回答,当我用旋转矩阵R旋转整个场景时,新的相机旋转矩阵为

  R ^ -1 * R1 

在这种情况下,我用旋转矩阵R12 ^ -1旋转整个场景,然后新的相机旋转矩阵是

 ( R12 ^ -1)^  -  1 * R1 = R12 * R1 

但是,如果我考虑到旋转相机相当于旋转场景点X(仅场景点X,而不是整个场景)。那时,相机的旋转矩阵仍然是R1。但现场点X现在变成X'。 X'的图像坐标是R1 * X'。 X'的等式是什么?请注意,

  R1 * X'= R12 * R1 * X 

当然,您可以回答

  X'= R1 ^ -1 * R12 * R1 * X 



但我认为X'只能由R12和X来定义(R1不需要知道形成X')。这就是为什么我问旋转场景点的数学公式是什么。 X'是通过与R12相关的某个旋转矩阵的旋转X动作的结果。

另外一个例子,当相机不旋转但移动时。假设我正在拍摄一个站在我面前的模特的照片。她的位置是X.我的位置是C.在第一个例子中,我移动到右侧(我)并拍摄第一张照片。在第二种情况下,我不动,但模型以相同的步骤移动左侧(我),然后拍第二张照片。模型在两幅图像中的位置必须相同。这由数学公式表示:

pre $ code> [R1-R1 *(C + d)] * X = [R1-R1 *在上面的等式中(我检查是正确的),-R1(R)= 1, * C是平移矢量,-R1 *(C + d)是我向右移动时的平移矢量,(Xd)是模型移动到左边时的位置。


在上面的例子中,X'= X-d(所以X'是通过X和我的移动d来定义的)。在旋转相机的情况下,X'是什么?



编辑2 :由于 Spektre 不明白我的问题。需要强调的是,在第二种情况下,我不旋转整个世界,我只旋转点X.(如果我旋转整个世界,X的世界坐标在其世界旋转后保持不变,但如果我只旋转X,其世界坐标将变为X')。

想象一下拍摄模型照片的例子。在第一种情况下,我旋转相机并拍下她的第一张照片(和她的男朋友站在她旁边)。

在第二种情况下,我只沿相反方向旋转模型(她的男朋友很稳定),然后我拍第二张照片。当我比较两张照片时,模型的位置是相同的(她的男朋友的位置会不同)。

在这两种情况下,她男朋友的真实世界位置都是一样的。但是,自从我旋转她以来,模型的真实世界位置在第二种情况下发生了变化。我的问题是旋转她后,女孩的真实世界的位置是什么?

解决方案

:</strong>在数学上它们几乎是相同的(除了反转所有操作),但物理旋转相机意味着改变单个矩阵,但旋转场景,你必须旋转你的世界中的所有对象(可以是数千甚至更多),这是慢了很多...... </p> <br/> <br/> <p> <strong>但我认为<strong>标题和文字误导为<strong>真正的问题是</strong>线性代数矩阵方程。<br/> <br/> <R1>,R2,R12 </code>是平方矩阵的大小<code> N x N </code>和<code> X </code>是尺寸<code> N </code>的向量。如果我们忽略矢量方向(<code> 1 x N </code> vs <code> N x 1 </code>),那么对于您的约定:</p><pre> <code> R2 = R12.R1 <br/> R1 =逆(R12).R2 <br/> </code> </pre><p> so:</p><pre> <code> R12.R1.X == R12 。逆(R12).R2.X == R2.X <br/> </code> </pre><p>正如您可以在您的问题是错误的,因为你改变了矩阵乘法顺序,这是错误的,因为:<b> <br/> <br/> </p><pre> <code> R1.R12!= R12.R1 <br/> </code> </pre><p>如果您想更详细地了解为什么然后研究线性代数。<br/> <br/> <p> <strong> [Edit1]简单<code> 1x1 </code>示例</strong> <b> <b> </p><pre> <code> R1 = 1 <br/> R12 = 2 <br/> R2 = R12.R1 = 2 <br/> </code <br/> <br/> <br/> $ b <p>如此重写你的错误方程:<br/> <br/> </p><pre> <code> R12 * R1 * X!= R1 *逆(R12)* X <br/> 2 * 1 * X!= 1 * 0.5 * X <br/> 2 * X!= 0.5 * X <br/> <code> </pre><p>并使用正确的一个</p><pre> <code> R12 * R1 * X == R12 *逆(R12)* R2 * X == R2 * X <br/> 2 * 1 * X == 2 * 0.5 * 2 * X == 2 * X <br/> 2 * X == 2 * X == 2 * X <br/> </code> </pre><p> <strong> [Edit2]简单的2D示例</strong> <b> <br/> <br/> <p>我看到您仍然感到困惑,因此这里有一个<strong> 2D </strong>示例的问题:</p> <br/> <br/> <p> </p> <br/> <br/> <p>在左侧,您旋转了相机通过<code> R1 </code>来渲染变换世界点<code>(x,y)</code>到它的本地坐标<code>( X1,Y1)</code>。在右边的情况是相反的,所以相机坐标系是轴对齐的(单位矩阵),并且场景以<code>逆(R1)</code>反向旋转。这就是它的工作原理(在这种情况下<code> R1 </code>是相对矩阵)。</p> <br/> <br/> <p>现在,如果我尝试将它移植到你的矩阵名称和约定中,这样相对矩阵是<code> R12 </code>和<code> R1 </code>是相机:</p> (x,y)=(x1,y1)<br/>逆(R1.R12)。(x1,y1)<br/> <br/> </p><pre> <code>(R1.R12) ,y1)=(x,y)<br/> </code> </pre><p> <br/><p>I think rotating the camera and taking the photo of a scene would yield the same result with keeping the camera stable and rotating the scene in reverse way. </p> <p>Assume that the original camera rotation matrix is R1. Rotating the camera means that we apply another rotation matrix R12 (so R2=R12*R1 is the new rotation matrix). Assume that X is the realworld coordinate of scene point. Rotating the scene point in the reverse way means that we apply the reverse rotation matrix R12^-1 to X (this might be wrong).</p> <p>So why (R12*R1)<em>X <strong>!=</strong> R1</em>(R12^-1*X) ?</p> <p>Can anyone explain me what I'm wrong?</p> <p>p.s. I'm not asking about programing as well as complexity of the two method. I just want to know </p> <p>(1) the mathematical equation for the action "rotating the scene"</p> <p>(2) if my assumed equation for "rotating the scene" is correct, why doesn't the mathematical equations reflect the phenomenon in the real world as I described.</p> <p><strong>Edit 1</strong>: According to <strong>Spektre</strong>'s answer, when I rotate the entire scene with the rotation matrix R, then the new camera rotation matrix is </p><pre><code>R^-1*R1 </code></pre><p>In this case, I rotate the entire scene with the rotation matrix R12^-1, then the new camera rotation matrix is</p><pre><code>(R12^-1)^-1*R1=R12*R1 </code></pre><p>However, what if I consider that rotating the camera is equivalent to rotating the scene point X (<strong>only</strong> the scene point X, not the entire scene). At that time, the rotation matrix of the camera is still R1. But the scene point X now become X'. And the image coordinate of X' is R1*X'. <strong>What is the equation for X' ?</strong> Note that </p><pre><code>R1*X' = R12*R1*X </code></pre><p>Of course, you can answer that </p><pre><code>X'=R1^-1*R12*R1*X </code></pre><p>But I think X' should be defined only by R12 and X (R1 doesn't need to be known to form X'). That's why I ask "what is the mathematical equation for rotating the scene point". X' is the result of the action "rotating X" by some rotation matrix related to R12.</p> <p>I have another example when the camera does not rotate but move. Assume that I'm taking the photo of a model who is standing right in front of me. Her position is X. My position is C. In the first case, I move to the right (of me) and take the first photo. In the second case, I don't move but the model move the left (of me) with the same steps and I take the second photo. The position of the model in the two image must be identical. This is expressed by the mathematical equation</p><pre><code>[R1 -R1*(C+d)]*X = [R1 -R1*C]*(X-d) </code></pre><p>In the equation above (which I checked to be true), -R1*C is the translation vector, -R1*(C+d) is the translation vector when I move to the right of me, (X-d) is the position of the model when she move to the left of me. </p> <p>In the above example, X' = X-d (so X' is defined through X and my movement d). In the case of rotating the camera, what is X'?</p> <p><strong>Edit 2</strong>: Since <strong>Spektre</strong> still don't understand my question. There's a need to emphasize that in the second case, I DO NOT rotate the ENTIRE world, I ONLY rotate the point X. (If I rotate the entire world, the world coordinate of X remains the same after its world rotate. But if I rotate only X, its world coordinate will be changed to X'). </p> <p>Just imagine the example about taking the photo of the model. In the first case, I rotate the camera and take the first photo of her (and her boy friend standing next to her). </p> <p>In the second case, I rotate ONLY the model in the reverse direction (her boy friend is stable), then I take the second photo. When I compare the two photos, the position of the model is the same (the position of her boy friend would be different). </p> <p>In both case, the real world position of her boy friend are the same. But the real world position of the model is changed in the second case since I rotated her. My question is what is the real world position of the girl after I rotate her?</p><div class="h2_lin"> 解决方案 </div><p><strong>The answer to Title is:</strong> mathematically they are both almost the same (except inversion of all operations) but physically rotating camera means changing single matrix but to rotate scene you have to rotate all the objects in your world (can be thousands and more) which is a lot slower ...</p> <p><strong>But I assume</strong> the title and text is misleading as <strong>the real question is</strong> about linear algebra matrix equations.</p> <p>Let <code>R1,R2,R12</code> be square matrices of size <code>N x N</code> and <code>X</code> is vector of size <code>N</code>. If we ignore the vector orientation (<code>1 x N</code> vs <code>N x 1</code>) then for your convention:</p><pre><code>R2 = R12.R1 R1 = Inverse(R12).R2 </code></pre><p>so:</p><pre><code>R12.R1.X == R12.Inverse(R12).R2.X == R2.X </code></pre><p>As you can see equation in your Question is wrong because you change the matrix multiplication order which is wrong because: </p><pre><code>R1.R12 != R12.R1 </code></pre><p>If you want to know more closely why then study linear algebra.</p> <p><strong>[Edit1] simple <code>1x1</code> example</strong></p> <p>let:</p><pre><code>R1 = 1 R12= 2 R2 = R12.R1 = 2 </code></pre><p>so rewriting your wrong equation:</p><pre><code>R12*R1*X != R1*Inverse(R12)*X 2* 1*X != 1* 0.5*X 2*X != 0.5*X </code></pre><p>and using the correct one</p><pre><code>R12*R1*X == R12*Inverse(R12)*R2*X == R2*X 2* 1*X == 2* 0.5* 2*X == 2*X 2*X == 2*X == 2*X </code></pre><p><strong>[Edit2] simple 2D example</strong></p> <p>I see you are still confused so here an <strong>2D</strong> example of the problem:</p> <p></p> <p>On the left you got rotated camera by <code>R1</code> so for rendering transforming world point <code>(x,y)</code> into its local coordinates <code>(x1,y1)</code>. On the right is the situation reversed so camera coordinate system is axis aligned (unit matrix) and the scene is rotated in reverse by <code>Inverse(R1)</code>. That is how it works (where <code>R1</code> is the relative matrix in this case).</p> <p>Now if I try to port it to your matrix names and convention so the relative matrix is <code>R12</code> and <code>R1</code> is the camera :</p><pre><code>(R1.R12).(x,y) = (x1,y1) Inverse(R1.R12).(x1,y1) = (x,y) </code></pre><p> <p>这篇关于旋转相机与旋转场景点(只有点,而不是整个场景)有什么不同?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!</p> </div> <div class="arc-body-main-more"> <span onclick="unlockarc('834763');">查看全文</span> </div> </div> <div> </div> <div class="wwads-cn wwads-horizontal" data-id="166" style="max-width:100%;border: 4px solid #666;"></div> </div> </article> <div id="arc-ad-2" class="mb-1"> <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-5038752844014834" crossorigin="anonymous"></script> <ins class="adsbygoogle" style="display:block" data-ad-format="autorelaxed" data-ad-client="ca-pub-5038752844014834" data-ad-slot="3921941283"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> <div class="widget bgwhite radius-1 mb-1 shadow widget-rel"> <h5>相关文章</h5> <ul> <li> <a target="_blank" title="如何使用平移手势旋转场景中的对象 - SceneKit" href="/2826720.html"> 如何使用平移手势旋转场景中的对象 - SceneKit; </a> </li> <li> <a target="_blank" title="三.js Vector3 到 2D 屏幕坐标与旋转场景" href="/2601250.html"> 三.js Vector3 到 2D 屏幕坐标与旋转场景; </a> </li> <li> <a target="_blank" title="three.js Vector3到2D屏幕坐标与旋转场景" href="/1106459.html"> three.js Vector3到2D屏幕坐标与旋转场景; </a> </li> <li> <a target="_blank" title="使用 DeviceOrientationControls 旋转对象而不是相机" href="/2439706.html"> 使用 DeviceOrientationControls 旋转对象而不是相机; </a> </li> <li> <a target="_blank" title="如何使Json模型在场景中自动旋转?" href="/2257898.html"> 如何使Json模型在场景中自动旋转?; </a> </li> <li> <a target="_blank" title="从场景图中获取绝对位置和旋转?" href="/2602175.html"> 从场景图中获取绝对位置和旋转?; </a> </li> <li> <a target="_blank" title="从场景图中获取绝对位置和旋转?" href="/2602264.html"> 从场景图中获取绝对位置和旋转?; </a> </li> <li> <a target="_blank" title="相机旋转" href="/1705098.html"> 相机旋转; </a> </li> <li> <a target="_blank" title="旋转整个 ggplot() 而不旋转任何文本 R" href="/2826724.html"> 旋转整个 ggplot() 而不旋转任何文本 R; </a> </li> <li> <a target="_blank" title="旋转整个ggplot()而不旋转任何文本R" href="/793165.html"> 旋转整个ggplot()而不旋转任何文本R; </a> </li> <li> <a target="_blank" title="是否可以旋转字的字符,而不是使用css3旋转整个字" href="/567500.html"> 是否可以旋转字的字符,而不是使用css3旋转整个字; </a> </li> <li> <a target="_blank" title="JavaFX 3D围绕场景固定轴的旋转" href="/1772483.html"> JavaFX 3D围绕场景固定轴的旋转; </a> </li> <li> <a target="_blank" title="如何使用平移手势在场景中旋转对象 - SceneKit" href="/2380454.html"> 如何使用平移手势在场景中旋转对象 - SceneKit; </a> </li> <li> <a target="_blank" title="Firefox CSS旋转与Chrome旋转不同" href="/1089905.html"> Firefox CSS旋转与Chrome旋转不同; </a> </li> <li> <a target="_blank" title="Three.js - 设置相机以便整个场景显示的算法?" href="/2602250.html"> Three.js - 设置相机以便整个场景显示的算法?; </a> </li> <li> <a target="_blank" title="Three.js - 设置相机以便整个场景显示的算法?" href="/2602276.html"> Three.js - 设置相机以便整个场景显示的算法?; </a> </li> <li> <a target="_blank" title="Three.js - 设置相机以便整个场景显示的算法?" href="/2602150.html"> Three.js - 设置相机以便整个场景显示的算法?; </a> </li> <li> <a target="_blank" title="为什么运行的JavaFX应用程序场景大小与场景构建器预览不同" href="/971337.html"> 为什么运行的JavaFX应用程序场景大小与场景构建器预览不同; </a> </li> <li> <a target="_blank" title="javafx - 如何相对于节点旋转轴而不是场景旋转轴将偏航,俯仰和滚动增量(不是欧拉)应用于节点?" href="/2826772.html"> javafx - 如何相对于节点旋转轴而不是场景旋转轴将偏航,俯仰和滚动增量(不是欧拉)应用于节点?; </a> </li> <li> <a target="_blank" title="SVG css旋转粘附而不是围绕中心旋转" href="/860287.html"> SVG css旋转粘附而不是围绕中心旋转; </a> </li> <li> <a target="_blank" title="三.js 在不同场景/div 中使用相机纹理" href="/2375031.html"> 三.js 在不同场景/div 中使用相机纹理; </a> </li> <li> <a target="_blank" title="相机像素旋转" href="/2683851.html"> 相机像素旋转; </a> </li> <li> <a target="_blank" title="Three.js - 算法来设置相机,使整个场景显示了?" href="/38250.html"> Three.js - 算法来设置相机,使整个场景显示了?; </a> </li> <li> <a target="_blank" title="javafx-如何相对于节点旋转轴而不是场景旋转轴将偏航,俯仰和滚动增量(不是欧拉)应用于节点?" href="/1809212.html"> javafx-如何相对于节点旋转轴而不是场景旋转轴将偏航,俯仰和滚动增量(不是欧拉)应用于节点?; </a> </li> <li> <a target="_blank" title="旋转整个标高" href="/2897245.html"> 旋转整个标高; </a> </li> </ul> </div> <div class="mb-1"> <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-5038752844014834" crossorigin="anonymous"></script> <ins class="adsbygoogle" style="display:block" data-ad-format="autorelaxed" data-ad-client="ca-pub-5038752844014834" data-ad-slot="3921941283"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> </div> <div class="side"> <div class="widget widget-side bgwhite mb-1 shadow"> <h5>其他开发最新文章</h5> <ul> <li> <a target="_blank" title="拒绝显示一个框架,因为它将'X-Frame-Options'设置为'sameorigin'" href="/893060.html"> 拒绝显示一个框架,因为它将'X-Frame-Options'设置为'sameorigin'; </a> </li> <li> <a target="_blank" title="什么是&QUOT; AW&QUOT;在部分标志属性是什么意思?" href="/303988.html"> 什么是&QUOT; AW&QUOT;在部分标志属性是什么意思?; </a> </li> <li> <a target="_blank" title="在运行npm install命令时获取'npm WARN弃用'警告" href="/840917.html"> 在运行npm install命令时获取'npm WARN弃用'警告; </a> </li> <li> <a target="_blank" title="cmake无法找到openssl" href="/516280.html"> cmake无法找到openssl; </a> </li> <li> <a target="_blank" title="从Spark的scala中的* .tar.gz压缩文件中读取HDF5文件" href="/850628.html"> 从Spark的scala中的* .tar.gz压缩文件中读取HDF5文件; </a> </li> <li> <a target="_blank" title="Twitter :: Error :: Forbidden - 无法验证您的凭据" href="/630061.html"> Twitter :: Error :: Forbidden - 无法验证您的凭据; </a> </li> <li> <a target="_blank" title="我什么时候需要一个fb:app_id或者fb:admins?" href="/747981.html"> 我什么时候需要一个fb:app_id或者fb:admins?; </a> </li> <li> <a target="_blank" title="将.db文件导入R" href="/902960.html"> 将.db文件导入R; </a> </li> <li> <a target="_blank" title="npm通知创建一个lockfile作为package-lock.json。你应该提交这个文件" href="/744854.html"> npm通知创建一个lockfile作为package-lock.json。你应该提交这个文件; </a> </li> <li> <a target="_blank" title="拒绝执行内联脚本,因为它违反了以下内容安全策略指令:“script-src'self'”" href="/819167.html"> 拒绝执行内联脚本,因为它违反了以下内容安全策略指令:“script-src'self'”; </a> </li> </ul> </div> <div class="widget widget-side bgwhite mb-1 shadow"> <h5> 热门教程 </h5> <ul> <li> <a target="_blank" title="Java教程" href="/OnLineTutorial/java/index.html"> Java教程 </a> </li> <li> <a target="_blank" title="Apache ANT 教程" href="/OnLineTutorial/ant/index.html"> Apache ANT 教程 </a> </li> <li> <a target="_blank" title="Kali Linux教程" href="/OnLineTutorial/kali_linux/index.html"> Kali Linux教程 </a> </li> <li> <a target="_blank" title="JavaScript教程" href="/OnLineTutorial/javascript/index.html"> JavaScript教程 </a> </li> <li> <a target="_blank" title="JavaFx教程" href="/OnLineTutorial/javafx/index.html"> JavaFx教程 </a> </li> <li> <a target="_blank" title="MFC 教程" href="/OnLineTutorial/mfc/index.html"> MFC 教程 </a> </li> <li> <a target="_blank" title="Apache HTTP客户端教程" href="/OnLineTutorial/apache_httpclient/index.html"> Apache HTTP客户端教程 </a> </li> <li> <a target="_blank" title="Microsoft Visio 教程" href="/OnLineTutorial/microsoft_visio/index.html"> Microsoft Visio 教程 </a> </li> </ul> </div> <div class="widget widget-side bgwhite mb-1 shadow"> <h5> 热门工具 </h5> <ul> <li> <a target="_blank" title="Java 在线工具" href="/Onlinetools/details/4"> Java 在线工具 </a> </li> <li> <a target="_blank" title="C(GCC) 在线工具" href="/Onlinetools/details/6"> C(GCC) 在线工具 </a> </li> <li> <a target="_blank" title="PHP 在线工具" href="/Onlinetools/details/8"> PHP 在线工具 </a> </li> <li> <a target="_blank" title="C# 在线工具" href="/Onlinetools/details/1"> C# 在线工具 </a> </li> <li> <a target="_blank" title="Python 在线工具" href="/Onlinetools/details/5"> Python 在线工具 </a> </li> <li> <a target="_blank" title="MySQL 在线工具" href="/Onlinetools/Dbdetails/33"> MySQL 在线工具 </a> </li> <li> <a target="_blank" title="VB.NET 在线工具" href="/Onlinetools/details/2"> VB.NET 在线工具 </a> </li> <li> <a target="_blank" title="Lua 在线工具" href="/Onlinetools/details/14"> Lua 在线工具 </a> </li> <li> <a target="_blank" title="Oracle 在线工具" href="/Onlinetools/Dbdetails/35"> Oracle 在线工具 </a> </li> <li> <a target="_blank" title="C++(GCC) 在线工具" href="/Onlinetools/details/7"> C++(GCC) 在线工具 </a> </li> <li> <a target="_blank" title="Go 在线工具" href="/Onlinetools/details/20"> Go 在线工具 </a> </li> <li> <a target="_blank" title="Fortran 在线工具" href="/Onlinetools/details/45"> Fortran 在线工具 </a> </li> </ul> </div> </div> </div> <script type="text/javascript">var eskeys = '旋转,相机,与,旋转,场,景点,只,有点,而,不是,整个,场景,有,什么,不同'; var cat = 'cc';';//other-dev</script> </div> <div id="pop" onclick="pophide();"> <div id="pop_body" onclick="event.stopPropagation();"> <h6 class="flex flex101"> 登录 <span onclick="pophide();">关闭</span> </h6> <div class="pd-1"> <div class="wxtip center"> <span>扫码关注<em>1秒</em>登录</span> </div> <div class="center"> <img id="qr" src="https://huajiakeji.com/Content/Images/qrydx.jpg" alt="" style="width:150px;height:150px;" /> </div> <div style="margin-top:10px;display:flex;justify-content: center;"> <input type="text" placeholder="输入验证码" id="txtcode" autocomplete="off" /> <input id="btngo" type="button" onclick="chk()" value="GO" /> </div> <div class="center" style="margin: 4px; font-size: .8rem; color: #f60;"> 发送“验证码”获取 <em style="padding: 0 .5rem;">|</em> <span style="color: #01a05c;">15天全站免登陆</span> </div> <div id="chkinfo" class="tip"></div> </div> </div> </div> <script type="text/javascript" src="https://lib.sinaapp.com/js/jquery/1.9.1/jquery-1.9.1.min.js"></script> <script type="text/javascript" src="https://cdn.bootcss.com/jquery-cookie/1.4.1/jquery.cookie.min.js"></script> <script type="text/javascript" src="https://img01.yuandaxia.cn/Scripts/highlight.min.js"></script> <script type="text/javascript" src="https://img01.yuandaxia.cn/Scripts/base.js?v=0.22"></script> <script type="text/javascript" src="https://img01.yuandaxia.cn/Scripts/tui.js?v=0.11"></script> <footer class="footer"> <div class="container"> <div class="flink mb-1"> 友情链接: <a href="https://www.it1352.com/" target="_blank">IT屋</a> <a href="https://huajiakeji.com/" target="_blank">Chrome插件</a> <a href="https://www.cnplugins.com/" target="_blank">谷歌浏览器插件</a> </div> <section class="copyright-section"> <a href="https://www.it1352.com" title="IT屋-程序员软件开发技术分享社区">IT屋</a> ©2016-2022 <a href="http://www.beian.miit.gov.cn/" target="_blank">琼ICP备2021000895号-1</a> <a href="/sitemap.html" target="_blank" title="站点地图">站点地图</a> <a href="/Home/Tags" target="_blank" title="站点标签">站点标签</a> <a target="_blank" alt="sitemap" href="/sitemap.xml">SiteMap</a> <a href="/1155981.html" title="IT屋-免责申明"><免责申明></a> 本站内容来源互联网,如果侵犯您的权益请联系我们删除. </section> <!--统计代码--> <script type="text/javascript"> var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?0c3a090f7b3c4ad458ac1296cb5cc779"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); </script> <script type="text/javascript"> (function () { var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </div> </footer> </body> </html>