C58

[물리엔진공부] 오일러-크로머 적분을 이용한 선형운동 시각화 이번에 저가 직접만든 자체게임엔진으로 처음 만들어본 물리 시뮬레이터는 제일 기초가되는 오일러-크로머 적분을 이용하여 만든 등가속도, 등속도운동 비교를 시각화했습니다. 극초반에는 등속도운동이 빠르다가, 점점 등가속도운동이 추월하는 모습.. 음... 이거 깃허브에 올려놓겠습니다. 소스보실분 보세요. (오픈소스임.) 아직은 물리엔진 제작 기초부분이라서 별대단한내용은 없습니당.. 다음번에는 Cannon(포탄발사)예제랑 포물선운동 예제만들어볼게요. 사실 Cannon예제는 이미 VPython에서 다 만들어놔서, 소스만 랩핑해서 옮기면됨~ Cannon예제는 좀 신기합니다. 기대해주세요 결과물은 이 부분입니당. https://github.com/orangelie/Physics-Modeling/tree/main/Phys.. 2022. 5. 28.
[물리엔진공부] 물리엔진을 위한 간단한 렌더링엔진 만들었습니다. 일단 이번에 물리시뮬 실습을 하는데, 저가 이전까지는 그냥 렌더링엔진 만들기귀찮아서, VPython으로 물리엔진공부했었는데, 이번에 아예 dx12기반으로 각잡고 만듦. 일단 이번에 만든 렌더링엔진의 주목적은, 물리엔진을 돌리는것과 간단하게 구현할수있어야하는것. 이기 때문에, 저는 진짜 엄청쉽게 만들수있도록 패턴을 설계함. 다음과같이 엄청간단히 위 게임을 만들수있었습니다. /* * * * Github: https://github.com/orangelie * // Copyright (C) 2022 by orangelie, Inc. All right reserved. * // MIT License * */ #include "SAMPLES/PhysicsEngine.h".. 2022. 5. 28.
c++17 | r-value를 l-value로 바꾸는 방법 안녕하세요! 이번에는 r-value를 l-value로 바꾸는 방법에 관하여 알아보겠습니다. 저가 이번에 그래픽공부를 하면서 진짜~~!! 엄청 많이 마주친 오류... 흠... 이 오류는 l-value가 있어야 할 자리에 r-value가 존재하기 때문이죠. l-value는 고유의 메모리주소를 참조할 수 있으며, r-value로도 치환이 가능하지만, 반대로 r-value는 불가능하죠... 그래서 생기는 문제입니다. 저는 이 문제를 그냥 고유의 메모리주소를 할당해주어 인스턴스 하나만들어가면서 고치고있었는데, 매번~ 이 오류뜰때마다 인스턴스만들기도 뭣하고.... "뭐 간단하게 바꿀수있는법 없나?" 라고 생각하면서 스택오버플로우를 탐방해보았습니다. 그리고.. 발견!! 이 방법이 진짜 간단해요. https://sta.. 2022. 1. 30.
주석(Comment) 강박증이 생겼다... 최근에 주석(Comment) 강박증이 생겼다... 뭔가 나만의 깔끔하고 독창적인 주석체계를 만들고싶다. 내가 최근에 아이디어를 내서 쓰고있는 주석문인데, 보기 되게 좋고 코드도 깔끔하게 보인다. 근데, 그냥 이렇게만 사용하면 안될것같다. 뭔가 설명, 함수파라미터, 클래스, 네임스페이스, 사용법 등등도 옵션처럼 주석에 끼워넣고싶다. 흠.... 이것도 연구해봐야겠다. 2021. 12. 25.
해킹도구 개발 | 리버스 쉘(Reverse shell) 이론및 개발실습 🔥 소개 안녕하세요! 이번에는 해킹도구 개발관련 카테고리가 개설된 후, 관련내용에 대한 첫번째 포스팅입니다! 이번 시간에는 리버스쉘(Reverse shell)에 관하여 포스팅하겠습니다. 🔥 리버스쉘(Reverse shell)이란? 공격자쪽에서 서버포트를 열고 공격대상쪽에서 접속하여 생성하는 쉘입니다. 연결이 설정되면 공격자가 공격 대상자의 컴퓨터에서 실행할 명령을 전송하고 결과를 가져올 수 있습니다. 이러한 이유로 모의해킹의 필수프로그램이 될 수 있었으며 원격으로 쉘을 생성할 때 이용됩니다. 리버스쉘(Reverse shell)이나 바인드쉘(Bind shell)을 실습할 수 있는 대표적인 사례로는 netcat이 있습니다. (해당 포스팅에서는 netcat같은 외부 툴의 의존없이 처음부터 끝까지 직접 다 만들.. 2021. 10. 19.
C++ | 문자열 안에서 특정 문자열 찾기 안녕하세요!! 이번에는 c++ 문자열 안에서 특정 문자열을 찾는 방법에 관하여 소스코드와 이론을 통하여 설명하겠습니다. 소스코드 #include #include #include std::vector findText(const std::string text, const std::string input){ std::vector result; std::size_t nPos = 0; for(;;){ nPos = text.find(input, nPos); // text[nPos]부터 input이라는 문자열을 찾는다 if( nPos != std::string::npos ) { // 만약 찾았다면 std::string subtext = text.substr(nPos, input.size()); // 문자열쪼개기 st.. 2021. 10. 17.
배열의 차원을 구하는 방법 C++ (강화버전) 안녕하세요!! 이번에는 저번에 배열의 차원의 찻수를 구하는 방법에 관하여 포스팅했습니다. 몇시간 더 삽질하면서, "벡터에 클래스가 들어와도 정상적으로 작동시킬수 없을까?"라는 생각이 들어서 강화버전을 준비했습니다. https://mawile.tistory.com/206 배열의 차원을 구하는 방법 C++ 우리는 흔히 배열의 크기를 구하고는 합니다. 예를들어서 이런식으로 말이죠.. int main() { int arr[5]; int size = sizeof(arr) / sizeof(arr[0]); } 하지만 ... 만약 아래 코드와 같은 5차원 배열이 존재할때,.. mawile.tistory.com 이번에는 저번에 만들었던 로직을 살짝수정하여 좀더 강력하게, 클래스가 와도 정상작동되게 수정했죠...훗.. #.. 2021. 10. 12.
배열의 차원을 구하는 방법 C++ [ 강화버전 ] https://mawile.tistory.com/207 배열의 차원을 구하는 방법 C++ (강화버전) 안녕하세요!! 이번에는 저번에 배열의 차원의 찻수를 구하는 방법에 관하여 포스팅했습니다. 몇시간 더 삽질하면서, "벡터에 클래스가 들어와도 정상적으로 작동시킬수 없을까?"라는 생각이 들 mawile.tistory.com 우리는 흔히 배열의 크기를 구하고는 합니다. 예를들어서 이런식으로 말이죠.. int main() { int arr[5]; int size = sizeof(arr) / sizeof(arr[0]); } 하지만 ... 만약 아래 코드와 같은 5차원 배열이 존재할때, 이 배열의 찻수인 "5"를 프로그램에게 알리려면... 즉, n차원 배열이 있다고할때, 프로그램에게 그 n차원 배열.. 2021. 10. 11.
소수점 반올림하는법 c++ 예를들어서, "0.00457"라는 수를 0.00460으로 반올림하고싶다. 그러면은 c++에서는 어떻게 해야할까..? 답은 간단하다. #include int main() { float fl = 0.00457f; std::cout 2021. 8. 14.
계산기 만들기 c++ 계산기 만들기에 대한 내용, 벨로그에 포스팅했습니다. 티스토리 접은건아닙니다!! 벨로그가 뭔가 디자인이 깔끔해서 포스팅할맛나긴하네요! :D https://velog.io/@dpmawile/calculator 계산기 만들기 c++ 계산기 만들기 velog.io 2021. 7. 13.
윈도우 콘솔디버깅 ( C++ / 20 ) 개발환경 >> Visual Studio 2022 Preview 언어 >> C++20에서 정상작동확인 운영체제 >> Windows10 home 안녕하세요!! 혹시 윈도우 애플리케이션 개발해보신분들중에서, 도중에 변수값을 확인하고싶은데 확인하는부분을 따로 만들기 귀찮으신분계신가요?? 윈도우 애플리케이션개발을 하다보면, 콘솔과는다르게 문자열값이 아닌값을 확인하려면 귀찮게 그부분도 따로 구현했어야됩니다.. 이번에는 윈도우 애플리케이션환경에서 콘솔환경에서의 디버깅을 쉽게 하도록하는 라이브러리를 만들었습니다. 솔직히 디버깅이라는거는 그냥 부주제로 써본것이고, 윈도우애플레케이션환경에서도 콘솔에다가 c++ 스탠다드 라이브러리인 iostream에 포함된 std::cout을 마음껏 사용할수있는 라이브러리를 만들어왔습니다... 2021. 7. 4.
DragonStream <v1.0.0> 라이브러리 개발일지 #0 개발환경 >> Visual Studio 언어 >> C++20이상 운영체제 >> Windows10 안녕하세요!! 이번에 진행할 프로젝트는 DragonStream 이라는 라이브러리제작입니다. 저가 저번에 개발하고 있던 DragonDB 라이브러리는 이 라이브러리에 일부로 들어갈 예정입니다!! mawile.tistory.com/129?category=959179 DragonDB - C++ 프로젝트 #1 근황 현재 제작진행중! 일부 소스코드 공개~~~ 아 참고로 현재만들고있는거는 서버와 데이터베이스구축을 도와주는 라이브러리 제작중입니다! 혹시 다 완성하고 어느정도 여유가있다면, http서버쪽도 mawile.tistory.com [ 주요 목적 ] 여러가지 스트림형성을 도와주는 라이브러리이다. 주로 다룰 스트림종류는.. 2021. 2. 27.
DrakkTcp/ip<ver1.0> 라이브러리 배포 개발환경 >> Visual Studio 언어 >> C++17이상 운영체제 >> Windows10 안녕하세요! 오랜만에 프로그래밍관련 글입니다..ㅋㅋ 소켓작업을 하다보면 처음 유니스소켓을 만들때마다 매우 쓰기가 귀찮습니다. 말그대로 귀차니즘땜에 만들어진 라이브러리입니다. 그래서 만들었습니다. 설명은 헤더파일 안에 모두 적어놨으며, 자세한 사용방법은 영상과 다운로드주소를 올려놓았습니다! [ 다운로드 ] 다운로드 DRAGONPROCESS/Drakktcpip-Socket-Network-Header Drakktcpip Socket Network Header. Contribute to DRAGONPROCESS/Drakktcpip-Socket-Network-Header development by creating an.. 2021. 2. 18.
웹페이지 이미지 크롤링 [ C++20 ] 개발환경 >> Visual Studio 언어 >> C++20 운영체제 >> Windows10 안녕하세요~!~!~!~!!! 이번에는 C++로 간단하게 웹페이지 이미지 크롤링 자동화를 만들어 보겠습니다. 우선 이번에 사용할 사이트는 pokemonkorea.co.kr/pokedex :::포켓몬 도감 포켓몬 도감::: pokemonkorea.co.kr 여기입니다. 그럼 시작해보겠습니다~!!! 우선 아래와같이 이미지를 정하고 위치를 찾습니다~ 저는 보니까... 포켓몬사진을 다 크롤링하고싶어요~! 다 가져올래요~ 이미지경로가 나올때까지 쭈우욱... 따라가줍니다! 그리고 이미지의 경로를 찾았습니다! 그럼 코드를 작성해보겠습니다~! {[ 소스코드 ]} #include #include #pragma comment(lib.. 2021. 1. 23.
#예고편# 자료구조 만들기 C++ [Dictionary] 안녕하세요. 예전에 Vector클래스 만든뒤로 자료구조 만들기시리즈는 포스팅이 뜸했죠?? 현재 Dictionary클래스 만드는중입니다. 아직 연구중이며, 추가한 함수들도 별로없어서 강좌글은 아직은 못올리구요,,, 이틀내로 올릴거긴하지만 현재진행중인 코드사진 몇장뿌릴게요! 사실 옛날에 Dictionary자료형 만들려다가 포기했었던적이 있었는데 오랜만에 도전하니까 만들수 있을것같습니다. 조금만 기다려주세요! (밑에 코드 사진있습니다.) 현재만든기능 생성자 키 추가 키 삭제 키,값 순서대로 출력 (값확인 테스트용입니다. 코딩끝내면 삭제할함수) 추가할 기능 소멸자 특정키의 값과 인덱스번호 찾기 특정값의 키와 인덱스번호 찾기 특정키의 값변경 특정키의 인덱스반환 =연산자추가 ==연산자추가 !=연산자추가 []연산자추.. 2021. 1. 18.