{"id":3472,"date":"2022-09-11T14:34:50","date_gmt":"2022-09-11T05:34:50","guid":{"rendered":"http:\/\/itoshi.main.jp\/tech\/?p=3472"},"modified":"2022-09-11T22:18:03","modified_gmt":"2022-09-11T13:18:03","slug":"rens","status":"publish","type":"post","link":"https:\/\/itoshi.main.jp\/tech\/2022\/09\/11\/rens\/","title":{"rendered":"\u3010\u7269\u7406\u3011\u30ec\u30f3\u30ba\u307e\u3067\u306e\u8ddd\u96e2\u3068\u7126\u70b9\u8ddd\u96e2"},"content":{"rendered":"<p>\u30ec\u30f3\u30ba\u306e\u554f\u984c\u3092\u4e2d\u5b66\u751f\u306b\u805e\u304b\u308c\u305f\u306e\u3067\u3059\u304c\u3001\u3059\u3050\u306b\u7b54\u3048\u3089\u307e\u305b\u3093\u3067\u3057\u305f\u3002<br \/>\n\u305d\u3053\u3067\u30d7\u30ed\u30b0\u30e9\u30e0\u3067\u30b0\u30e9\u30d5\u3092\u63cf\u304d\u306a\u304c\u3089\u8003\u5bdf\u3057\u305f\u3053\u3068\u306e\u307e\u3068\u3081\u3067\u3059\u3002<\/p>\n<h2>\u554f\u984c<\/h2>\n<p>\u7269\u4f53\u3068\u30b9\u30af\u30ea\u30fc\u30f3\u306e\u9593\u306b\u51f8\u30ec\u30f3\u30ba\u3092\u7f6e\u3044\u3066\u3001\u30b9\u30af\u30ea\u30fc\u30f3\u306b\u50cf\u3092\u5199\u3059\u3053\u3068\u3092\u8003\u3048\u307e\u3059\u3002<\/p>\n<p>\u3053\u3053\u3067\u3001\u30ec\u30f3\u30ba\u3092\u7269\u4f53\u5074\u304b\u3089\u30b9\u30af\u30ea\u30fc\u30f3\u5074\u306b\u79fb\u52d5\u3055\u305b\u3066\u3044\u304d\u307e\u3059\u3002\u3053\u306e\u3068\u304d\u3001\u50cf\u304c\u7126\u70b9\u3092\u7d50\u3076\u30ec\u30f3\u30ba\u306e\u4f4d\u7f6e\u306f\u4f55\u304b\u6240\u3042\u308b\u3067\u3057\u3087\u3046\u304b\uff1f<\/p>\n<p>\u3068\u3044\u3046\u554f\u984c\u3067\u3059\u3002\u3053\u3053\u3067\u30ec\u30f3\u30ba\u306e\u7126\u70b9\u8ddd\u96e2\u306f10cm\u3001\u7269\u4f53\u3068\u30b9\u30af\u30ea\u30fc\u30f3\u9593\u306e\u8ddd\u96e2\u306f60cm\u3068\u3057\u307e\u3059\uff08\u8aac\u660e\u3057\u3084\u3059\u3044\u3088\u3046\u306b\u3001\u5b9f\u969b\u306e\u554f\u984c\u304b\u3089\u5c11\u3057\u6539\u5909\u3057\u3066\u3044\u307e\u3059\uff09\u3002<\/p>\n<p><a href=\"http:\/\/itoshi.main.jp\/tech\/wp-content\/uploads\/2022\/09\/rens_prob.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/itoshi.main.jp\/tech\/wp-content\/uploads\/2022\/09\/rens_prob.jpg\" alt=\"\" width=\"462\" height=\"348\" class=\"aligncenter size-full wp-image-3474\" srcset=\"https:\/\/itoshi.main.jp\/tech\/wp-content\/uploads\/2022\/09\/rens_prob.jpg 462w, https:\/\/itoshi.main.jp\/tech\/wp-content\/uploads\/2022\/09\/rens_prob-300x226.jpg 300w\" sizes=\"auto, (max-width: 462px) 100vw, 462px\" \/><\/a><\/p>\n<h2>\u89e3<\/h2>\n<p>\u30ec\u30f3\u30ba\u306e\u4f4d\u7f6e\u3092X\u3001\u7126\u70b9\u304c\u5408\u3046\u4f4d\u7f6e\u3092Y\u3068\u3057\u307e\u3059\u3002<\/p>\n<p><a href=\"http:\/\/itoshi.main.jp\/tech\/wp-content\/uploads\/2022\/09\/rens_pict1.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/itoshi.main.jp\/tech\/wp-content\/uploads\/2022\/09\/rens_pict1.jpg\" alt=\"\" width=\"462\" height=\"416\" class=\"aligncenter size-full wp-image-3475\" srcset=\"https:\/\/itoshi.main.jp\/tech\/wp-content\/uploads\/2022\/09\/rens_pict1.jpg 462w, https:\/\/itoshi.main.jp\/tech\/wp-content\/uploads\/2022\/09\/rens_pict1-300x270.jpg 300w\" sizes=\"auto, (max-width: 462px) 100vw, 462px\" \/><\/a><\/p>\n<p>\u3053\u306eX\u3068Y\u306e\u95a2\u4fc2\u3092\u30b0\u30e9\u30d5\u5316\u3059\u308b\u3068\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u306a\u308a\u307e\u3059\uff08\u30ec\u30f3\u30ba\u306e\u516c\u5f0f\u306f\u4f7f\u308f\u305a\u306b\u3001\u76f4\u7dda\u306e\u4ea4\u308f\u308b\u70b9\u3068\u3057\u3066Y\u3092\u6c42\u3081\u307e\u3057\u305f\uff09\u3002<\/p>\n<p><a href=\"http:\/\/itoshi.main.jp\/tech\/wp-content\/uploads\/2022\/09\/rens_graph.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/itoshi.main.jp\/tech\/wp-content\/uploads\/2022\/09\/rens_graph.jpg\" alt=\"\" width=\"620\" height=\"317\" class=\"aligncenter size-full wp-image-3476\" srcset=\"https:\/\/itoshi.main.jp\/tech\/wp-content\/uploads\/2022\/09\/rens_graph.jpg 620w, https:\/\/itoshi.main.jp\/tech\/wp-content\/uploads\/2022\/09\/rens_graph-300x153.jpg 300w\" sizes=\"auto, (max-width: 620px) 100vw, 620px\" \/><\/a><\/p>\n<p>\u9762\u767d\u3044\u3053\u3068\u306b\u3001X\u304c20\u307e\u3067\u306f\u3001Y\u306f\u6e1b\u5c11\u3057\u307e\u3059\u304c\u3001X\u304c20\u3092\u8d85\u3048\u308b\u3068\u5897\u52a0\u3059\u308b\u3068\u3044\u3046\u95a2\u4fc2\u306b\u306a\u308a\u307e\u3059\u3002<br \/>\nX=20\u3068\u3044\u3046\u306e\u306f\u3001\u30ec\u30f3\u30ba\u306e\u7126\u70b9\u8ddd\u96e2\u306e2\u500d\u306e\u3068\u304d\u3067\u3059\u3002\u3053\u306e\u6642\u306b\u30b9\u30af\u30ea\u30fc\u30f3\u307e\u3067\u306e\u8ddd\u96e2\u304c\u6700\u5c0f\u306b\u306a\u308b\u306e\u3067\u3059\u3002<\/p>\n<p>\u898b\u65b9\u3092\u5909\u3048\u3066\u3001\u30b9\u30af\u30ea\u30fc\u30f3\u304c60cm \u306e\u4f4d\u7f6e\u306b\u56fa\u5b9a\u3055\u308c\u3066\u3044\u308b\u3068\u3059\u308c\u3070\uff08\u30aa\u30ec\u30f3\u30b8\u306e\u6a2a\u7dda\uff09\u3001\u95a2\u6570\u304c\u30aa\u30ec\u30f3\u30b8\u306e\u6a2a\u7dda\u3068\u4ea4\u308f\u308b\u306e\u304c2\u304b\u6240\u306a\u306e\u3067\u3001<br \/>\n\u3053\u306e2\u304b\u6240\u3067\u7126\u70b9\u304c\u5408\u3046\u3068\u3044\u3048\u307e\u3059\u3002<\/p>\n<h2>\u30d7\u30ed\u30b0\u30e9\u30e0<\/h2>\n<p>Jupyter notebook \u3067\u4f5c\u6210\u3057\u307e\u3057\u305f\u3002<\/p>\n<p>\u307e\u305a\u3001\u8a08\u7b97\u3084\u63cf\u753b\u306b\u4f7f\u7528\u3059\u308b\u95a2\u6570\u3092\u4f5c\u308a\u307e\u3059\u3002<\/p>\n<pre class=\"lang:python decode:true \" >\r\ndef draw_line_2p(p1, p2, x_min=None, x_max=None, col='b', lw=2, isShow=True):\r\n    '''\r\n    2\u70b9 p1, p2\u3092\u7d50\u3076\u76f4\u7dda\u3092\u3001x_min, x_max\u306e\u7bc4\u56f2\u3067\u63cf\u304f\r\n    \u50be\u304da\u3068\u5207\u7247b\u3092\u51fa\u529b\r\n    isShow = True \u3068\u3059\u308b\u3068\u63cf\u753b\u3059\u308b\r\n    '''\r\n    if x_min is None:\r\n        x_min = p1[0]\r\n    if x_max is None:\r\n        x_max = p2[0]\r\n\r\n    if p1[0] == p2[0]:\r\n        # \u5782\u76f4\u306e\u5834\u5408\r\n        plt.plot([p1[0], p1[0]], [p1[1], p2[1]], color=col, lw=lw)\r\n        return None, None\r\n\r\n    a = (p2[1] - p1[1]) \/ (p2[0] - p1[0])\r\n    b = p1[1] - a * p1[0]\r\n    y0 = a * x_min + b \r\n    y1 = a * x_max + b\r\n\r\n    if isShow:\r\n        plt.plot([x_min, x_max], [y0, y1], color=col, lw=lw)\r\n    \r\n    return a, b  \r\n\r\n<\/pre>\n<p>\u6b21\u306b\u4e8c\u3064\u306e\u76f4\u7dda\u306e\u4ea4\u70b9\u3092\u6c42\u3081\u308b\u95a2\u6570\u3092\u4f5c\u308a\u307e\u3059\u3002<\/p>\n<pre class=\"lang:default decode:true \" >\r\ndef intersection(p1, p2, q1, q2):\r\n    '''\r\n    p1, p2 \u306e2\u70b9\u3092\u901a\u308b\u76f4\u7dda\u3068\u3001q1, q2 \u3092\u901a\u308b\u76f4\u7dda\u306e\u4ea4\u70b9\u3092\u6c42\u3081\u308b\r\n    '''\r\n    p_a, p_b = draw_line_2p(p1, p2, isShow=False)\r\n    q_a, q_b = draw_line_2p(q1, q2, isShow=False)\r\n    if p_a == q_a:\r\n        return None, None\r\n        \r\n    x = - (p_b - q_b) \/ (p_a - q_a)\r\n    y = p_a * x + p_b\r\n    return x, y\r\n<\/pre>\n<p>\u3053\u3061\u3089\u304c\u30e1\u30a4\u30f3\u3002<\/p>\n<p>\u7269\u4f53\u306e\u9ad8\u3055(light_H)\u3001\u30ec\u30f3\u30ba\u306e\u4f4d\u7f6e(lens_pos)\u3001\u7126\u70b9\u8ddd\u96e2(lens_F)\u3092\u4e0e\u3048\u308b\u3068\u3001<br \/>\n\u30b9\u30af\u30ea\u30fc\u30f3\u306e\u4f4d\u7f6e\u3092\u51fa\u529b\u3057\u3001\u305d\u306e\u6642\u306e\u4f4d\u7f6e\u95a2\u4fc2\u3092\u56f3\u793a\u3059\u308b\u30d7\u30ed\u30b0\u30e9\u30e0\u3067\u3059\u3002<\/p>\n<pre class=\"lang:python decode:true \" >\r\ndef get_screen_pos(light_H=5, lens_pos=20, lens_F=10, isShow=True):\r\n    ''' \r\n    \u88ab\u5199\u4f53\u4f4d\u7f6e\u3092(0, light_H) \u3068\u3057\u305f\u3068\u304d\r\n    lens_pos: \u30ec\u30f3\u30ba\u4f4d\u7f6e\r\n    lens_F: \u30ec\u30f3\u30ba\u306e\u7126\u70b9\u8ddd\u96e2\r\n    \u304b\u3089\u3001\r\n    screen \u306e\u4f4d\u7f6e(x, y)\u3092\u51fa\u529b\r\n    '''\r\n\r\n    # \u7269\u306e\u5ea7\u6a19\r\n    light_base = [0, 0]  # \u5149\u6e90\u306e\u6839\u672c\r\n    light_top = [0, light_H]  # \u5149\u6e90\u306e\u982d\r\n    light_top_on_lens = [lens_pos, light_H]  # \u5149\u6e90\u306e\u982d\u304c\u30ec\u30f3\u30ba\u3078\u6295\u5c04\u3059\u308b\u4f4d\u7f6e\r\n\r\n    lens_low = [lens_pos, -light_H]  # \u30ec\u30f3\u30ba\u306e\u4e0b\u5074\r\n    lens_up = [lens_pos, light_H]  # \u30ec\u30f3\u30ba\u306e\u4e0b\u5074\r\n    lens_focus = [lens_pos + lens_F, 0]  # \u30ec\u30f3\u30ba\u306e\u7126\u70b9\u306e\u3042\u308b\u5ea7\u6a19\r\n    lens_center = [lens_pos, 0]  # \u30ec\u30f3\u30ba\u306e\u4f4d\u7f6e\r\n\r\n    # \u7126\u70b9\u4f4d\u7f6e\r\n    x, y = intersection(light_top_on_lens, lens_focus, light_top, lens_center)\r\n\r\n    # \u7269\u306e\u63cf\u753b\r\n    if isShow:\r\n        x_max = 100  # \u63cf\u753b\u3059\u308b\u7bc4\u56f2\r\n        if x is not None:\r\n            x_max = x \r\n        \r\n        draw_line_2p(light_base, light_top, col='r', lw=5)  # \u7269\u4f53\r\n        draw_line_2p(lens_low, lens_up, col='b', lw=5)  # \u30ec\u30f3\u30ba\r\n        plt.plot(lens_focus[0], lens_focus[1], marker='o', color='b', markersize=10)  # \u30ec\u30f3\u30ba\u7126\u70b9\r\n\r\n        # \u7126\u70b9\u3092\u901a\u308b\u5149\u306e\u7d4c\u8def\r\n        draw_line_2p(light_top, light_top_on_lens, col='c')\r\n        draw_line_2p(light_top_on_lens, lens_focus, x_max=x_max, col='c')\r\n        # \u30ec\u30f3\u30ba\u306e\u4e2d\u5fc3\u3092\u901a\u308b\u7d4c\u8def\r\n        draw_line_2p(light_top, lens_center, x_min=0, x_max=x_max, col='m')\r\n        if x &gt; 0:\r\n            # \u50cf\r\n            plt.plot([x, x], [0, y], lw=5, color=(1, .8, .8))\r\n            # \u5149\u6e90\u306e\u982d\u304c\u6620\u308b\u4f4d\u7f6e\r\n            plt.plot(x, y, marker='x', markersize=10, color='r')\r\n    return x, y\r\n\r\n# test\r\nx, y = get_screen_pos(light_H=5, lens_pos=20, lens_F=10, isShow=True)\r\nprint(f'\u7126\u70b9\u306e\u5408\u3046\u8ddd\u96e2\uff1a{x:.2f} cm')\r\nplt.grid()\r\nplt.show()\r\n\r\n<\/pre>\n<p><a href=\"http:\/\/itoshi.main.jp\/tech\/wp-content\/uploads\/2022\/09\/rens_out1.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/itoshi.main.jp\/tech\/wp-content\/uploads\/2022\/09\/rens_out1.jpg\" alt=\"\" width=\"386\" height=\"287\" class=\"aligncenter size-full wp-image-3477\" srcset=\"https:\/\/itoshi.main.jp\/tech\/wp-content\/uploads\/2022\/09\/rens_out1.jpg 386w, https:\/\/itoshi.main.jp\/tech\/wp-content\/uploads\/2022\/09\/rens_out1-300x223.jpg 300w\" sizes=\"auto, (max-width: 386px) 100vw, 386px\" \/><\/a><\/p>\n<p>\u3053\u308c\u3092\u4f7f\u3063\u3066\u3001X\u3068Y\u306e\u95a2\u4fc2\u3092\u30b0\u30e9\u30d5\u306b\u3059\u308b\u306e\u304c\u6b21\u306e\u30b3\u30fc\u30c9\u3002<\/p>\n<pre class=\"lang:python decode:true \" >\r\nxs = []\r\nys = []\r\nlens_poss = np.linspace(11, 60, 100)  # \u7126\u70b9\u8ddd\u96e210\u3068\u540c\u3058\u4f4d\u7f6e10\u306f\u7121\u9650\u306b\u306a\u308b\u306e\u306711\u304b\u3089\r\nfor lens_pos in lens_poss:\r\n    x, y = get_screen_pos(light_H=5, lens_pos=lens_pos, lens_F=10, isShow=False)\r\n    xs.append(x)\r\n    ys.append(y)\r\n\r\nplt.figure(figsize=(10, 5))\r\nplt.plot(lens_poss, xs, label='rens position')\r\nplt.plot([10, 60], [60, 60], color='orange', label='screen 60 cm')\r\nplt.xlabel('x (lens_position)')\r\nplt.ylabel('y (screen_position)')\r\nplt.xticks(range(10, 61, 5))\r\nplt.legend()\r\nplt.grid()\r\nplt.show()\r\n<\/pre>\n<p><a href=\"http:\/\/itoshi.main.jp\/tech\/wp-content\/uploads\/2022\/09\/rens_graph.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/itoshi.main.jp\/tech\/wp-content\/uploads\/2022\/09\/rens_graph.jpg\" alt=\"\" width=\"620\" height=\"317\" class=\"aligncenter size-full wp-image-3476\" srcset=\"https:\/\/itoshi.main.jp\/tech\/wp-content\/uploads\/2022\/09\/rens_graph.jpg 620w, https:\/\/itoshi.main.jp\/tech\/wp-content\/uploads\/2022\/09\/rens_graph-300x153.jpg 300w\" sizes=\"auto, (max-width: 620px) 100vw, 620px\" \/><\/a><\/p>\n<p>\u4ee5\u4e0b\u3001\u30ec\u30f3\u30ba\u306e\u4f4d\u7f6e\u3092\u5909\u3048\u305f\u30b7\u30e7\u30c3\u30c8\u3002<\/p>\n<p>\u30ec\u30f3\u30ba\u306e\u7126\u70b9\u304c10cm \u306a\u306e\u3067\u3001\u30ec\u30f3\u30ba\u306e\u4f4d\u7f6e\u304c10cm\u306e\u3068\u304d\u306f\u3001\u7126\u70b9\u306e\u5408\u3046\u8ddd\u96e2\u306f\u7121\u9650\u9060\u65b9\u3002\u4e0b\u306e\u56f3\u306f\u3001\u305d\u3053\u304b\u3089\u30ec\u30f3\u30ba\u306e\u4f4d\u7f6e\u3092\u53f3\u306b1cm\u52d5\u304b\u3057\u305f\u3082\u306e\u3002<\/p>\n<p><a href=\"http:\/\/itoshi.main.jp\/tech\/wp-content\/uploads\/2022\/09\/rens_pos11.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/itoshi.main.jp\/tech\/wp-content\/uploads\/2022\/09\/rens_pos11.jpg\" alt=\"\" width=\"610\" height=\"242\" class=\"aligncenter size-full wp-image-3479\" srcset=\"https:\/\/itoshi.main.jp\/tech\/wp-content\/uploads\/2022\/09\/rens_pos11.jpg 610w, https:\/\/itoshi.main.jp\/tech\/wp-content\/uploads\/2022\/09\/rens_pos11-300x119.jpg 300w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><\/a><\/p>\n<p>\u30ec\u30f3\u30ba\u3092\u53f3\u306b\u52d5\u304b\u3059\u3068\u7126\u70b9\u306e\u5408\u3046\u30b9\u30af\u30ea\u30fc\u30f3\u306e\u4f4d\u7f6e\u306f\u8fd1\u3065\u3044\u3066\u304f\u308b\u3002\u30ec\u30f3\u30ba\u309212.7cm\u306e\u5730\u70b9\u307e\u3067\u52d5\u304b\u3059\u3068\u3001\u30b9\u30af\u30ea\u30fc\u30f3\u306e\u4f4d\u7f6e\u306f\u3060\u3044\u305f\u304460cm\u3068\u306a\u308b\u3002\u3053\u306e\u3068\u304d\u3001\u50cf\u306e\u5927\u304d\u3055\u306f\u672c\u7269\u3088\u308a\u3082\u5927\u304d\u3044\u3002<\/p>\n<p><a href=\"http:\/\/itoshi.main.jp\/tech\/wp-content\/uploads\/2022\/09\/rens_pos12.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/itoshi.main.jp\/tech\/wp-content\/uploads\/2022\/09\/rens_pos12.jpg\" alt=\"\" width=\"610\" height=\"246\" class=\"aligncenter size-full wp-image-3480\" srcset=\"https:\/\/itoshi.main.jp\/tech\/wp-content\/uploads\/2022\/09\/rens_pos12.jpg 610w, https:\/\/itoshi.main.jp\/tech\/wp-content\/uploads\/2022\/09\/rens_pos12-300x121.jpg 300w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><\/a><\/p>\n<p>\u30ec\u30f3\u30ba\u306e\u4f4d\u7f6e\u3092\u7126\u70b9\u8ddd\u96e2\u306e2\u500d\u306e\u4f4d\u7f6e\u307e\u3067\uff0820cm\uff09\u52d5\u304b\u3057\u305f\u3068\u304d\u304c\u3001\u6700\u3082\u30b9\u30af\u30ea\u30fc\u30f3\u306e\u4f4d\u7f6e\u304c\u8fd1\u304f\u306a\u308a40cm\u3002\u50cf\u306e\u5927\u304d\u3055\u306f\u672c\u7269\u306e\u5927\u304d\u3055\u3068\u540c\u3058\u306b\u306a\u308b\u3002<\/p>\n<p><a href=\"http:\/\/itoshi.main.jp\/tech\/wp-content\/uploads\/2022\/09\/rens_pos20.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/itoshi.main.jp\/tech\/wp-content\/uploads\/2022\/09\/rens_pos20.jpg\" alt=\"\" width=\"612\" height=\"246\" class=\"aligncenter size-full wp-image-3481\" srcset=\"https:\/\/itoshi.main.jp\/tech\/wp-content\/uploads\/2022\/09\/rens_pos20.jpg 612w, https:\/\/itoshi.main.jp\/tech\/wp-content\/uploads\/2022\/09\/rens_pos20-300x121.jpg 300w\" sizes=\"auto, (max-width: 612px) 100vw, 612px\" \/><\/a><\/p>\n<p>\u3055\u3089\u306b\u30ec\u30f3\u30ba\u306e\u4f4d\u7f6e\u3092\u53f3\u306b\u52d5\u304b\u3057\u3066\u3044\u304f\u3068\u3001\u7126\u70b9\u306e\u5408\u3046\u30b9\u30af\u30ea\u30fc\u30f3\u306e\u4f4d\u7f6e\u306f\u53f3\u306b\u96e2\u308c\u3066\u3044\u304f\u3002<\/p>\n<p><a href=\"http:\/\/itoshi.main.jp\/tech\/wp-content\/uploads\/2022\/09\/rens_pos30.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/itoshi.main.jp\/tech\/wp-content\/uploads\/2022\/09\/rens_pos30.jpg\" alt=\"\" width=\"616\" height=\"249\" class=\"aligncenter size-full wp-image-3494\" srcset=\"https:\/\/itoshi.main.jp\/tech\/wp-content\/uploads\/2022\/09\/rens_pos30.jpg 616w, https:\/\/itoshi.main.jp\/tech\/wp-content\/uploads\/2022\/09\/rens_pos30-300x121.jpg 300w\" sizes=\"auto, (max-width: 616px) 100vw, 616px\" \/><\/a><\/p>\n<p>\u30ec\u30f3\u30ba\u306e\u4f4d\u7f6e\u304c47cm\u307e\u3067\u52d5\u304f\u3068\u3001\u30b9\u30af\u30ea\u30fc\u30f3\u306e\u4f4d\u7f6e\u306f60cm\u304f\u3089\u3044\u3068\u306a\u308b\u3002\u3053\u306e\u6642\u306e\u50cf\u306f\u672c\u7269\u3088\u308a\u3082\u3060\u3044\u3076\u5c0f\u3055\u3044\u3002<\/p>\n<p><a href=\"http:\/\/itoshi.main.jp\/tech\/wp-content\/uploads\/2022\/09\/rens_pos59.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/itoshi.main.jp\/tech\/wp-content\/uploads\/2022\/09\/rens_pos59.jpg\" alt=\"\" width=\"608\" height=\"245\" class=\"aligncenter size-full wp-image-3483\" srcset=\"https:\/\/itoshi.main.jp\/tech\/wp-content\/uploads\/2022\/09\/rens_pos59.jpg 608w, https:\/\/itoshi.main.jp\/tech\/wp-content\/uploads\/2022\/09\/rens_pos59-300x121.jpg 300w\" sizes=\"auto, (max-width: 608px) 100vw, 608px\" \/><\/a><\/p>\n<p>\u3064\u307e\u308a\u3001\u554f\u984c\u306e\u7b54\u3048\u306f\u3001\u300c2\u304b\u6240\u300d\u3068\u3044\u3046\u3053\u3068\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n<h2>\u66f2\u7dda\u306e\u5f0f<\/h2>\n<p>Y\u3068X\u306e\u95a2\u4fc2\u5f0f\u3092\u6c42\u3081\u307e\u3059\u3002<\/p>\n<p>\u7269\u4f53\u304b\u3089\u30ec\u30f3\u30ba\u307e\u3067\u306e\u8ddd\u96e2\u3092a\u3001\u30ec\u30f3\u30ba\u304b\u3089\u30b9\u30af\u30ea\u30fc\u30f3\u307e\u3067\u306e\u8ddd\u96e2\u3092b \u3068\u3059\u308b\u3068\u4ee5\u4e0b\u306e\u516c\u5f0f\u304c\u306a\u308a\u305f\u3061\u307e\u3059\u3002<\/p>\n<p>[math]<br \/>\n\\frac{1}{a} + \\frac{1}{b} = \\frac{1}{F}<br \/>\n[\/math]<\/p>\n<p><a href=\"http:\/\/itoshi.main.jp\/tech\/wp-content\/uploads\/2022\/09\/rens_kousiki.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/itoshi.main.jp\/tech\/wp-content\/uploads\/2022\/09\/rens_kousiki.jpg\" alt=\"\" width=\"462\" height=\"416\" class=\"aligncenter size-full wp-image-3487\" srcset=\"https:\/\/itoshi.main.jp\/tech\/wp-content\/uploads\/2022\/09\/rens_kousiki.jpg 462w, https:\/\/itoshi.main.jp\/tech\/wp-content\/uploads\/2022\/09\/rens_kousiki-300x270.jpg 300w\" sizes=\"auto, (max-width: 462px) 100vw, 462px\" \/><\/a><\/p>\n<p>a=X, b=Y-X \u3068\u3057\u3066\u3001Y=\u306e\u5f62\u306b\u6574\u3048\u308b\u3068\u4ee5\u4e0b\u306e\u5f0f\u304c\u5f97\u3089\u308c\u307e\u3059\u3002<\/p>\n<p>[math]<br \/>\nY = \\frac{-X^2}{F-X}<br \/>\n[\/math]<\/p>\n<p>\u3067\u306f\u30b0\u30e9\u30d5\u3092\u63cf\u304d\u307e\u3057\u3087\u3046\u3002<\/p>\n<pre class=\"lang:python decode:true \" >\r\ndef func(x, F=10):\r\n    return -x**2\/(F-x)\r\n\r\nx = np.linspace(11, 60, 100)\r\ny = func(x)\r\n\r\nplt.figure(figsize=(10, 5))\r\nplt.plot(x, y)\r\nplt.grid()\r\nplt.xlabel('x (lens_position)')\r\nplt.ylabel('y (screen_position)')\r\nplt.xticks(range(10, 61, 5))\r\nplt.show()\r\n<\/pre>\n<p>\u5148\u307b\u3069\u3068\u540c\u3058\u30b0\u30e9\u30d5\u304c\u5f97\u3089\u308c\u307e\u3057\u305f\u3002<\/p>\n<p><a href=\"http:\/\/itoshi.main.jp\/tech\/wp-content\/uploads\/2022\/09\/rens_final.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/itoshi.main.jp\/tech\/wp-content\/uploads\/2022\/09\/rens_final.jpg\" alt=\"\" width=\"625\" height=\"318\" class=\"aligncenter size-full wp-image-3488\" srcset=\"https:\/\/itoshi.main.jp\/tech\/wp-content\/uploads\/2022\/09\/rens_final.jpg 625w, https:\/\/itoshi.main.jp\/tech\/wp-content\/uploads\/2022\/09\/rens_final-300x153.jpg 300w\" sizes=\"auto, (max-width: 625px) 100vw, 625px\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u30ec\u30f3\u30ba\u306e\u554f\u984c\u3092\u4e2d\u5b66\u751f\u306b\u805e\u304b\u308c\u305f\u306e\u3067\u3059\u304c\u3001\u3059\u3050\u306b\u7b54\u3048\u3089\u307e\u305b\u3093\u3067\u3057\u305f\u3002 \u305d\u3053\u3067\u30d7\u30ed\u30b0\u30e9\u30e0\u3067\u30b0\u30e9\u30d5\u3092\u63cf\u304d\u306a\u304c\u3089\u8003\u5bdf\u3057\u305f\u3053\u3068\u306e\u307e\u3068\u3081\u3067\u3059\u3002 \u554f\u984c \u7269\u4f53\u3068\u30b9\u30af\u30ea\u30fc\u30f3\u306e\u9593\u306b\u51f8\u30ec\u30f3\u30ba\u3092\u7f6e\u3044\u3066\u3001\u30b9\u30af\u30ea\u30fc\u30f3\u306b\u50cf\u3092\u5199\u3059\u3053\u3068\u3092\u8003\u3048\u307e\u3059\u3002 \u3053\u3053\u3067\u3001\u30ec\u30f3\u30ba\u3092\u7269\u4f53\u5074\u304b\u3089\u30b9\u30af\u30ea\u30fc\u30f3\u5074\u306b\u79fb\u52d5\u3055\u305b\u3066\u3044\u304d\u307e\u3059\u3002\u3053\u306e [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":3474,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2,27],"tags":[],"class_list":{"0":"post-3472","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-python","8":"category-27","9":"cat-2-id","10":"cat-27-id","11":"has_thumb"},"_links":{"self":[{"href":"https:\/\/itoshi.main.jp\/tech\/wp-json\/wp\/v2\/posts\/3472","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/itoshi.main.jp\/tech\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/itoshi.main.jp\/tech\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/itoshi.main.jp\/tech\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/itoshi.main.jp\/tech\/wp-json\/wp\/v2\/comments?post=3472"}],"version-history":[{"count":11,"href":"https:\/\/itoshi.main.jp\/tech\/wp-json\/wp\/v2\/posts\/3472\/revisions"}],"predecessor-version":[{"id":3497,"href":"https:\/\/itoshi.main.jp\/tech\/wp-json\/wp\/v2\/posts\/3472\/revisions\/3497"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/itoshi.main.jp\/tech\/wp-json\/wp\/v2\/media\/3474"}],"wp:attachment":[{"href":"https:\/\/itoshi.main.jp\/tech\/wp-json\/wp\/v2\/media?parent=3472"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/itoshi.main.jp\/tech\/wp-json\/wp\/v2\/categories?post=3472"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/itoshi.main.jp\/tech\/wp-json\/wp\/v2\/tags?post=3472"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}