내삽법 (보간법) 계산기.py

재료 2020. 7. 7. 15:25

 

파이썬으로 내삽법 계산기 만들었습니다.

 

버튼 없이 숫자를 입력하면 바로 계산에 들어가는 방식입니다.

 

아직 수정할 사항이 많지만 올려봅니다.

 

계산기 다운로드 링크

github.com/hykang5362/interpolation/raw/master/calc4.exe

 

깃허브 링크

https://github.com/hykang5362/interpolation

 

hykang5362/interpolation

code for calculating interpolation with python 내삽법 (보간법) 계산기 - hykang5362/interpolation

github.com

 

 

파이썬 코드

from tkinter import *

#Graphic_Interface class

class Graphic_interface :
       
    def layout(self):
        
        #input1
       
        self.insert_init = Entry(justify= "right", width=17)
        self.insert_init.grid(row=0, column=0,columnspan=3, padx=10, pady=10)
        self.insert_init.configure(font=("Courier",16,"bold"))

        #output
        
        self.display = Label(justify= "right", width=17)
        self.display.grid(row=1, column=4, columnspan=3, padx=10, pady=10)
        self.display.configure(font=("Courier",16,"bold"))

        #input2

        self.insert_end = Entry(justify= "right", width=17)
        self.insert_end.grid(row=0, column=8, columnspan=3, padx=10, pady=10)
        self.insert_end.configure(font=("Courier",16,"bold"))

        #input3
       
        self.insert_init2 = Entry(justify= "right", width=17)
        self.insert_init2.grid(row=1, column=0, columnspan=3, padx=10, pady=10)
        self.insert_init2.configure(font=("Courier",16,"bold"))

        #input4
       
        self.insert_cent = Entry(justify= "right", width=17)
        self.insert_cent.grid(row=0, column=4, columnspan=3, padx=10, pady=10)
        self.insert_cent.configure(font=("Courier",16,"bold"))

        #input5
       
        self.insert_end2 = Entry(justify= "right", width=17)
        self.insert_end2.grid(row=1, column=8, columnspan=3, padx=10, pady=10)
        self.insert_end2.configure(font=("Courier",16,"bold"))


# Input Output class

class IOput(Graphic_interface):
    def __init__(self):
        self.layout()
        self.refresh_disp('0')
        
        
    # clear display

    def clear_disp(self):
        self.insert_init.delete(0,'end')     # 입력값 지우기
        self.insert_init2.delete(0,'end')
        self.insert_end.delete(0,'end')
        self.insert_end2.delete(0,'end')
        self.insert_cent.delete(0,'end')
        
        
    # replace text on display

    def refresh_disp(self, text):
        self.clear_disp()                
        self.insert_init.insert(0, text)    # 입력값 넣기
        self.insert_init2.insert(0, text)
        self.insert_end.insert(0, text)
        self.insert_end2.insert(0, text)
        self.insert_cent.insert(0, text)

    # display the result

    def result_disp(self, text):
        a = str(text)
        self.display.configure(text = '%s' % a)        # 입력값 넣기
        

#Main Class

class Main:


    def initGraphic(self):
        self.interface = IOput()
    

    # detect layer

    def key(self, event):

        #calculate values
        
        
        def average(a, b, c, d, e):
            x = ((e - a)*d + (b - e)*c)/(b-a)
            
            return x

        def result_disp(self, text):
            self.display.insert(0,text)

        a1 = float(self.interface.insert_init.get())
        b1 = float(self.interface.insert_end.get())
        a2 = float(self.interface.insert_init2.get())
        b2 = float(self.interface.insert_end2.get())
        c1 = float(self.interface.insert_cent.get())
        

        c2 = average(a1, b1, a2, b2, c1)

        self.interface.result_disp('%f' % c2)

    #생성자
    
    def __init__(self, master):
        self.master = master
        self.initGraphic()
        master.bind("<Key>", self.key)







#Initialize calculator
 
root = Tk()
root.title("내삽법 계산기")
root.resizable(False,False)             # 화면 크기 고정
Main(root)


root.mainloop()

Micro‐ and Nanopatterning of Halide Perovskites Where Crystal Engineering for Emerging Photoelectronics Meets Integrated Device Array Technology(초록Abstract 번역)

재료 2020. 6. 13. 16:23

 

떠오르는 광전자 공학을 위한 크리스털 엔지니어링이 통합 소자 어레이 기술을 만나는 할로겐 페로브스카이트의 마이크로 및 나노 패턴

2020.06.12.

doi 주소:  https://doi.org/10.1002/adma.202000597

 

영문

더보기

Abstract

Tremendous efforts have been devoted to developing thin film halide perovskites (HPs) for use in high‐performance photoelectronic devices, including solar cells, displays, and photodetectors. Furthermore, structured HPs with periodic micro‐ or nanopatterns have recently attracted significant interest due to their potential to not only improve the efficiency of an individual device via the controlled arrangement of HP crystals into a confined geometry, but also to technologically pixelate the device into arrays suitable for future commercialization. However, micro‐ or nanopatterning of HPs is not usually compatible with conventional photolithography, which is detrimental to ionic HPs and requires special techniques. Herein, a comprehensive overview of the state‐of‐the‐art technologies used to develop micro‐ and nanometer‐scale HP patterns, with an emphasis on their controlled microstructures based on top‐down and bottom‐up approaches, and their potential for future applications, is provided. Top‐down approaches include modified conventional lithographic techniques and soft‐lithographic methods, while bottom‐up approaches include template‐assisted patterning of HPs based on lithographically defined prepatterns and self‐assembly. HP patterning is shown here to not only improve device performance, but also to reveal the unprecedented functionality of HPs, leading to new research areas that utilize their novel photophysical properties.

 

