디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

이걸 대체 뭐 어케 리팩토링하지 ㅅㅂ

Loodiny갤로그로 이동합니다. 2021.09.13 21:03:38
조회 66 추천 0 댓글 3
														

a14320aa2216782dbe445a48f691aeec358f92664b2141fc0639d3929b7194b6f35a

class Lasgun(Module):
    mass = 0
    consumption = 0
    efficiency = 1
    output_range = [1e108e10]   # 최대/최소 출력 (W... 이긴 한데, 사실 계속 조사하는 게 아니니 의미없을듯?)
    efficiency = 0.98     # 에너지 효율, 0에서 1 사이
    minwavelength = 40e-9      # 빔의 파장      사실 BPP/렌즈 직경을 이렇게 물리적으로 유도할 필요는 없고,  
    m_square = 1.2             # 품질 계수      실상 이상값과 현실 차이에는 격차가 크므로...
    caliber = 0.12              # 렌즈의 '구경'  걍 바로 self.BPPpercaliber 집어넣는 게 편할지도  
    cep = 30 # 명중률을 1e9 m에서의 공산오차 형태로 표시.
    accuracy = 1000 / cep - 10
    tracking = 40
    reloadtime = 16  # 쿨타임

    def __init__(selfsocket):
        super().__init__(socket)
        self.damaged = {'energy'None'output'None'precision'None,
                        'reloadtime'None'BPP/D'None}
        self.setting = {'target'None'output'self.output_range[1],
                        'wavelength'self.minwavelength,
                        'cep'self.cep'tracking'self.tracking}

    def get_shot(selfk=8n=8):
        targetoutputwavelengthceptracking = self.setting.values()
        scandata = self.socket.scanned[target.name]
        distance = self.socket.measure_dstnc(target)
        time = (10 + distance/1e8) * 100 / (100+tracking)
        k = k * time / 100
        impact_posimpact_vel = scandata.get_target_acquisition(timekn)
        if impact_pos is None:
            return
        gap = np.linalg.norm(impact_pos - self.socket.get_pos())
        relative_spd = np.linalg.norm(impact_vel - self.socket.get_vel())
        impact_pos += np.random.normal(00.65*cep*gap/1e93)
        impact_pos += np.random.normal(0, (relative_spd/tracking
                                           *gap/1e9), 3)
        relative_pos = impact_pos - self.socket.get_pos()
        impact_f = np.linalg.norm(relative_pos)
        w_0_ideal = impact_f * wavelength / (np.pi * self.caliber / 2)
        z_r = np.pi * w_0_ideal ** 2 / wavelength
        def omega_z(z):
            return self.m_square * w_0_ideal * np.sqrt(1 + z**2/z_r**2)
        def intensity(xyz):
            return (2 * output / np.pi / omega_z(z)**2
                    * np.exp(-2 * (x**2 + y**2) / omega_z(z)**2))
        z = project_vector(distancerelative_pos)
        r = distance - z
        z_abs = np.linalg.norm(z)-z_r
        direction = target.get_direction()
        p_direction = reject_vector(directionrelative_pos)
        p_length = np.linalg.norm(p_direction)
        if p_length * target.length >= target.beam:
            x_center = np.dot(p_directionr) / p_length
            y_center = np.linalg.norm(-np.dot(p_directionr)
                                      * p_direction + r)
            x_width = target.length / 2 * p_length
            y_min = lambda x: (y_center - target.beam / 2
                               * np.sqrt(1 - (x-x_center)**2/x_width**2))
            y_max = lambda x: (y_center + target.beam 
                               * np.sqrt(1 - (x-x_center)**2/x_width**2))
        else:
            x_center = 0
            y_center = np.linalg.norm(r)
            x_width = target.beam / 2
            y_min = lambda x: (y_center - target.beam / 2
                              * np.sqrt(1 - x**2/x_width**2))
            y_max = lambda x: (y_center + target.beam / 2
                              * np.sqrt(1 - x**2/x_width**2))                     
        pow = dblquad(lambda xyintensity(xyz_abs),
                      x_center-x_widthx_center+x_widthy_miny_max)
        print('\n'
            f'error: {target.get_pos() - impact_pos}\n'
            f'w_0_ideal: {w_0_ideal}\n'
            f'z_r: {z_r}\n'
            f'r: {r}\n'
            f'x_center: {x_center}\n'
            f'x_width: {x_width * 2}\n'
            f'y_center: {y_center}\n'
            f'pow: {pow[0]}\n'
        )
        return pow[0]



