Program_Light
-
KMS14 : Python을 이용한 simple rotatable 3D 구현 프로그램Program_Light 2021. 11. 6. 13:00
이번에는 지난 포스팅을 발전시켜 구체를 형성하는 프로그램을 만들었습니다. 이 모델링 프로젝트의 최종 목표는 txt파일을 통해 원하는 도형을 직접 만들 수 있게 하는 것이지만, 일단은 프로젝트의 중간 프로젝트 느낌으로 구체 형상의 도형에 지구본 이미지를 입힐 수 있게 만들어보았습니다. 이후에 지구본에 특정 위치를 mapping 할 수 있는 기능을 추가할 생각입니다. consideration 참고로, 이 프로그램은 점을 A도 회전시킬 때 sinA + cosAi를 점에 곱하여 회전된 점의 좌표를 계산하는 방식을 취하고 있습니다. 또한, 모든 sin, cos함수는 degree각도를 사용합니다. (간지나고 표준적으로다가 원주각을 사용할려고 했는데, 그냥 degree로 했어요;;) sphere에 사용할 이미지가 소..
-
KMS14 : Python을 이용한 simple rotatable 3D 구현 프로그램 (source)Program_Light 2021. 10. 2. 13:00
이번에는 Python을 이용해서 간단한 회전 가능한 3D 체 모델링 프로그램을 만들어봤는데, 기능이 너무 조악해서 소올찍히 올릴지 말지 상당히 고민했습니다. 물론 지금 부족한 기능들은 모두 다음주에 추가해서 올릴 계획입니다. 지금 프로그램은 프로토? 라고 봐주세요 consideration 참고로, 이 프로그램은 점을 A도 회전시킬 때 sinA + cosAi를 점에 곱하여 회전된 점의 좌표를 계산하는 방식을 취하고 있습니다. 또한, 모든 sin, cos함수는 degree각도를 사용합니다. (간지나고 표준적으로다가 원주각을 사용할려고 했는데, 그냥 degree로 했어요;;) source source.py import tkinter import math import time import random # X c..
-
KMS13 : C++(Hurffman code)을 이용한 txt 파일 압축기 (source)Program_Light 2021. 9. 4. 13:00
이번에는 지난달에 올린 Huffman code를 이용한 영문 텍스트 파일을 모든 txt파일에서 사용할 수 있게 업그레이드 하는 동시에, 간단한 최적화를 진행해봤습니다. (물론 아직도 완벽한 최적화라 하기는 어렵지만요...) technonogy 지난 소스에서 사용한 최고의 기술은 huffman code의 string length만을 가지로 huffman code를 만들어내는 Binary tree를 기반으로 구현한, Huffman code length 만으로 코드를 복구하는 프로세스인데, 이 방식에 약간의 메모리 최적화를 진행했습니다. 지난 소스에서도 설명했듯 허프만 코드는 기본적으로 이진 트리 위에서 구현됩니다. 허프만 코드를 저장하는 이진 트리의 특징을 살려 코드의 길이만으로 코드를 최적화해내는 프로세스..
-
KMS13 : C++(Hurffman code)을 이용한영문 txt 파일 압축기 (source)Program_Light 2021. 8. 7. 13:00
이번 포스팅에 쓰인 프로그램은 사실 KMS프로그램에 속하지 않는 놈이었습니다. 국어 모의고사 지문에서 허프만 코드에 관한 설명이 나왔는데, 상당히 흥미롭더군요 (꼭 자기 분야가 아니면 흥미로움;;) 그래서 지문에 있던 내용을 기반으로 하여, 비효율적인 모든 부분들은 다 잘라내고 몇 가지 테크닉을 터 추가해서 코드를 짰습니다. 생각없이 이틀동안 두다다다 만들었는데, 예상 외로 결과가 뛰어나서 이렇게 KMS 13이라는 새로운 이름을 붙여 블로그에 내보내게 되었습니다. 개인적으로 C, algorithm, 암호화 이런것만 하고 C++은 vector나 priority_queue STL잠깐식 얹어 쓰는 상황이었는데, 이 프로그램을 개발하면서 대강 알고 있던 클래스를 사용했습니다. 물론 상속같은 것은 1도 없는 클래..
-
KMS12 : Python PyQt5를 이용한 줌 반자동 참가기 (source)Program_Light 2021. 7. 3. 13:00
지난번 만든 줌 반자동 참가기를 업그레이드 시켜 최종적으로 완성시켰습니다. 이전에 만든 줌 반자동 참가기 줌 반자동 참가기를 배포하고, 실제로 사용해보면서, 불편한 점들을 몇 가지 느꼈습니다. 우선, 그 날의 전체 시간표를 알 수 없다는 것입니다. UI는 간편할수록 좋다는 원칙에 따라서, 기존 줌 반자동 참가기는 그 시간대의 추천 과목만을 보여주었습니다. 즉, 그 날의 시간표는 알지 못했습니다. 실사용을 해보니, 이 부분은 상당히 불편한 부분이여서, 새 버전에는 그 날의 시간표또한 띄어지도록 만들었습니다. 두 번째로는, UI가 단색조라는 것입니다. 그래도 사용자가 사용하는 프로그램인 이상, UI에 신경을 쓰지 않을 수는 없었습니다. 과거 흑백의 UI를 가진 프로그램은 상당히 날것의 프로그램 느낌을 주어서..
-
KMS12 : Python PyQt5를 이용한 줌 반자동 참가기 (source)Program_Light 2021. 6. 5. 13:00
이번에 온라인 수업을 하게 되면서, 줌 방에 접속하기 위한 과정이 매우 불편하다는 것을 알아내었습니다. 매번 시간표 확인 -> ID, PW확인, -> 줌 실행 -> 접속은 너무 번거로운 과정이 아닙니까? 그래서 이번에는 실제로 실생활에 사용하기 위한 프로그램을 하나 만들어보았습니다. 원래 제 특기는 C이지만, 어렴풋이 친구에게 C언어로는 GUI하기가 빡세다는 말을 들어서, 파이썬을 새로 배웠습니다. 정식으로 파이썬을 배운적은 없지만 이전에도 파이썬을 이용해서 프로그램을 한 2번? 만들어 보았기 떄문에 그렇게 어렵지는 않았습니다. source,py (줌 초대 URL은 모두 정보 보호를 위해 바꾸었습니다) import datetime import sys import time import webbrowser ..
-
KMS11 : C language ECC 키 연산 결과 보고Program_Light 2021. 5. 1. 13:00
이 글이 공개되는 시점은 5월 초 쯤이겠지만, 이 글을 작성하는, 지금 2월 16일쯤에, ECC프로젝트를 적절히 테스트한 후 마무리 하기로 하였다. 개인적으로 몽고메리를 구현해보고자 하는 욕심이 있었지만, 그럴려면 Divide와 powMod연산을 다 갈아엎어야 해서... 이제 새로 시작되는 고등학교 생활을 위해 접어두기로 했다. 물론 시간이 많이 나게 된다면, 그때 구현할 의향은 있다, 작년 7월쯤에 RSA끝나고 시작해서 2월까지 왔으니 8개월쯤 한 셈이다;; RSA구현할 때 보다 거의 1.6배가 걸렸다. (물론 마지막 한달간은 간단한 최적화만 했지만) 개인이 혼자 하는 프로젝트라서 특히 초반 자료조사가 힘들었다. 특히 타원곡선 자료들 긁어오는게 너무 힘들었다. 많은 것을 공개하지는 못하지만, 표준 타원..
-
KMS11 : C language ECC 키 연산 중간 보고(4 - 0.0.2)Program_Light 2021. 4. 24. 13:00
지난번에 개발하던 RSA알고리즘을 거의 마무리 짓고 ECC 알고리즘을 개발하여, 프로그램이 입력값에 따라 계산을 하고 그 결과를 확인할 수 있는 수준까지 개발하였다. 아직 완벽한 단계는 아니며, 약 30%까지 개발했다고 할 수 있다. 최근 세 달 정도 ECC제작을 핑계로 포스팅을 잘 하지 않았다.(+기말고사, NYPC, KOI) 사실상 블로그 조회수의 대부분은 그나마 덜 마이너한 이진법 암호가 모두 책임지고 있지만 활동은 안해서인지 유입량이 줄었다. 조회수 늘어난다고 딱히 쓸 곳은 없지만 개인적으로 참 아쉬운 기분이다. 게임에서 골드 빼았기는 기분이 이런건가. * 이 글은 2020.10.31에 작성된 제작자의 네이버 블로그 글입니다. 결론적으로 말하자면 세 달을 투자한 것에 비해 결과가 좋지 못하게 ..