한글

더보기

태양 전지, 디스플레이 및 광 검출기를 포함한 고성능 광전자 장치에 사용하기 위한 박막 할라이드 페로브스카이트(HP)를 개발하기 위해 많은 노력을 기울였습니다. 또한, 주기적인 마이크로 패턴 또는 나노 패턴을 갖는 구조화 된 HP는 최근 HP 결정의 제어된 배치를 통해 개별 장치의 효율성을 개선 할뿐만 아니라 장치를 어레이로 기술적으로 픽셀화할 수 있는 잠재력으로인해 최근 상당한 관심을 끌었습니다. 향후 상용화에 적합합니다. 그러나 HP의 마이크로 패턴 또는 나노 패턴은 일반적으로 이온성 HP에 해롭고 특별한 기술이 필요한 기존의 포토리소그래피와 호환되지는 않습니다. 여기서는 하향식 및 상향식 접근 방식을 기반으로 제어 된 미세 구조와 미래의 잠재력을 강조하여 마이크로 및 나노 미터 규모의 HP 패턴을 개발하는데 사용되는 최신 기술에 대한 포괄적인 개요를 제공합니다. 응용 프로그램이 제공됩니다. 하향식 접근 방식에는 수정된 기존 리소그래피 기술과 소프트 리소그래피 방법이 포함되며 상향식 접근 방식에는 리소그래피로 정의 된 사전 패턴 및 자체 조립을 기반으로하는 HP의 템플릿 지원 패터닝이 포함됩니다. HP 패터닝은 여기에서 장치 성능을 향상시킬뿐만 아니라 HP의 전례없는 기능을 보여줌으로써 새로운 광 물리적 특성을 활용하는 새로운 연구 분야로 이어집니다.

 

 

출처: https://onlinelibrary.wiley.com/doi/full/10.1002/adma.202000597

 

Micro‐ and Nanopatterning of Halide Perovskites Where Crystal Engineering for Emerging Photoelectronics Meets Integrated Devic

Micro‐ and nanopatterned halide perovskites (HPs) have recently attracted significant attention due to their controllable photophysical properties and unprecedented photoelectronic functionalities. A...

onlinelibrary.wiley.com

 

구글 번역기에 도움을 받았습니다.

Unity Engine 유니티 엔진 게임 한글화 툴 설치 방법

게임 2020. 6. 5. 03:02

 

 

2020년 06월 05일 기준 최신 버전입니다.

 

아래 링크를 타고 가시면 깃허브 창이 뜰것입니다.

 

당황하지 마시고

 

링크 아래의 사진에 보이는 것처럼

 

Unity~Tool.v버전.zip 적혀있는 파일을 클릭해서 다운로드 해줍니다.

 

한글 패치 다운로드: https://github.com/dmc31a42/UnityL10nTool/releases

 

이 파일을 받으시고서 압축을 풀면

 

아래와 같은 파일들이 있습니다.

 

그중 UnityL10nTool.exe 실행파일을 클릭해 실행해줍니다.

 

만약 윈도운 디펜더에 막히면 실행 허용을 해주시면 됩니다.

 

그러고선 하얀 창을 마주하시게 될겁니다.

 

이 창의 오른쪽 위 New를 클릭 해주세요

 

예를 들어  스팀 무료 게임인 헬테이커를 볼게요(무료에 용량도 작아서 금방 연습해보기 때문입니다.)

 

헬테이커의 실행파일(Helltaker.exe)을 찾아줍니다.

 

경로는 보통은 "C:\Program Files (x86)\Steam\steamapps\common\Helltaker"  일것입니다.

 

그 폴더에서 'Helltaker_Data' 폴더를 찾아서 선택해줍니다.

 

경로는 보통

 

"C:\Program Files (x86)\Steam\steamapps\common\Helltaker\_Helltaker_Data"  일것입니다.

 

 

오른쪽 위에서

 

New 버튼 옆의 Save 버튼은 작업하신 페이지를 저장해줍니다.

 

Build 버튼은 작업하신 것을 게임폴더에 Build 폴더를 생성하고 패치해줍니다.

Project page : 인터페이스 구성입니다.

 

Font Asset : 폰트를 바꿔주는 플러그인 입니다.

 

Text Asset : 게임을 구성하고 있는 텍스트를 추출해 내보내서

 

이용자가 번역, 한글화 작업을 할 수 있게 해주고 적용 해줍니다.

- Json

- Parser

- GetText(.po)

등의 플러그인을 사용하시면 됩니다.

 

Online Resources : 웹에서 리소스를 다운로드 해줍니다. 최근에 번역된 텍스트 등을 다운로드 하는 데에 사용됩니다.

 

Updater : 만약 게임이 업데이트 되었다면, 폰트 엔진 또는 폰트 경로와 텍스트 asset이 바뀌었다면,

 

패치자가 패치할 수 있도록 해주고 최신 패치파일을 웹에서 다운로드 받게 해줍니다.

 

Project Setting ; 빌드 setting 에 관련되어있습니다.

 

Patcher : 패치가 어떻게 작용하는 인터페이스를 보여줍니다.

 

출처: https://github.com/dmc31a42/UnityL10nTool/wiki

 

dmc31a42/UnityL10nTool

Unity Game Localization Tools is helper to make localization patch for un-supported language. - dmc31a42/UnityL10nTool

github.com