{"id":13811,"date":"2023-02-11T16:43:41","date_gmt":"2023-02-11T08:43:41","guid":{"rendered":"http:\/\/139.9.1.231\/?p=13811"},"modified":"2023-02-16T22:50:02","modified_gmt":"2023-02-16T14:50:02","slug":"computer-graphics-transformation-matrix","status":"publish","type":"post","link":"http:\/\/139.9.1.231\/index.php\/2023\/02\/11\/computer-graphics-transformation-matrix\/","title":{"rendered":"\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66\uff1a\u53d8\u6362\u77e9\u9635"},"content":{"rendered":"\n<p>      \u6700\u8fd1\u5728\u7814\u7a763D\u5efa\u6a21\u548c\u65b0\u89c6\u70b9\u5408\u6210\uff0c\u5728\u6e32\u67d3\u8fc7\u7a0b\u4e2d\u9700\u8981\u9009\u53d6\u65b0\u89c6\u70b9\u53bb\u5408\u6210\u65b0\u56fe\u3002<strong>\u4e00\u822c\u5728\u63a5\u53e3\u5904\u9700\u8981\u4f20\u9012\u4e00\u4e2a\u53d8\u6362\u77e9\u9635<\/strong>\uff0c\u7528\u4e8e\u63a7\u5236\u89c6\u70b9\u7684\u53d8\u5316\u3002<\/p>\n\n\n\n<p class=\"has-light-pink-background-color has-background\">  <em> <strong> <\/strong><\/em><strong> \u6210\u50cf\u7684\u8fc7\u7a0b\u5b9e\u8d28\u4e0a\u662f\u51e0\u4e2a\u5750\u6807\u7cfb\u7684\u8f6c\u6362\u3002\u9996\u5148\u7a7a\u95f4\u4e2d\u7684\u4e00\u70b9\u7531\u4e16\u754c\u5750\u6807\u7cfb\u8f6c\u6362\u5230\u00a0\u6444\u50cf\u673a\u5750\u6807\u7cfb\u00a0\uff0c\u7136\u540e\u518d\u5c06\u5176\u6295\u5f71\u5230\u6210\u50cf\u5e73\u9762 (\u00a0\u56fe\u50cf\u7269\u7406\u5750\u6807\u7cfb\u00a0) \uff0c\u6700\u540e\u518d\u5c06\u6210\u50cf\u5e73\u9762\u4e0a\u7684\u6570\u636e\u8f6c\u6362\u5230\u56fe\u50cf\u5e73\u9762 (\u56fe\u50cf\u50cf\u7d20\u5750\u6807\u7cfb\u00a0) \u3002<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"1024\" height=\"337\" src=\"http:\/\/139.9.1.231\/wp-content\/uploads\/2023\/02\/image-397-1024x337.png\" alt=\"\" class=\"wp-image-14140\" srcset=\"http:\/\/139.9.1.231\/wp-content\/uploads\/2023\/02\/image-397-1024x337.png 1024w, http:\/\/139.9.1.231\/wp-content\/uploads\/2023\/02\/image-397-300x99.png 300w, http:\/\/139.9.1.231\/wp-content\/uploads\/2023\/02\/image-397-768x252.png 768w, http:\/\/139.9.1.231\/wp-content\/uploads\/2023\/02\/image-397.png 1223w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>\u4ee5AdaMPI\u7684\u4ee3\u7801\u4e3a\u4f8b\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># \u5b9a\u4e49\u65b0\u89c6\u89d2\u7684\u89d2\u5ea6\u548c\u6e32\u67d3\u7684\u5e27\u6570\ndef gen_swing_path(num_frames=90, r_x=0.14, r_y=0., r_z=0.10):\n    \"Return a list of matrix &#91;4, 4]\"\n    t = torch.arange(num_frames) \/ (num_frames - 1)\n    poses = torch.eye(4).repeat(num_frames, 1, 1)\n    poses&#91;:, 0, 3] = r_x * torch.sin(2. * math.pi * t)\n    poses&#91;:, 1, 3] = r_y * torch.cos(2. * math.pi * t)\n    poses&#91;:, 2, 3] = r_z * (torch.cos(2. * math.pi * t) - 1.)\n    return poses.unbind()\n<\/code><\/pre>\n\n\n\n<p>\u4ee5Synsin\u4ee3\u7801\u4e3a\u4f8b\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Parameters for the transformation\ntheta = -0.15\nphi = -0.1\ntx = 0\nty = 0\ntz = 0.1\n\nRT = torch.eye(4).unsqueeze(0)\n# Set up rotation(\u65cb\u8f6c\u53c2\u6570)\nRT&#91;0,0:3,0:3] = torch.Tensor(quaternion.as_rotation_matrix(quaternion.from_rotation_vector(&#91;phi, theta, 0])))\n# Set up translation(\u5e73\u79fb\u53c2\u6570)\nRT&#91;0,0:3,3] = torch.Tensor(&#91;tx, ty, tz])<\/code><\/pre>\n\n\n\n<p>        \u4e00\u5f00\u59cb\u5176\u5b9e\u6ca1\u6709\u660e\u767d\u4e3a\u4ec0\u4e48\u9700\u8981\u5bf9 r_x=0.14, r_y=0., r_z=0.10 \u8fdb\u884c\u5904\u7406\uff0c\u5904\u7406\u62104*4\u7684\u77e9\u9635\u5f62\u5f0f\uff0c\u800c\u4e0d\u662f\u76f4\u63a5\u4f7f\u7528\uff0c\u540e\u6765\u67e5\u9605\u8d44\u6599\u53d1\u73b0\u5e94\u8be5\u662f\u6d89\u53ca\u5230\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66\u7684\u53d8\u6362\u77e9\u9635\u7684\u8303\u7574\u3002<\/p>\n\n\n\n<p>      \u8ba1\u7b97\u673a\u56fe\u5f62\u5b66\u4e2d3D\u7684\u53d8\u6362\u662f\u57fa\u4e8e\u8f6c\u6362\u77e9\u9635\uff08 <strong>\u4eff\u5c04\u7a7a\u95f4<\/strong> \uff09\u8fdb\u884c\u7684\u3002\u90a3\u4e48\u4e3a\u4ec0\u4e48\u662f4\u7ef4\u7684\u77e9\u9635\u800c\u4e0d\u662f3\u7ef4\uff1a\u7528\u7b2c\u56db\u7ef4\u5ea6\u6807\u8bc6\u5411\u91cf or \u70b9\u3002<\/p>\n\n\n\n<p class=\"has-light-pink-background-color has-background\"><strong>\u6a21\u578b\u7684\u53d8\u6362\u53ef\u4ee5\u8ba4\u4e3a\u662f\u7a7a\u95f4\u4e2d\u4e00\u5806\u70b9\u7684\u53d8\u6362\uff0c\u4e09\u7ef4\u7a7a\u95f4\u4e2d\uff0c\uff08x,y,z\uff09\u53ef\u4ee5\u8ba4\u4e3a\u662f\u70b9\uff0c\u4e5f\u53ef\u4ee5\u8ba4\u4e3a\u662f\u4e00\u4e2a\u5411\u91cf\uff0c\u56e0\u6b64\uff0c\u4eba\u4eec\u5f15\u5165\u7684\u7b2c4\u4e2a\u7ef4\u5ea6\u6765\u6807\u8bc6\u662f\u70b9\u8fd8\u662f\u5411\u91cf\uff0c\u8fd9\u4e2a4\u7ef4\u7a7a\u95f4\u5c31\u53eb&nbsp;\u4eff\u5c04\u7a7a\u95f4\uff0c\uff0c\u5728\u4eff\u5c04\u7a7a\u95f4\u4e2d\uff0c(x,y,z,0)\u6807\u8bc6\u5411\u91cf\uff0c\u800c\uff08x,y,z,1\uff09\u8868\u793a\u70b9\u3002<\/strong><\/p>\n\n\n\n<p>\u5728\u56fe\u5f62\u5b66\u4e2d\uff0c\u5728\u505a\u5e73\u79fb\uff0c\u65cb\u8f6c\u548c\u7f29\u653e\u65f6\uff0c\u7ecf\u5e38\u4f1a\u7528\u5230\u77e9\u9635\uff0c\u6709\u7f29\u653e\u77e9\u9635\u3001\u5e73\u79fb\u77e9\u9635\u548c\u65cb\u8f6c\u77e9\u9635\u3002\u5728\u4e09\u7ef4\u7a7a\u95f4\u4e2d\uff0c\u53d8\u6362\u77e9\u9635\u90fd\u662f\u4e00\u4e2a\u56db\u7ef4\u77e9\u9635\uff0c\u6bcf\u4e00\u884c\u5206\u522b\u8868\u793ax, y, z, w\u3002<\/p>\n\n\n\n<p>1. \u7f29\u653e\u77e9\u9635\uff08scale\uff09<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" width=\"435\" height=\"126\" src=\"http:\/\/139.9.1.231\/wp-content\/uploads\/2023\/02\/image-362.png\" alt=\"\" class=\"wp-image-13829\" srcset=\"http:\/\/139.9.1.231\/wp-content\/uploads\/2023\/02\/image-362.png 435w, http:\/\/139.9.1.231\/wp-content\/uploads\/2023\/02\/image-362-300x87.png 300w\" sizes=\"(max-width: 435px) 100vw, 435px\" \/><\/figure>\n\n\n\n<p>      \u4e0a\u9762\u7684\u516c\u5f0f\uff0c\u5de6\u8fb9\u7684\u7b2c\u4e00\u4e2a\u64cd\u4f5c\u6570\uff08\u56db\u7ef4\u77e9\u9635\uff09\u5c31\u662f\u4e00\u4e2a\u7f29\u653e\u77e9\u9635\uff0cs1\u8868\u793ax\u8f74\u7684\u7f29\u653e\u500d\u6570\uff0cs2\u8868\u793ay\u8f74\u7684\u7f29\u653e\u500d\u6570\uff0cs3\u8868\u793az\u8f74\u7684\u7f29\u653e\u500d\u6570\u3002\u7b2c\u4e8c\u4e2a\u64cd\u4f5c\u6570\u8868\u793a\u7a7a\u95f4\u4e2d(x, y, z)\u70b9\uff0c w\u5206\u91cf\u5728\u7f29\u653e\u77e9\u9635\u4e2d\u6ca1\u6709\u7528\u5230\uff0c\u6211\u4eec\u5c06\u5176\u8bbe\u4e3a1\u3002\u7531\u53f3\u8fb9\u7684\u7ed3\u679c\uff0c\u53ef\u4ee5\u770b\u51fa(x, y, z)\u70b9\u7ecf\u8fc7\u7f29\u653e\u77e9\u9635\u53d8\u6362\u540e\uff0cx\u3001y\u3001z\u5206\u91cf\u90fd\u5404\u81ea\u7f29\u653e\u4e86s(s1\u3001s2\u3001s3)\u500d\u3002\u9700\u8981\u6ce8\u610f\u7684\u662f\u77e9\u9635\u7684\u4e58\u6cd5\u4e0d\u5177\u6709\u4ea4\u6362\u5f8b\uff0c\u8fd9\u91cc\u70b9\u662f\u7528\u4e00\u7ef4\u5217\u77e9\u9635\u8868\u793a\u7684\uff0c\u4f5c\u4e3a\u77e9\u9635\u4e58\u6cd5\u7684\u53f3\u64cd\u4f5c\u6570\u3002\u5982\u679c\u5c06\u5176\u8f6c\u6362\u5230\u4e58\u6cd5\u7684\u5de6\u8fb9\uff0c\u90a3\u4e48\u70b9\u5e94\u8be5\u7528\u4e00\u7ef4\u884c\u77e9\u9635\u8868\u793a\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" width=\"612\" height=\"140\" src=\"http:\/\/139.9.1.231\/wp-content\/uploads\/2023\/02\/image-363.png\" alt=\"\" class=\"wp-image-13833\" srcset=\"http:\/\/139.9.1.231\/wp-content\/uploads\/2023\/02\/image-363.png 612w, http:\/\/139.9.1.231\/wp-content\/uploads\/2023\/02\/image-363-300x69.png 300w\" sizes=\"(max-width: 612px) 100vw, 612px\" \/><\/figure>\n\n\n\n<p>\u7f29\u653e\u77e9\u9635\u6bd4\u8f83\u7b80\u5355\uff0c\u4e0d\u9700\u8981\u8bc1\u660e\uff0c\u53ea\u9700\u8981\u4f1a\u7b80\u5355\u7684\u4e58\u6cd5\uff0c\u5c31\u53ef\u4ee5\u770b\u51fax,y,z\u7ecf\u8fc7\u7f29\u653e\u77e9\u9635\u7684\u53d8\u6362\u786e\u5b9e\u88ab\u7f29\u653e\u4e86\u3002<\/p>\n\n\n\n<p>2.\u5e73\u79fb\u77e9\u9635\uff08translation\uff09<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" width=\"377\" height=\"120\" src=\"http:\/\/139.9.1.231\/wp-content\/uploads\/2023\/02\/image-364.png\" alt=\"\" class=\"wp-image-13837\" srcset=\"http:\/\/139.9.1.231\/wp-content\/uploads\/2023\/02\/image-364.png 377w, http:\/\/139.9.1.231\/wp-content\/uploads\/2023\/02\/image-364-300x95.png 300w\" sizes=\"(max-width: 377px) 100vw, 377px\" \/><\/figure>\n\n\n\n<p>       \u5e73\u79fb\u77e9\u9635\u4e5f\u79f0\u4f4d\u79fb\u77e9\u9635\uff0c\u5e73\u79fb\u77e9\u9635\u7528\u5230\u4e86\u7b2c\u56db\u5217\uff08w\u5217\uff09\uff0c\u8fd9\u4e5f\u662f\u4e3a\u4ec0\u4e48\u4e09\u7ef4\u7a7a\u95f4\u53d8\u6362\u77e9\u9635\u4e3a\u4ec0\u4e48\u662f\u56db\u7ef4\u7684\u3002\u5e73\u79fb\u77e9\u9635\u4e5f\u6bd4\u8f83\u5bb9\u6613\u7406\u89e3\uff0c\u56e0\u4e3a\u53ef\u4ee5\u901a\u8fc7\u7ed3\u679c\u770b\u51fa\u60f3x \u3001y\u3001z\u786e\u5b9e\u5404\u81ea\u5e73\u79fb\u4e86T\u6b65\u3002<\/p>\n\n\n\n<p><strong>3. \u65cb\u8f6c\u77e9\u9635<\/strong><\/p>\n\n\n\n<p>      \u65cb\u8f6c\u77e9\u9635\uff0c\u76f8\u5bf9\u96be\u4e00\u4e9b\uff0c\u4e5f\u4e0d\u662f\u90a3\u4e48\u5bb9\u6613\u7406\u89e3\uff0c\u6211\u4eec\u5148\u770b\u6700\u57fa\u7840\u7684\u7ed5x\u3001y\u3001z\u8f74\u65cb\u8f6c\u7684\u65cb\u8f6c\u77e9\u9635\u3002<\/p>\n\n\n\n<p>\u6cbfx\u8f74\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" width=\"535\" height=\"132\" src=\"http:\/\/139.9.1.231\/wp-content\/uploads\/2023\/02\/image-365.png\" alt=\"\" class=\"wp-image-13843\" srcset=\"http:\/\/139.9.1.231\/wp-content\/uploads\/2023\/02\/image-365.png 535w, http:\/\/139.9.1.231\/wp-content\/uploads\/2023\/02\/image-365-300x74.png 300w\" sizes=\"(max-width: 535px) 100vw, 535px\" \/><\/figure>\n\n\n\n<p>\u6cbfy\u8f74\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" width=\"548\" height=\"138\" src=\"http:\/\/139.9.1.231\/wp-content\/uploads\/2023\/02\/image-366.png\" alt=\"\" class=\"wp-image-13848\" srcset=\"http:\/\/139.9.1.231\/wp-content\/uploads\/2023\/02\/image-366.png 548w, http:\/\/139.9.1.231\/wp-content\/uploads\/2023\/02\/image-366-300x76.png 300w\" sizes=\"(max-width: 548px) 100vw, 548px\" \/><\/figure>\n\n\n\n<p>\u6cbfz\u8f74\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" width=\"512\" height=\"135\" src=\"http:\/\/139.9.1.231\/wp-content\/uploads\/2023\/02\/image-367.png\" alt=\"\" class=\"wp-image-13851\" srcset=\"http:\/\/139.9.1.231\/wp-content\/uploads\/2023\/02\/image-367.png 512w, http:\/\/139.9.1.231\/wp-content\/uploads\/2023\/02\/image-367-300x79.png 300w\" sizes=\"(max-width: 512px) 100vw, 512px\" \/><\/figure>\n\n\n\n<p>\u5f15\u5165\u4e86\u4e09\u89d2\u51fd\u6570\uff0c\u6211\u4eec\u65e0\u6cd5\u4ece\u7ed3\u679c\u770b\u51fa\u65cb\u8f6c\u77e9\u9635\u662f\u5426\u6b63\u786e\uff0c\u6240\u4ee5\u6211\u4eec\u9700\u8981\u8bc1\u660e\u3002\u4e0b\u9762\u6211\u7ed9\u51fa\u6cbfz\u8f74\u65cb\u8f6c\u7684\u53d8\u6362\u77e9\u9635\u8bc1\u660e\u8fc7\u7a0b\uff0c\u5176\u4ed6\u8f74\u540c\u7406\u53ef\u8bc1\u3002<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter is-resized\"><img loading=\"lazy\" src=\"https:\/\/pengfeiw.github.io\/images\/blog\/19.png\" alt=\"image-20210521112417466\" width=\"495\" height=\"315\"\/><\/figure><\/div>\n\n\n\n<p>\u5047\u8bbe\u6709\u5982\u56fe\u7684\u70b9p1\uff0c\u56e0\u4e3a\u7ed5z\u8f74\u65cb\u8f6c\uff0c\u70b9\u7684z\u503c\u662f\u4e0d\u53d8\u7684\uff0c\u6211\u4eec\u5c06\u5176\u8bbe\u4e3a0\uff0c\u8fd9\u6837\u53ef\u4ee5\u5c06\u5176\u6a21\u62df\u6210\u4e8c\u7ef4\u5e73\u9762xy\u4e2d\u65cb\u8f6c\u3002\u5047\u8bbep1\u7ed5\u539f\u70b9\u65cb\u8f6cb\u89d2\u5ea6\uff0c\u521d\u59cb\u89d2\u5ea6\u4e3aa\u3002\u6574\u4e2a\u8bc1\u660e\u8fc7\u7a0b\u5982\u4e0b\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ \u7ecf\u8fc7\u65cb\u8f6c\u540e\u5411\u91cf\u7684\u957f\u5ea6\u4e0d\u53d8\u4e3aL(\u539f\u70b9\u5230p1\u548cp2\u7684\u8ddd\u79bb\u76f8\u540c)\n\/\/ \u7531\u4e09\u89d2\u51fd\u6570\u5f97\u5230sin(a + b), cos(a + b)\u7684\u503c\ncos(a + b) = x2 \/ L;\nsin(a + b) = y2 \/ L;\n\n\/\/ \u5c55\u5f00sin(a + b)\u548ccos(a + b)\ncos(a) * cos(b) - sin(a) * sin(b) = x2 \/ L;\nsin(a) * cos(b) + cos(a) * sin(b) = y2 \/ L;\n\n\/\/ \u7528x\u548cy\u8868\u793acos(a)\u548csin(a)\nx \/ L * cos(b) - y \/ L * sin(b) = x2 \/ L;\ny \/ L * cos(b) + x \/ L * sin(b) = y2 \/ L;\n\n\/\/ \u7b49\u5f0f\u4e24\u8fb9\u540c\u65f6\u4e58\u4ee5L\nx * cos(b) - y * sin(b) = x2;\ny * cos(b) + x * sin(b) = y2;<\/code><\/pre>\n\n\n\n<p>\u5c06x2\u548cy2\u7684\u7ed3\u679c\u4e0e\u4e0a\u9762z\u8f74\u65cb\u8f6c\u77e9\u9635\u7ed3\u679c\u6bd4\u8f83\uff0c\u53d1\u73b0\u662f\u5b8c\u5168\u4e00\u6837\u7684\u3002<\/p>\n\n\n\n<p>\u6309\u7167\u4e0a\u9762\u7684\u65b9\u6cd5\u540c\u7406\u53ef\u8bc1\u7ed5x\u8f74\u65cb\u8f6c\u548c\u7ed5z\u8f74\u65cb\u8f6c\u7684\u77e9\u9635\u3002<\/p>\n\n\n\n<p>\u90a3\u4e48\u7ed5\u4efb\u610f\u8f74\u65cb\u8f6c\u7684\u77e9\u9635\u5462\uff1f<a href=\"https:\/\/learnopengl-cn.github.io\/01%20Getting%20started\/07%20Transformations\/#_18\">learnOpengl_cn\u5b98\u7f51<\/a>\u76f4\u63a5\u7ed9\u51fa\u4e86\u7ed5\u4efb\u610f\u8f74\u65cb\u8f6c\u7684\u77e9\u9635\uff0c(Rx, Ry, Rz)\u8868\u793a\u4efb\u610f\u8f74\uff0c\u03b8\u8868\u793a\u65cb\u8f6c\u7684\u77e9\u9635\u3002\u8fd9\u4e2a\u77e9\u9635\u8bc1\u660e\u6bd4\u8f83\u590d\u6742\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" width=\"814\" height=\"145\" src=\"http:\/\/139.9.1.231\/wp-content\/uploads\/2023\/02\/image-368.png\" alt=\"\" class=\"wp-image-13854\" srcset=\"http:\/\/139.9.1.231\/wp-content\/uploads\/2023\/02\/image-368.png 814w, http:\/\/139.9.1.231\/wp-content\/uploads\/2023\/02\/image-368-300x53.png 300w, http:\/\/139.9.1.231\/wp-content\/uploads\/2023\/02\/image-368-768x137.png 768w\" sizes=\"(max-width: 814px) 100vw, 814px\" \/><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>\u6700\u8fd1\u5728\u7814\u7a763D\u5efa\u6a21\u548c\u65b0\u89c6\u70b9\u5408\u6210\uff0c\u5728\u6e32\u67d3\u8fc7\u7a0b\u4e2d\u9700\u8981\u9009\u53d6\u65b0\u89c6\u70b9\u53bb\u5408\u6210\u65b0\u56fe\u3002\u4e00\u822c\u5728\u63a5\u53e3\u5904\u9700\u8981\u4f20\u9012\u4e00\u4e2a\u53d8\u6362\u77e9\u9635\uff0c\u7528\u4e8e\u63a7 &hellip; <a href=\"http:\/\/139.9.1.231\/index.php\/2023\/02\/11\/computer-graphics-transformation-matrix\/\" class=\"more-link\">\u7ee7\u7eed\u9605\u8bfb<span class=\"screen-reader-text\">\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66\uff1a\u53d8\u6362\u77e9\u9635<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[35,31,33],"tags":[],"_links":{"self":[{"href":"http:\/\/139.9.1.231\/index.php\/wp-json\/wp\/v2\/posts\/13811"}],"collection":[{"href":"http:\/\/139.9.1.231\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/139.9.1.231\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/139.9.1.231\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/139.9.1.231\/index.php\/wp-json\/wp\/v2\/comments?post=13811"}],"version-history":[{"count":53,"href":"http:\/\/139.9.1.231\/index.php\/wp-json\/wp\/v2\/posts\/13811\/revisions"}],"predecessor-version":[{"id":14152,"href":"http:\/\/139.9.1.231\/index.php\/wp-json\/wp\/v2\/posts\/13811\/revisions\/14152"}],"wp:attachment":[{"href":"http:\/\/139.9.1.231\/index.php\/wp-json\/wp\/v2\/media?parent=13811"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/139.9.1.231\/index.php\/wp-json\/wp\/v2\/categories?post=13811"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/139.9.1.231\/index.php\/wp-json\/wp\/v2\/tags?post=13811"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}