c++95

DirectX12에서 텍스트를 렌더링하는 2가지 방법 소개 안녕하세요. 오랜만에 강좌글이 돌아왔습니다 ..! 강좌라기보다는 방법론에 관한 글이라고 하는게 더 정확하겠군요. 이번 포스팅에서는 DirectX12에서 직접 사용자정의 폰트를 통한 텍스트를 출력하는 방법에 관하여 알아보겠습니다. 예를들어서 이런식으로요. 그러면.... 바로 시작하겠습니다..!! 1번째방법. 메쉬위에 텍셀좌표를 조절해서 그리기 이 방법은 우선, 직접 해야할것들이 많습니다. 대신 2번째방법보다 오버헤드가 훨씬 적으며, 좀더 세부적으로 글씨나 문자에 대하여 다룰수 있습니다. 이 방법은 우선 동적 정점버퍼를 가진 메쉬를 생성하는데에서 시작합니다. 1-1. 메쉬만들기 void BuildFont() { mFontData["original"] = TextFont::LoadFontData("fontda.. 2022. 8. 8.
방학에 할일 정리 해당 내용만 하자가 아니라, 최소 이거는 해놓자 입니다. [ 7월~8월 ] - Dx12 캐릭터 애니메이션 마무리 - DirectX12 UI & Font 프로젝트 완성시키기 : DirectX12기반으로 UI와 폰트 생성하는 프로젝트임. 이거 만들어놓으면 앞으로 Dx12게임엔진 만들때 매우 유용하게 사용될것임. Github주소 -> https://github.com/orangelie/Dx12UIFont.git GitHub - orangelie/Dx12UIFont: DirectX12-based user interface and font. DirectX12-based user interface and font. Contribute to orangelie/Dx12UIFont development by creati.. 2022. 7. 9.
사원수(Quaternion) 챕터 끝.... 사원수(Quaternion)을 이용한 키프레임 애니메이션 실습이 끝났습니다. 제 깃허브에도 커밋해놨습니다. 후.... 드디어... 대망의 마지막챕터인 "캐릭터 애니메이션"이 남았네요.. 이 챕터는 스키닝메시(skinned mesh)를 이용하는것같드라구요!! 아 참고로 주변광차폐는 좀 양이 많아서, 캐릭터애니메이션 끝내고 할예정!! 2022. 6. 29.
[물리엔진공부] 오일러-크로머 적분을 이용한 선형운동 시각화 이번에 저가 직접만든 자체게임엔진으로 처음 만들어본 물리 시뮬레이터는 제일 기초가되는 오일러-크로머 적분을 이용하여 만든 등가속도, 등속도운동 비교를 시각화했습니다. 극초반에는 등속도운동이 빠르다가, 점점 등가속도운동이 추월하는 모습.. 음... 이거 깃허브에 올려놓겠습니다. 소스보실분 보세요. (오픈소스임.) 아직은 물리엔진 제작 기초부분이라서 별대단한내용은 없습니당.. 다음번에는 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.
[DirectX12] 노말맵핑 끝~ 쉽게 노말맵핑 비교하는걸 사진으로 찍었어요. 왼쪽이 노말맵핑 적용안한거고, 오른쪽이 노말맵핑 적용한거입니다. 차이가 느껴지시나요? 살짝더 불룩 튀어나와보여지는게 느껴지네용.... 다음은 그림자맵핑..... 그림자맵핑 살짝 흝어봤는데... 좀 빡쎌듯.. 2022. 5. 20.
[DirectX12] CCTV감시카메라, 물리시뮬레이터 2탄 만들었습니다. 오늘은 졸린관계로.. 영상만 올리고 빠지겠습니다.. 우선 CCTV만들어본거예요. 엄청 귀차니즘이 심해서 그냥 x축으로 회전시킨 평면을 판으로씀 ㅋㅋㅋ,...(크흠..) 저거 중간에보면 cctv가 여러개의 씬으로 짤라져서 보이는데, 그거는 pass 늘리면 해결되는문제임니다. 이거 응용하면 드론구현하는것도 쌉가능 이거는 물리시뮬레이터예용. 그냥 기능은 공 부딫치면, 충돌처리하고, 반응만들기(무중력상태라고 가정) 여기에 중력이나 관성같은 저항, 힘들 추가하면 좀더 완성도있어보이겠죵..? 그리고 볼록거울 구현한 예제도 있는데, 지금 너무 졸려서 바이바이~ 끝 ! 2022. 5. 19.
[DirectX12] 동적입방체맵핑 마스터완료 동적 입방체맵핑 마스터 칸료....... 해골이 파란색구를 원운동하면서 실시간으로(동적으로) 파란구에 해골과 다른 오브젝트가 그려진다. 일단 이번 챕터는 버그가 너무 나서 포기할뻔했다.... 복잡하기도하고(그것도 매우 복잡)... 일단 rtv6개만들고 dsv하나더만들고 거기에 일반적인 환경맵도 그려야되서 srv 2개더만들고.... pass도 6개더만들고(환경맵6면 다그려야되서..) 하.......................... 진짜 이 챕터는 똥꼬쇼를 제일 많이한 ㅋㅋㅋㅋㅋ 챕터였다... 비용또한 엄청비싼비용을 가진 렌더링기술이였고,.... 해골이 동적으로 구에 비치는걸 표현하기위해 원운동을 인터넷에 참고하면서 구현했는데, 내가 구현한 원운동을 대략 이런식으로 파이썬에 그래프로 그려보았다. 파이썬 소.. 2022. 5. 16.
[ DirectX12 지형엔진 ] 일단 기본 프레임워크 제작끝.... 후.... 일단 기본적으로 dx11기반으로 진행하는 rastertek강의를 위한 dx12프레임워크 제작끝... 저가 대충 rastertek 지형엔진 강의 둘러봤는데, dx12로해도 상관없을것같음. 이번에 만든엔진은 책이나 인터넷안보고 아예 1부터 100까지 저의 머릿속내용으로만 코딩했어용. 실력좀 늘리려고 책이나 인터넷안보고 머릿속으로만 코딩해서 잘되가고 있는지는 모르겠네용... 그래도 아직까지는 오류없이 잘 동작하니까 굿..! 오늘한거 깃허브에 커밋하고 저는 잡니다.... 쓰으읍..하.... 다음은 그리드랑 카메라이동이네요... 카메라이동기법은 이미 알고있지만, rastertek강좌에서는 어떻게 구현하는지도 배울겸, 이부분은 그대로 rastetek강좌보면서하고, 그리드(Grid) 2022. 5. 4.
[DX12] 물리시뮬레이터 만들어봤습니다 !! 저가 몇달전부터 그래픽스를 공부해오며, 물리엔진에 관하여 관심이 쭈우욱 생겼습니다. 그래서 최근에 온라인서점으로 동역학책을 하나 주문해서 공부중이랍뉘다!! 동역학책에 있던 연습문제를 풀다가, 문뜩.. "이걸 내가 만든 렌더링엔진에다가 구현해보자!!!" 라는 생각이 들어서 바로 시도!! 결과는 매우 만족스럽네요 ㅋㅋ 기반은 DirectX12기반입뉘다. 사실 옆에 벽도설치하고, 바닥도설치하고 거기에 텍스쳐까지입혀서 실제감을 줄려고했는데, 귀차니즘이 또,,,ㅎㅎ,,,, 부정적분을 이용한 실시간 중력 수직낙하 시뮬레이터 우선 2가지 기능을 넣었어요. 1. 위치초기화: 해골의 위치와 중력가속도, 모든 알짜힘이 초기화된다. 2. 위로 던지는 힘 더하기: 위로 해골을 던지는 힘을 더한다. 2022. 4. 23.
계산셰이더 어렵다... 깊이스텐실버퍼쪽은 아무것도 아니였네... 스레드랑 스레드그룹에 관한 개념은 이해가 갔지만, 이번에 실습중인 프로젝트의 매커니즘자체가 이해가 안감.... 흠.... 내 능지.. 괜히 마음만 급하네...ㅠㅠ.. 휴우.... 되도록이면 동생생일에 다렉12로 생일선물 만들어주려고 살짝 급하게 공부중인데,,,, (동생생일 5월말) 허..... 가능..??할까...?그때까지 최소 입방체맵핑까지는 공부해둬야 좀 선물같은 선물이될텐데.... 괜히 급하게해서, 이론공부도 못하고, 동생 생일선물 완성도도 떨어질듯...ㅠㅠ 2022. 4. 1.
뭐지...? 왜이렇게 어렵지...? 현재 혼합을 모두 끝마치고, 깊이스텐실버퍼랑 그림자행렬 쪽 공부중인데.. 깊이스텐실버퍼+그림자행렬.... 개념이랑 이론 둘다 너무 어려운데 뭐..지....? 나중에 책 다 정독하고 한번더볼챕터가 늘었네요.. [ 나중에 책 다 정독하고 한번더 볼 챕터 ] dx12초기화 연습문제 안푼것들 마저풀기 빛 혼합 깊이스텐실 흠.... 빛이나 혼합도 이론자체는 이해했는데, 깊이스텐실 개념은 딱 와닿지않네요.. 뭐 계속 달려들다보면 시간이 해결해주겠죠... 2022. 3. 22.
DirectX12. 텍스쳐실습끝 혼합(blending)들어갑니다.....! 제목그대로 텍스쳐실습을 모두 맞추었습니다. 저기 네모난상자모형에 사용한 텍스쳐는 뭘까요?? 큭큭 몇주일~개월뒤에.. 공개합니다 ... (소소한 미래에 올릴 포스팅글의 떡밥) 힌트는 "원신 ㅋㄹㅌ ㅁㄷㅂㅇ에 사용할 텍스쳐" 입니다.. 드디어 텍스쳐단원을 탈출합니다...! 흠... 아직은 srv가 익숙치는 않아요. 하지만 dx12에서 어떤시스템으로 돌아가는지는 대충 알겠네요. 요약해서 여러개의 텍스쳐를 다루려면: 서술자힙 1개 만들고->서술테이블갯수를 렌더링할 텍스쳐갯수만큼 만들고, 셰이더에는 그냥 서술자힙의 갯수만큼만 Texture2D객체 올리면됨. 굿! 그리고, SamplerState객체는 Texture2D객체랑 아예 다르게관리함. 레지스터도 다르기때문에 그냥 별개의 메모리영역이라고 생각하면됨. 조만간 .. 2022. 3. 19.
DirectX11 공부 7주차. 멀티 텍스쳐링과 텍스쳐 배열 안녕하세요!! 오랜만에 dx11 공부가 돌아왔습니다. 저는 이제 dx12에서 텍스쳐를 거의끝마치고 혼합단계에 들어갑니다... 확실히 dx12로 텍스쳐 엄청 지지고볶고 dx11와서 공부하는데에... 와.. 이해가 너무 잘되더라구요. 예전같았으면은 그냥 그대로 따라했을텐데, 이번에는 대충 강좌글 흝어보고, 뚝딱뚝딱 알아서 만들어보았습니다. (사실 dx12만 보다가 dx11로 오랜만에 와서그런지 dx11초기화공정을 까먹어서 한번더 보고시작함. ㅎㅎ..) 일단 이번에 공부한 내용은 멀티텍스쳐링입니다. 여러개의 텍스쳐배열을 통해서 픽셀셰이더에서 텍스쳐배열로 불러온 텍스쳐들을 모두 합치는 기법이예요. 참고 https://www.rastertek.com/ RasterTek - DirectX 10, DirectX 11.. 2022. 3. 18.
Model loader(모델 불러오는 프로그램) 만들었습니다. 기반은 예전에 정육면체만들었던 프로젝트위에다가 만들었습니다. 깃허브에도 올려놨어욧~ https://github.com/orangelie/DirectX12Study/tree/main/4.%202022-03-03%20(Model_Renderer) GitHub - orangelie/DirectX12Study: DirectX 12 Study & Developing GameEngine Application(Platform). DirectX 12 Study & Developing GameEngine Application(Platform). - GitHub - orangelie/DirectX12Study: DirectX 12 Study & Developing GameEngine Application(Platform).. 2022. 3. 3.
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.
1부터 n사이의 홀수의 합을 O(1)로 구하는 방법 ( C++ 최적화 기법 ) 갑자기 생각나서 만들어보았습니다. 솔직히 for문으로 1부터 n까지 순회하면서 홀,짝수인지 판별하는것은 구현하기 매우 쉽죠. 하지만, 이랬을때 단점이 n의 수가 커질수록 그 연산시간은 n의 크기에 비례해서 증가한다는 점입니다. 우리는 n의 크기에 영향을 받지않고 항상 같은(짧은)속도로 연산을 하는 방법을 의논하는겁니다. 1부터 n까지의 홀수의 합을 O(1)로 구하는 방법#include using bint = std::int64_t; bint Get_1toN_in_O1(bint n){ bint ncore, ncycle, result; n -= (n & 1) ? 0 : 1; ncore = ((n + 1) >> 1); ncycle = (ncore >> 1); result = (ncycle * (n + 1)) .. 2022. 1. 22.
[UE4] 선형보간법(Linear Interpolation)을 이용하여 움직이는 객체를 만들자! 안녕하세요! 이번에 노트북 새로 장만한 기념으로 언리얼엔진을 공부하고있습니다. 앞으로는 자체엔진공부 & 언리얼엔진공부를 집중적으로 해보려구요!! [UE4] 선형보간법(Linear Interpolation)을 이용하여 움직이는 객체를 만들자! 선형 보간법(線型補間法, linear interpolation)은 끝점의 값이 주어졌을 때 그 사이에 위치한 값을 추정하기 위하여 직선 거리에 따라 선형적으로 계산하는 방법입니다. 만약에 이러한 상황이 있다고 가정해봅시다. 어떠한 정점A를 (10, 5)이라고 하고 어떠한 정점 B를 (-1, 0)라고 했을때, 일정한 속도로 A에서 B로가는데 5초가 걸렸다고 해봅시다. 그러면 1.7초가 걸렸을때는 어디에 위치할까요? 흠... 아무래도 선형보간법을 사용하지않고 암산으로 풀.. 2021. 12. 30.
윈도우 애플리케이션에서 콘솔 사용하는 법 윈도우 애플리케이션에서 콘솔 사용하는 법 오늘 게임엔진 공부하는데 하드웨어어댑터를 콘솔로 출력하고 싶어서 찾아봤는데, 이러한 내용이 있더라구요. https://stackoverflow.com/questions/587767/how-to-output-to-the-console-in-c-windows How to output to the console in C++/Windows When using iostream in C++ on Linux, it displays the program output in the terminal, but in Windows, it just saves the output to a stdout.txt file. How can I, in Windows, make the output a.. 2021. 12. 28.
주석(Comment) 강박증이 생겼다... 최근에 주석(Comment) 강박증이 생겼다... 뭔가 나만의 깔끔하고 독창적인 주석체계를 만들고싶다. 내가 최근에 아이디어를 내서 쓰고있는 주석문인데, 보기 되게 좋고 코드도 깔끔하게 보인다. 근데, 그냥 이렇게만 사용하면 안될것같다. 뭔가 설명, 함수파라미터, 클래스, 네임스페이스, 사용법 등등도 옵션처럼 주석에 끼워넣고싶다. 흠.... 이것도 연구해봐야겠다. 2021. 12. 25.
[C++/MSVC] 디버깅(Debugging) 강좌 (메모리 누수 방지) 해당강좌는 미완성강좌입니다. 완성될때까지 북마크하고 기다려주세요! 디버깅(Debugging) 강좌 안녕하세요! 이번 포스팅에서는 MSVC컴파일러에서 지원하는 디버깅 기능을 적극적으로 이용하여 저희가 직접 메모리에서 생겨나는 누수들을 탐지하고 디버그하는 내용을 알려드리겠습니다! 우선 시작하기 앞서서 목차를 확인하고 가시죠! 목차 1-1. Visual Studio 2022 Current (v143) 디버그 하는방법 1-2. 메모리 누수가 위험한 이유 2-1. _CrtDumpMemoryLeaks : 메모리누수를 방지하는 간단한 방법 2-2. _CrtSetReportMode : 메모리누수 보고를 설정하는 방법 2-3. 메모리누수를 탐지하고 통지하는 기능 만들기 2-4. MyCheckMemoryLeaks 클래스 .. 2021. 11. 25.
DirectX11 공부 5주차. 2D모델 렌더링 안녕하세요!! 이번에도 공부를 맞치고왔습니다~ 휴우~!! 이번에는 유니티, 언리얼, 코코스와 같은 상용엔진에서도 많이 사용한다는 스프라이트기능, 이펙트, UI와 같은 2D모델 렌더링에 관하여 공부하고왔습니다! 이번에 배운 내용을 요약하자면 깊이스텐실버퍼를 켜고끄는 방법, 동적으로 정점버퍼를 바꾸는 방법!! 이라고하면 좋겠네요~!! 참고 https://www.rastertek.com/ RasterTek - DirectX 10, DirectX 11, and DirectX 12 Tutorials The purpose of this website is to provide tutorials for graphics programming using DirectX 10, DirectX 11, and DirectX 12.. 2021. 11. 20.
DirectX11 공부 4주차. 정반사광, 인스턴싱 안녕하세요오오옷!! ㅠㅠㅠㅠ rastertek directx11 강좌사이트 끄적끄적해보다가... (빠밤..!!) 저가 매우 궁금해하던 인스턴스 구현에 관한 내용도 있더라구요!! ㅠㅠ 인스턴스 구현부분은 사실 rastertek에서 37번째에서 다뤄질 내용이였지만, 궁금증을 못참고 바로 임시로 건너뛰어버렸습니다.. "어떻게 하면 여러개의 도형을 그릴까?" 라는 궁금증이 사실 예전부터 있었습니다.. 흑... 그걸 달성!! 해서 기분좋네요. 물론 rastertek강의 그대로 따라하는건 저의 성미에 맞지않기때문에 또 저 맘대로 수정했습니다 ㅋㅋㅋ rastertek강의에서는 (5. 텍스쳐)에 관한 소스코드에 이어서 진행했지만, 저는 (10. 정반사광)로 이어서 진행했습니다. 왜냐하면 (5. 텍스쳐) 이부분은 아직3.. 2021. 11. 17.
DirectX11 공부 2주차. Directx초기화와 셰이더, 버퍼, HLSL 안녕하세요!! 이번에는 1주일동안 Directx11 더 공부하고왔습니다. Directx12는 Directx11기초부분 끝내고 시작해야될것같습니다. 자세히 봤는데 11과는 매우 다르더군요... 명령 목록이라느니 작업 표시줄이라느니.. 그래도 11보다는 더 효율적이라니까 반드시 12도 배워야겠습니다! 참고 참고한 사이트 RasterTek - DirectX 10, DirectX 11, and DirectX 12 Tutorials The purpose of this website is to provide tutorials for graphics programming using DirectX 10, DirectX 11, and DirectX 12. The DirectX tutorials are written us.. 2021. 11. 8.
0. [C/C++] 콘솔 텍스트 mmorpg 게임 강좌 샘플 제작 현황 WhiteSwordOnlineRPG 첫번째 현황 🆆🅷🅸🆃🅴 🆂🆆🅾🆁🅳 안녕하세요! 현재 2021년도의 겨울기념+블로그 방문자분들에게 감사함을 드리기 위해서, 이번에 기획하게 된 프로젝트입니다. 정식명칭은 WhiteSword Online RPG이며, 콘솔 텍스트기반의 온라인 mmorpg게임입니다. 공지사항을 올려드렸습니다. 못보신분들은 아래링크로 짤막하게 읽어주시면 좋겠습니다. https://mawile.tistory.com/notice/229 [공지사항] 2022 겨울에 진행할 프로그래밍 프로젝트 공지 2022 겨울에 진행할 프로그래밍 프로젝트 공지 이제 2021년의 끝이 다가오고있습니다! 아직까지는 가을날씨이긴하지만 이미 겨울이기도 하고, 12월달~2, 3월달 까지의 겨울기간동안 이번에 저희 블 mawile.tistory.com 우선 현.. 2021. 11. 7.
[임시중단] C++ UI/그래픽스 | 0. 시작하기및 윈도우생성 (GDI+무료강좌) 해당 포스팅은 임시중단되었습니다. 간단한 이유이지만 더욱 더 높은 퀄리티와 친절한 설명으로 돌아오겠습니다. 감사합니다! 안녕하세요! 원래는 UI/그래픽스시리즈는 파이썬으로만 진행할려고했는데, 국내자료중에서 c++ GDI+ 무료로 되어있는 관련자료가 찾아보니까 거의 안보이기도하고, 이렇게 된김에 유튜브에서도 GDI+강좌 진행중이니까, 블로그에서는 읽기형식의 자료형태로써 같이 사용해보겠습니다. 파이썬 UI/그래픽스는 해당 링크로 들어가시면 됩니다. 파이썬 UI/그래픽스 | 0. 라이브러리 설치및 시작하기 그래픽(Graphic)은 그리스어 낱말 γραφικός (그라피아)에서 온 것으로, 상품화, 정보 제공, 일러스트레이트, 엔터테인먼트를 위한, 벽, 캔버스, 컴퓨터 화면, 종이, 돌과 같은 어떠한 표면에 m.. 2021. 11. 1.
해킹도구 개발 | 리버스 쉘(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.
머신러닝 | 퍼셉트론(Perceptron) 이론과 실습 현재 머신러닝 분야에서 인공신경망의 근원이 되는 퍼셉트론(Perceptron)에 관하여 저가 개인적으로 공부한 내용을 바탕으로 포스팅을 진행하겠습니다. 퍼셉트론(Perceptron)은 프랑크 로젠블라트(Frank Rosenblatt)가 1957년에 제안한 초기 형태의 인공 신경망으로 다수의 입력으로부터 하나의 결과를 내보내는 알고리즘입니다. 퍼셉트론(Perceptron)은 위 사진처럼 여러 개의 입력값을 집어넣으면, 가중치와 편향에 의해서 새로운 결괏값으로써 변환되어 나옵니다. 가중치(w)는 입력 신호가 결과에 주는 영향력을 나타내며, 편향(b)은 뉴런이 얼마나 쉽게 활성화되느냐에 대한 수치입니다. 이 단순한 퍼셉트론의 활성화 함수는 다음과 같습니다. \( if \sum_i^n [x_{i} \cdot w.. 2021. 10. 15.
배열의 차원을 구하는 방법 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.