함수를 머 어케 쪼개려고 해도

재사용되는 변수가 너무 많은데???



몇 개를 인스턴스 속성으로 빼 내려고 해도

뭘 무슨 순서로 하면 되는 거고 시밤바


내가 짜 놨는데, 논리 단위를 어디까지 분해할 수 있는지 모르겠다


추천 비추천

0

고정닉 0

0

원본 첨부파일 1

댓글 영역

전체 댓글 0
등록순정렬 기준선택
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 요리 경연 프로그램에 나가도 될 것 같은 스타는? 운영자 24/10/07 - -
495389 한화 저멤버로 광고 6천이나 썼는데 멤버바꾸는거 에바지 [2] ㅍㄹㅅ(118.129) 21.11.11 29 0
495387 오..징크스 몸뚱아리 [1] 니뒤이l갤로그로 이동합니다. 21.11.11 47 0
495385 세스트랄님 잘 받앗읍니다 gozaus갤로그로 이동합니다. 21.11.11 28 0
495384 씹덕 노래 잘부르고싶다 ..음미갤로그로 이동합니다. 21.11.11 7 0
495383 오 ㄷㄷ 아스톤 빌라 스티븐 제라드 감독 ㄷㄷ 유로지바갤로그로 이동합니다. 21.11.11 14 0
495381 일러좀치네 회복갤로그로 이동합니다. 21.11.11 19 0
495380 한화 광고 이거 쵸비어깨잡고있는게 웰케웃기지ㅋㅋ [1] 뉴구븽갤로그로 이동합니다. 21.11.11 60 0
495379 에어본 3초 ㄹㅇ 키보드 샷건마렵던데 [2] (홈즈)갤로그로 이동합니다. 21.11.11 30 0
495378 무직전생 작화 움짤 볼 때마다 화가 남 [6] 바우.갤로그로 이동합니다. 21.11.11 55 0
495377 근데 키라 새끼 근자감 오지는 게 당연할 거 같긴 해ㅋㅋ [2] SEELE갤로그로 이동합니다. 21.11.11 51 0
495376 요즘 인스타에 특정 브랜드 햄버거 광고가 자주보여서 [4] 유로지바갤로그로 이동합니다. 21.11.11 32 0
495375 돈까스먹으러갈까 [4] 뭇찌갤로그로 이동합니다. 21.11.11 28 0
495374 프메 서버랑 데이터가 다 날아갓다매ㅅㅂ;; [7] ㄴㅁㅇ갤로그로 이동합니다. 21.11.11 75 0
495372 그래서 스틸볼런 애니 언제 나오냐고 ㅋㅋㅋ 13아해갤로그로 이동합니다. 21.11.11 7 0
495371 궁금한게 키라의 욕구는 여자손이 중요한걸까 살인이 중요한걸까 [3] D4C서부갤로그로 이동합니다. 21.11.11 37 0
495370 죠스케도 시게치가 로또당첨 안시켜줫으면 원수 안갚았음 Embrio갤로그로 이동합니다. 21.11.11 24 0
495369 야스오 궁+피흡으로 대역전이 ㄹㅇ 짜릿한듯 [2] (홈즈)갤로그로 이동합니다. 21.11.11 37 0
495366 D4C를 죽인다. 오직 그 생각뿐이다 [7] 쓰-름갤로그로 이동합니다. 21.11.11 62 0
495365 생각해보니 우리 학교에도 시게치 스타일 장애인 있었다 [2] 소다향¤갤로그로 이동합니다. 21.11.11 45 0
495364 추천받은 죽기전에 봐야할것들 목록... [10] 이와쿠라레인갤로그로 이동합니다. 21.11.11 97 0
495363 나도 대역쓸 거야 [1] Embrio갤로그로 이동합니다. 21.11.11 25 0
495360 키라녀석 죠타로 만날때 근자감 오지긴 햇음 유로지바갤로그로 이동합니다. 21.11.11 39 0
495359 좆토체스 걍 개역겹네 ㅋㅋ [2] 뭇찌갤로그로 이동합니다. 21.11.11 50 0
495358 무직전생 전투씬 수준.gif [6] ㅇㅇ(183.104) 21.11.11 116 0
495357 시게치에게 스탠드가 없었으면 키라 만나기 전에 뒤졌음 [2] Embrio갤로그로 이동합니다. 21.11.11 52 0
495356 나 디씨인데 키라는 지 카운터 능력자가 3~4이나 있었던;;; [3] 김해디씨갤로그로 이동합니다. 21.11.11 60 0
495355 주문 시키고 대기 중인데 왜 옆에 여자애가 쳐다보냐 [2] 삽치갤로그로 이동합니다. 21.11.11 30 0
495354 저녁뭐시켜먹어야함;; [3] 회복갤로그로 이동합니다. 21.11.11 22 0
495352 날 때려죽이려해도 이거 슬랜더임 [2] (홈즈)갤로그로 이동합니다. 21.11.11 36 0
495351 진짜 뇽룡이한테 고마움... 도도가마루갤로그로 이동합니다. 21.11.11 24 0
495350 한문철 또 레전드 갱신하노 ㅋㅋㅋㅋ [4] Silpion갤로그로 이동합니다. 21.11.11 65 0
495348 에어프라이어 군고구마 세팅 어떻게 하냐 [2] olbersia갤로그로 이동합니다. 21.11.11 29 0
495347 ㄹㅇ 키라는 죠르노를 만났어야 했는데 [4] ㅇㅇ(211.36) 21.11.11 68 0
495346 한화 내년도 모윌쵸뎊뷔네 ㅇㅇ; ㅍㄹㅅ(118.129) 21.11.11 17 0
495342 시게치 죽은 건 스탠드배틀 함 해본 거 탓인 듯ㅇㅇ.. SEELE갤로그로 이동합니다. 21.11.11 34 0
495341 샤니마스 등급표.jpg [4] ㅇㅇ(223.39) 21.11.11 85 0
495340 얻@ 저새끼 탈갤도 안하고 징들징글하네 [1] 삽치갤로그로 이동합니다. 21.11.11 35 0
495339 여우속 올라왔노;; (홈즈)갤로그로 이동합니다. 21.11.11 26 0
495338 아카데미 붐이 왔다는 거짓말에 또 속았구나 [1] Embrio갤로그로 이동합니다. 21.11.11 40 0
495337 티큐에 데드캣이 어디씀 ㅋㅋㅋㅋ [1] 13아해갤로그로 이동합니다. 21.11.11 36 0
495334 힘들다 ㄹㅇ ㅇㅇ(223.33) 21.11.11 23 0
495333 이게 섹스지 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ [2] 레헤갤로그로 이동합니다. 21.11.11 32 0
495331 이런 TS 어떰 [1] gozaus갤로그로 이동합니다. 21.11.11 28 1
495330 키라만큼 수동적인 악역 없었지않나 [1] 까름칙갤로그로 이동합니다. 21.11.11 43 0
495329 요즘 보일 때마다 눈쌀 찌푸리는 갤러 [2] 삽치갤로그로 이동합니다. 21.11.11 53 1
495328 근데 보니까 나 판갤에서만 치킨 8마리 타갔네 [3] 밀크커피갤로그로 이동합니다. 21.11.11 33 0
495327 불루아카 ㄹㅇ 오토 고증임 [1] 도도가마루갤로그로 이동합니다. 21.11.11 39 0
495326 님들님들 그거 아셈???? ㅇㅇ(106.101) 21.11.11 30 0
495321 나도 북부대공미소녀제독이 되고싶어 [2] (홈즈)갤로그로 이동합니다. 21.11.11 25 0
495320 나 디씨인데 키라 이새기 은근 근자감 오짐;; [2] 김해디씨갤로그로 이동합니다. 21.11.11 48 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2